diff --git a/Gemfile b/Gemfile deleted file mode 100644 index ae4e0259..00000000 --- a/Gemfile +++ /dev/null @@ -1,16 +0,0 @@ -source 'https://rubygems.org' - -ruby '2.1.1' - -gem 'sinatra', '~> 1.4.3' -gem 'sinatra-contrib', '~> 1.4.1' -gem 'kss', '~> 0.5.0' -gem 'thin', '~> 1.6.0' - -gem 'scss-lint', '0.15.0' - -group :development do - gem "pry" - gem "pry-nav" -end - diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 59368bfd..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,66 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - backports (3.4.0) - coderay (1.1.0) - colorize (0.5.8) - daemons (1.1.9) - eventmachine (1.0.3) - ffi (1.9.3) - kss (0.5.0) - listen (1.1.6) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9) - rb-kqueue (>= 0.2) - method_source (0.8.2) - multi_json (1.8.2) - pry (0.9.12.4) - coderay (~> 1.0) - method_source (~> 0.8) - slop (~> 3.4) - pry-nav (0.2.3) - pry (~> 0.9.10) - rack (1.5.2) - rack-protection (1.5.1) - rack - rack-test (0.6.2) - rack (>= 1.0) - rb-fsevent (0.9.4) - rb-inotify (0.9.3) - ffi (>= 0.5.0) - rb-kqueue (0.2.0) - ffi (>= 0.5.0) - sass (3.3.0.rc.1) - listen (~> 1.1.0) - scss-lint (0.15.0) - colorize (= 0.5.8) - sass (= 3.3.0.rc.1) - sinatra (1.4.4) - rack (~> 1.4) - rack-protection (~> 1.4) - tilt (~> 1.3, >= 1.3.4) - sinatra-contrib (1.4.2) - backports (>= 2.0) - multi_json - rack-protection - rack-test - sinatra (~> 1.4.0) - tilt (~> 1.3) - slop (3.4.7) - thin (1.6.1) - daemons (>= 1.0.9) - eventmachine (>= 1.0.0) - rack (>= 1.0.0) - tilt (1.4.1) - -PLATFORMS - ruby - -DEPENDENCIES - kss (~> 0.5.0) - pry - pry-nav - scss-lint (= 0.15.0) - sinatra (~> 1.4.3) - sinatra-contrib (~> 1.4.1) - thin (~> 1.6.0) diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 701483b4..00000000 --- a/Gruntfile.js +++ /dev/null @@ -1,17 +0,0 @@ -/* jshint node:true */ -"use strict"; - -module.exports = function(grunt) { - // Load tasks from `/tasks` - grunt.loadTasks('tasks'); - - // Load plugin configuration from `tasks/options`. - require('load-grunt-config')(grunt, { - configPath: require('path').join(process.cwd(), 'tasks/options'), - init: true, - config: { - pkg: grunt.file.readJSON("package.json") - } - }); -}; - diff --git a/Procfile b/Procfile deleted file mode 100644 index 3e0040e1..00000000 --- a/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: bundle exec thin -R config.ru start -p $PORT -e $RACK_ENV diff --git a/amd.js b/amd.js deleted file mode 100644 index 5a4f0002..00000000 --- a/amd.js +++ /dev/null @@ -1,5 +0,0 @@ -// Export Neue as an AMD module - -if ( typeof define === "function" && define.amd ) { - define( ["jquery"], function ($) { return NEUE; } ); -} diff --git a/app.rb b/app.rb deleted file mode 100644 index 26925467..00000000 --- a/app.rb +++ /dev/null @@ -1,66 +0,0 @@ -require 'sinatra' -require 'sinatra/content_for' -require 'kss' - -set :public_folder, Proc.new { File.join(root, "dist") } - -get '/' do - @styleguide = Kss::Parser.new('scss/') - erb :styleguide -end - -get '/example/*.html' do - send_file "views/examples/#{params[:splat].first}.html" -end - -get '/example/*' do - render_layout -end - -helpers do - # Layout Handling (parse path and serve proper layout) - def render_layout - splat = params[:splat][0] - render :erb, :"examples/#{splat}", layout: :drupal_layout - end - - # Generates a styleguide block. A little bit evil with @_out_buf, but - # if you're using something like Rails, you can write a much cleaner helper - # very easily. - def styleguide_block(section, &block) - @section = @styleguide.section(section) - @example_html = capture{ block.call } - @escaped_html = ERB::Util.html_escape @example_html - @_out_buf << erb(:_styleguide_block) - end - - def styleguide_block_without_preview(section, &block) - @section = @styleguide.section(section) - @example_html = capture{ block.call } - @escaped_html = ERB::Util.html_escape @example_html - @_out_buf << erb(:_styleguide_block_without_preview) - end - - def styleguide_block_without_modifiers(section, &block) - @section = @styleguide.section(section) - @example_html = capture{ block.call } - @escaped_html = ERB::Util.html_escape @example_html - @_out_buf << erb(:_styleguide_block_without_modifiers) - end - - def styleguide_block_custom_example(section) - @section = @styleguide.section(section) - @_out_buf << erb(:_styleguide_block_custom_example) - end - - # Captures the result of a block within an erb template without spitting it - # to the output buffer. - def capture(&block) - out, @_out_buf = @_out_buf, "" - yield - @_out_buf - ensure - @_out_buf = out - end -end - diff --git a/assets/fonts/covered-grace/CoveredGrace-Regular.eot b/assets/fonts/covered-grace/CoveredGrace-Regular.eot old mode 100755 new mode 100644 diff --git a/assets/fonts/covered-grace/CoveredGrace-Regular.svg b/assets/fonts/covered-grace/CoveredGrace-Regular.svg old mode 100755 new mode 100644 diff --git a/assets/fonts/covered-grace/CoveredGrace-Regular.ttf b/assets/fonts/covered-grace/CoveredGrace-Regular.ttf old mode 100755 new mode 100644 diff --git a/assets/fonts/covered-grace/CoveredGrace-Regular.woff b/assets/fonts/covered-grace/CoveredGrace-Regular.woff old mode 100755 new mode 100644 diff --git a/assets/fonts/icomoon/icomoon.eot b/assets/fonts/icomoon/icomoon.eot old mode 100755 new mode 100644 diff --git a/assets/fonts/icomoon/icomoon.svg b/assets/fonts/icomoon/icomoon.svg old mode 100755 new mode 100644 diff --git a/assets/fonts/icomoon/icomoon.ttf b/assets/fonts/icomoon/icomoon.ttf old mode 100755 new mode 100644 diff --git a/assets/fonts/icomoon/icomoon.woff b/assets/fonts/icomoon/icomoon.woff old mode 100755 new mode 100644 diff --git a/config.ru b/config.ru deleted file mode 100644 index 785bf5cf..00000000 --- a/config.ru +++ /dev/null @@ -1,2 +0,0 @@ -require './app' -run Sinatra::Application \ No newline at end of file diff --git a/ie.css b/ie.css new file mode 100644 index 00000000..c43db441 --- /dev/null +++ b/ie.css @@ -0,0 +1 @@ +form.search input[type=search]{color:#444;padding-top:8px;padding-bottom:6px;background:#999 url(images/search.png) no-repeat 12px 6px}form.search input[type=search]:hover{background-position:12px -21px}form.search input[type=search]:focus{background-position:12px 6px}.timeline li:before{display:none} \ No newline at end of file diff --git a/neue.css b/neue.css new file mode 100644 index 00000000..63fd4a34 --- /dev/null +++ b/neue.css @@ -0,0 +1 @@ +@font-face{font-family:"Proxima Nova";font-weight:400;src:url(assets/fonts/proxima-nova/ProximaNova-Regular.eot);src:url(assets/fonts/proxima-nova/ProximaNova-Regular.eot?) format("eot"),url(assets/fonts/proxima-nova/ProximaNova-Regular.woff) format("woff")}@font-face{font-family:"Proxima Nova";font-weight:600;src:url(assets/fonts/proxima-nova/ProximaNova-SBold.eot);src:url(assets/fonts/proxima-nova/ProximaNova-SBold.eot?) format("eot"),url(assets/fonts/proxima-nova/ProximaNova-SBold.woff) format("woff")}@font-face{font-family:"Proxima Nova";font-weight:700;src:url(assets/fonts/proxima-nova/ProximaNova-Bold.eot);src:url(assets/fonts/proxima-nova/ProximaNova-Bold.eot?) format("eot"),url(assets/fonts/proxima-nova/ProximaNova-Bold.woff) format("woff")}@font-face{font-family:CoveredGrace;src:url(assets/fonts/covered-grace/CoveredGrace-Regular.eot);src:url(assets/fonts/covered-grace/CoveredGrace-Regular.eot?#iefix) format('embedded-opentype'),url(assets/fonts/covered-grace/CoveredGrace-Regular.woff) format('woff'),url(assets/fonts/covered-grace/CoveredGrace-Regular.ttf) format('truetype');font-style:normal;font-weight:400}@font-face{font-family:icomoon;src:url(assets/fonts/icomoon/icomoon.eot?1);src:url(assets/fonts/icomoon/icomoon.eot?1#iefix) format("embedded-opentype"),url(assets/fonts/icomoon/icomoon.ttf?1) format("truetype"),url(assets/fonts/icomoon/icomoon.woff?1) format("woff"),url(assets/fonts/icomoon/icomoon.svg?1#icomoon) format("svg");font-weight:400;font-style:normal}.icon-pencil:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e600"}.icon-lock:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e601"}.icon-search:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e602"}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:18px;background:#ddd}body{width:100%;max-width:1440px;background:#fff;color:#444;font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;margin:0 auto;box-shadow:0 0 10px rgba(0,0,0,.5)}h1,h2,h3,h4{clear:both;font-weight:700;margin:1.5rem 0}h1.banner,h2.banner,h3.banner,h4.banner{background:#000;color:#fff;line-height:1.5;text-transform:uppercase;padding:.75rem 1.25rem}h1,h2{color:#4e2b63}h3,h4{color:#444}h1{font-size:3rem}h1.hero{font-size:4rem}h2{font-size:1.75rem}h3{font-size:1.25rem;font-weight:600}h4{color:#444;font-size:1rem;font-weight:600;margin:1.5rem 0 .5rem}ul{list-style-type:disc;padding-left:2em}ol{list-style-type:decimal;padding-left:2em}p{font-size:1rem;color:#444;margin:0 0 1.5rem}small{font-size:.75rem;margin:0 0 1.5rem}a{color:#23b7fb;font-weight:600;text-decoration:none}a:hover{color:#55cafc;text-decoration:underline}a:active{color:#04a3e7}a.secondary{color:#999;font-weight:400;text-decoration:underline}b,strong{font-weight:600}em{font-style:italic}mark{background:#fdfbbd}code{font-family:Menlo,Consolas,"Courier New",serif;font-weight:700;font-size:.8em}sup{display:inline-block;position:relative;top:-.4rem;font-size:.6em;padding:0}.chrome--nav{display:block;width:100%;margin-bottom:2rem;overflow:hidden}@media screen and (max-width:768px){body .chrome--nav.is-visible{display:block;position:fixed;top:0;width:100%;height:100%;background:#222;z-index:9997}body .chrome--nav.is-visible .menu{clear:both;display:block;position:static;width:auto;height:auto;background:0 0;margin-top:4rem}@media screen and (min-device-height:960px){body .chrome--nav.is-visible .menu{margin-top:5rem}}body .chrome--nav.is-visible .hamburger{color:#fff}}@media screen and (min-width:768px){.chrome--nav{padding:1rem 0}}.chrome--nav .logo{float:left;padding:.5rem}@media screen and (min-width:768px){.chrome--nav .logo{position:static;min-width:96px;padding:0 1rem;text-align:center;float:left;display:block;margin-right:2.22222%;width:10.55556%}.chrome--nav .logo:last-child{margin-right:0}}.chrome--nav .logo img{width:80px;height:70px}.chrome--nav .hamburger{float:right;color:#222;font-size:32px;text-decoration:none;margin:.5rem;padding:1rem .5rem;font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (min-width:768px){.chrome--nav .hamburger{display:none}}.chrome--nav .menu{display:none}@media screen and (min-width:768px){.chrome--nav .menu{display:block}}.chrome--nav .primary-nav{list-style-type:none;padding:0}.chrome--nav .primary-nav li{line-height:1.4;font-size:1rem;text-align:center;padding:1rem 0}@media screen and (min-device-height:960px){.chrome--nav .primary-nav li{padding:.75rem 0}}@media screen and (min-width:768px){.chrome--nav .primary-nav li{float:left;display:block;text-align:left;margin:0 3.5% 0 0;padding:1.25rem 0;border-bottom:0}}@media screen and (min-width:1080px){.chrome--nav .primary-nav li{padding:.75rem 0;margin:0 5% 0 0}}.chrome--nav .primary-nav a{display:block;color:#fff;text-decoration:none}@media screen and (min-width:768px){.chrome--nav .primary-nav a{color:#222}}.chrome--nav .primary-nav strong{display:block;font-size:1rem}@media screen and (min-width:768px){.chrome--nav .primary-nav strong>span{display:none}}@media screen and (min-width:1080px){.chrome--nav .primary-nav strong>span{display:inline;font-size:1rem}}.chrome--nav .primary-nav span{font-size:.6rem}@media screen and (min-width:768px){.chrome--nav .primary-nav span{display:none}}@media screen and (min-width:1080px){.chrome--nav .primary-nav span{display:block}}.chrome--nav .secondary-nav{position:fixed;bottom:0;width:100%;margin-right:1rem}@media screen and (min-width:768px){.chrome--nav .secondary-nav{position:static;float:right;width:auto}}.chrome--nav .secondary-nav ul{display:block;list-style-type:none;overflow:hidden;padding:0}.chrome--nav .secondary-nav li{line-height:1.4;font-size:1rem;text-align:center;padding:1.5rem 0;box-sizing:border-box}@media screen and (min-width:768px){.chrome--nav .secondary-nav li{float:left;display:block;text-align:left;padding:.75rem 0;border-bottom:0}}@media screen and (min-width:1080px){.chrome--nav .secondary-nav li{padding:.75rem 0}}.chrome--nav .secondary-nav .searchfield{padding-right:.5rem}.chrome--nav .secondary-nav input[type=search]{margin:.2rem 0;padding-top:.3rem;padding-bottom:.3rem;background-image:url(assets/images/search_dark.png);-webkit-transition:width .5s;-moz-transition:width .5s;transition:width .5s}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (-o-min-device-pixel-ratio:1.3/1),only screen and (min-resolution:125dpi),only screen and (min-resolution:1.3dppx){.chrome--nav .secondary-nav input[type=search]{background-image:url(/assets/images/search_dark@2x.png)}}@media screen and (min-width:768px){.chrome--nav .secondary-nav input[type=search]{width:110px;border:1px solid #222;background-color:transparent}}@media screen and (min-width:1080px){.chrome--nav .secondary-nav input[type=search]{width:200px}}.chrome--nav .secondary-nav a{display:block;color:#fff;font-weight:700;text-decoration:none;padding:.5rem .75rem}@media screen and (min-width:768px){.chrome--nav .secondary-nav a{color:#222}}@media screen and (min-width:768px){.chrome--nav .secondary-nav .account>a{position:relative}.chrome--nav .secondary-nav .account>a:after{background-color:#fff;content:'';height:1rem;margin-top:-.5rem;position:absolute;right:0;top:50%;width:1px}}.chrome--wrapper{position:relative;display:block;width:100%}.chrome--footer{display:block;width:100%;background:#000;margin:0 auto}@media screen and (min-width:768px){.chrome--footer{padding:1rem}}.chrome--footer h4{position:relative;color:#fff;padding:0 1rem;margin:0;cursor:pointer}.chrome--footer h4:after{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e609";color:#999;font-size:32px;position:absolute;right:.25rem;top:-.2rem;-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform;-webkit-transition-duration:.25s;-moz-transition-duration:.25s;transition-duration:.25s}@media screen and (min-width:768px){.chrome--footer h4{cursor:auto;margin:1rem 0 .5rem;padding:0}.chrome--footer h4:after{content:""}}.chrome--footer ul{height:auto;list-style-type:none;padding:.25rem;-webkit-transition:height .25s,padding .5s;-moz-transition:height .25s,padding .5s;transition:height .25s,padding .5s}@media screen and (min-width:768px){.chrome--footer ul{padding:0}}.chrome--footer li{line-height:1rem;margin-bottom:.25rem}.chrome--footer a{display:block;color:#ddd;font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.9rem;text-decoration:none;padding:.25rem .75rem}.chrome--footer a:hover{color:#fff;text-decoration:underline}@media screen and (min-width:768px){.chrome--footer a{padding:0}}.col{padding:.5rem 0}@media screen and (min-width:768px){.col{float:left;display:block;margin-right:2.22222%;width:16.94444%;margin-bottom:2rem}.col:last-child{margin-right:0}}.col.is-collapsed h4:after{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.col.is-collapsed ul{overflow:hidden;padding:0 .25rem;height:0}@media screen and (min-width:768px){.col.is-collapsed h4:after{content:""}.col.is-collapsed ul{height:auto;padding:0;-webkit-transition:none;-moz-transition:none;transition:none}}.about,.help,.knowus{border-top:1px solid #444}@media screen and (min-width:768px){.about,.help,.knowus{border-top:0;border-bottom:0}}.about{border-bottom:1px solid #444}@media screen and (min-width:768px){.about{border-bottom:0;margin-right:0}}.social{text-align:center}.social.mobile{padding:.5rem 0}@media screen and (min-width:768px){.social.mobile{display:none}}.social.tablet{display:none}@media screen and (min-width:768px){.social.tablet{display:block}}@media screen and (min-width:768px){.social{border-top:0;margin-top:1.65rem;text-align:left;float:left;display:block;margin-right:2.22222%;width:42.5%}.social:last-child{margin-right:0}}.social li{display:inline-block;margin-right:0}@media screen and (min-width:768px){.social li{margin-right:16px}}.social .social-link{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:24px;color:#999;text-decoration:none}.social .social-link:hover{color:#ddd;text-decoration:none}.subfooter{clear:both;font-size:.75rem;border-top:1px solid #444;padding:.5rem 0;*zoom:1;display:block}.subfooter:after,.subfooter:before{content:" ";display:table}.subfooter:after{clear:both}.subfooter a{display:inline;color:#999;font-size:1em}.subfooter .utility{text-align:center;list-style-type:none}@media screen and (min-width:768px){.subfooter .utility{float:right;text-align:left;margin-right:.75rem}}.subfooter .utility li{display:inline}.subfooter .utility a{margin:0 .5rem}@media screen and (min-width:768px){.subfooter .utility a{margin:0 1rem 0 0}}.page{margin-bottom:3rem}@media screen and (min-width:768px){.page{float:left;display:block;margin-right:2.22222%;width:74.44444%;margin-left:12.77778%}.page:last-child{margin-right:0}}.sidebar{margin-top:4rem;margin-bottom:3rem}@media screen and (min-width:768px){.sidebar{float:left;display:block;width:16.94444%;margin-right:0}.sidebar:last-child{margin-right:0}.sidebar nav.is-stuck{position:fixed;top:0}}.sidebar-content{margin-top:0;margin-bottom:3rem}@media screen and (min-width:768px){.sidebar-content{margin-left:12.77778%;float:left;display:block;margin-right:2.22222%;width:61.66667%}.sidebar-content:last-child{margin-right:0}}.fade-in,.fade-in-up,.fade-out,.fade-out-down,.rotation,.shake,.tada,.wobble{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;animation-duration:.5s}.fade-in{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fade-in-up{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.fade-out{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-o-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fade-out-down{-webkit-animation-name:fadeOutDown;-moz-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@-moz-keyframes fadeOutDown{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px)}}@-o-keyframes fadeOutDown{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.tada{-webkit-animation-name:tada;-moz-animation-name:tada;animation-name:tada}@-webkit-keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}@-o-keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.wobble{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s;-webkit-animation-name:wobble;-moz-animation-name:wobble;animation-name:wobble}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0)}15%{-webkit-transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0)}15%{-moz-transform:translateX(-25%) rotate(-5deg)}30%{-moz-transform:translateX(20%) rotate(3deg)}45%{-moz-transform:translateX(-15%) rotate(-3deg)}60%{-moz-transform:translateX(10%) rotate(2deg)}75%{-moz-transform:translateX(-5%) rotate(-1deg)}100%{-moz-transform:translateX(0)}}@-o-keyframes wobble{0%{-o-transform:translateX(0)}15%{-o-transform:translateX(-25%) rotate(-5deg)}30%{-o-transform:translateX(20%) rotate(3deg)}45%{-o-transform:translateX(-15%) rotate(-3deg)}60%{-o-transform:translateX(10%) rotate(2deg)}75%{-o-transform:translateX(-5%) rotate(-1deg)}100%{-o-transform:translateX(0)}}@keyframes wobble{0%{transform:translateX(0)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}100%{transform:translateX(0)}}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s;-webkit-animation-name:shake;-moz-animation-name:shake;animation-name:shake}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@-moz-keyframes rotation{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(359deg)}}@-o-keyframes rotation{from{-o-transform:rotate(0)}to{-o-transform:rotate(359deg)}}@keyframes rotation{from{transform:rotate(0)}to{transform:rotate(359deg)}}.rotation{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s;-webkit-animation-name:rotation;-moz-animation-name:rotation;animation-name:rotation}body.show-visual-grid:before{content:'';display:inline-block;background-image:deprecated-webkit-gradient(linear,left top,left bottom,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-moz-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-ms-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);height:100%;left:0;margin:0 auto;max-width:1440px;opacity:.4;position:fixed;right:0;width:100%;pointer-events:none;z-index:9999}@media screen and (max-width:768px){body.show-visual-grid:before{background-image:deprecated-webkit-gradient(linear,left top,left bottom,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-moz-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-ms-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 8.52273%,rgba(0,0,0,0) 8.52273%,rgba(0,0,0,0) 13.06818%,#fcc 13.06818%,#fcc 21.59091%,rgba(0,0,0,0) 21.59091%,rgba(0,0,0,0) 26.13636%,#fcc 26.13636%,#fcc 34.65909%,rgba(0,0,0,0) 34.65909%,rgba(0,0,0,0) 39.20455%,#fcc 39.20455%,#fcc 47.72727%,rgba(0,0,0,0) 47.72727%,rgba(0,0,0,0) 52.27273%,#fcc 52.27273%,#fcc 60.79545%,rgba(0,0,0,0) 60.79545%,rgba(0,0,0,0) 65.34091%,#fcc 65.34091%,#fcc 73.86364%,rgba(0,0,0,0) 73.86364%,rgba(0,0,0,0) 78.40909%,#fcc 78.40909%,#fcc 86.93182%,rgba(0,0,0,0) 86.93182%,rgba(0,0,0,0) 91.47727%,#fcc 91.47727%,#fcc 100%,rgba(0,0,0,0) 100%)}}@media screen and (min-width:768px){body.show-visual-grid:before{background-image:deprecated-webkit-gradient(linear,left top,left bottom,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-moz-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-ms-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%)}}@media screen and (min-width:1080px){body.show-visual-grid:before{background-image:deprecated-webkit-gradient(linear,left top,left bottom,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-moz-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-ms-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%);background-image:linear-gradient(left,rgba(0,0,0,0) 0,#fcc 0,#fcc 4.16667%,rgba(0,0,0,0) 4.16667%,rgba(0,0,0,0) 6.38889%,#fcc 6.38889%,#fcc 10.55556%,rgba(0,0,0,0) 10.55556%,rgba(0,0,0,0) 12.77778%,#fcc 12.77778%,#fcc 16.94444%,rgba(0,0,0,0) 16.94444%,rgba(0,0,0,0) 19.16667%,#fcc 19.16667%,#fcc 23.33333%,rgba(0,0,0,0) 23.33333%,rgba(0,0,0,0) 25.55556%,#fcc 25.55556%,#fcc 29.72222%,rgba(0,0,0,0) 29.72222%,rgba(0,0,0,0) 31.94444%,#fcc 31.94444%,#fcc 36.11111%,rgba(0,0,0,0) 36.11111%,rgba(0,0,0,0) 38.33333%,#fcc 38.33333%,#fcc 42.5%,rgba(0,0,0,0) 42.5%,rgba(0,0,0,0) 44.72222%,#fcc 44.72222%,#fcc 48.88889%,rgba(0,0,0,0) 48.88889%,rgba(0,0,0,0) 51.11111%,#fcc 51.11111%,#fcc 55.27778%,rgba(0,0,0,0) 55.27778%,rgba(0,0,0,0) 57.5%,#fcc 57.5%,#fcc 61.66667%,rgba(0,0,0,0) 61.66667%,rgba(0,0,0,0) 63.88889%,#fcc 63.88889%,#fcc 68.05556%,rgba(0,0,0,0) 68.05556%,rgba(0,0,0,0) 70.27778%,#fcc 70.27778%,#fcc 74.44444%,rgba(0,0,0,0) 74.44444%,rgba(0,0,0,0) 76.66667%,#fcc 76.66667%,#fcc 80.83333%,rgba(0,0,0,0) 80.83333%,rgba(0,0,0,0) 83.05556%,#fcc 83.05556%,#fcc 87.22222%,rgba(0,0,0,0) 87.22222%,rgba(0,0,0,0) 89.44444%,#fcc 89.44444%,#fcc 93.61111%,rgba(0,0,0,0) 93.61111%,rgba(0,0,0,0) 95.83333%,#fcc 95.83333%,#fcc 100%,rgba(0,0,0,0) 100%)}}label{float:left;clear:both;width:100%;font-size:.9rem;font-weight:600;margin:1em 0 .25em;height:1.5em;overflow:hidden}label .inner-label{position:relative;-webkit-transition:top .5s;-moz-transition:top .5s;transition:top .5s}label.show-message .inner-label{top:-1.5em}label em{font-style:normal;color:#999}label .message.error{color:#ff4747}label .message.success,label .message.warning{color:#4e2b63}input[type=password],input[type=search],input[type=text]{width:100%;font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;border:1px solid #ddd;border-radius:5px;padding:.5em 1em;margin:0 0 .5em;-webkit-transition:border .5s;-moz-transition:border .5s;transition:border .5s;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=password]:focus,input[type=search]:focus,input[type=text]:focus{outline:0;border:1px solid #23b7fb;box-shadow:0 0 3px #23b7fb}input[type=password].short,input[type=search].short,input[type=text].short{max-width:80px}input[type=password].medium,input[type=search].medium,input[type=text].medium{max-width:200px}input[type=password].error,input[type=search].error,input[type=text].error{border-color:#ff4747}input[type=search]{padding-left:32px;background:#fff no-repeat 12px 50%;background-image:url(assets/images/search.png)}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (-o-min-device-pixel-ratio:1.3/1),only screen and (min-resolution:125dpi),only screen and (min-resolution:1.3dppx){input[type=search]{background-image:url(assets/images/search@2x.png);background-size:18px 18px}}textarea{width:100%;font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;border:1px solid #ddd;border-radius:5px;padding:.5em 1em .3em;margin:0 0 .5em;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}textarea:focus{outline:0;border:1px solid #23b7fb;box-shadow:0 0 3px #23b7fb}.btn{display:inline-block;clear:both;background:#23b7fb;border:0;margin:.25rem 0;padding:.5em 1em .4em;cursor:pointer;color:#fff;font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;font-size:1.25rem;text-align:center;text-decoration:none;text-transform:uppercase;text-shadow:none;border-radius:5px;-webkit-appearance:none}.btn:focus{outline:0;border:1px solid #23b7fb;box-shadow:0 0 3px #23b7fb}.btn:hover{background:#55cafc}.btn:active{outline:0;background:#04a3e7}.btn:active,.btn:hover,.btn:link{color:#fff;text-decoration:none}.btn.secondary{background:#444;font-weight:700;color:#fff;text-transform:uppercase;text-decoration:none;border:0}.btn.secondary:hover{background:#3c3c3c;box-shadow:none}.btn.secondary:active{outline:0;background:#090909;box-shadow:none}.btn.tertiary{background:0 0;color:#444;font-weight:500;text-transform:none;text-decoration:underline;border:0}.btn.tertiary:hover{color:#222;background-color:none;box-shadow:none;text-decoration:underline}.btn.tertiary:active{outline:0;background-color:none;box-shadow:none}.btn.tiny{font-size:.75rem}.btn.small{font-size:1rem}.btn.medium{font-size:1.25rem}.btn.large{font-size:1.75rem}.btn.disabled,.btn[disabled=disabled]{clear:both;background:#ddd;border:1px solid #ddd;margin:0 auto;margin:.25rem;padding:.4rem 1em .25rem;cursor:default;color:#f7f7f7;font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:600;text-align:center;text-decoration:none;text-transform:uppercase;border-radius:5px}.btn.disabled:hover,.btn[disabled=disabled]:hover{background:#ddd;box-shadow:none}.btn.disabled:active,.btn[disabled=disabled]:active{outline:0;background:#ddd;color:#f7f7f7;box-shadow:none}.btn.loading{position:relative;background:#ddd;border:2px solid #ddd;color:#ddd;box-shadow:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.loading:hover{background:#ddd}.btn.loading:active{color:#ddd}.btn.loading:before{content:"";display:block;height:1.5em;width:1.5em;margin:0 auto;position:absolute;top:50%;left:50%;margin-top:-.75em;margin-left:-.75em;border:.3em solid #ddd;border-radius:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn.loading:after{content:"";display:block;height:1.5em;width:1.5em;margin:0 auto;position:absolute;top:50%;left:50%;margin-top:-.75em;margin-left:-.75em;border:.3em solid #c4c4c4;border-left:.3em solid transparent;border-bottom:.3em solid transparent;border-right:.3em solid transparent;border-radius:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-animation:rotation 1.5s infinite linear;-moz-animation:rotation 1.5s infinite linear;animation:rotation 1.5s infinite linear}input[type=submit]{white-space:normal}select{display:block;width:100%;height:41px;font-size:1rem;font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;border:1px solid #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}select:focus{outline:0;border:1px solid #23b7fb;box-shadow:0 0 3px #23b7fb}.spinner{height:30px;width:30px;margin:0 auto;position:relative;-webkit-animation:rotation 1.5s infinite linear;-moz-animation:rotation 1.5s infinite linear;animation:rotation 1.5s infinite linear;border:6px solid #ddd;border-radius:100%}.spinner:before{content:"";display:block;position:absolute;left:-6px;top:-6px;height:100%;width:100%;border:6px solid #c4c4c4;border-left:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid transparent;border-radius:100%}.messages{position:relative;width:100%;background:#4e2b63;text-align:left;margin:0;padding:1rem 4rem 1rem 1.5rem;color:#fff;color:rgba(255,255,255,.7);*zoom:1;max-width:1440px;margin-left:auto;margin-right:auto}.messages:after,.messages:before{content:" ";display:table}.messages:after{clear:both}.messages b,.messages strong{font-weight:800;color:#fff;padding:0 .3rem}.messages a{font-weight:800;color:#fff}.messages.error{background:#ff4747}.messages .message-close-button{position:absolute;right:1.5rem;font-size:2rem;font-weight:700;color:#333;text-decoration:none;top:.4rem;opacity:.7}.messages .message-close-button:hover{opacity:1}.messages .message-close-button.white{color:#fff}figure{padding:2.5% 0}figure img{max-width:100%}figcaption{color:#999;font-size:.8rem;text-align:center;padding:0 1rem 1.5rem}img.bordered{border:5px solid #fff;box-shadow:0 2px 10px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.legal{font-size:.75rem;color:#999}.legal a,.legal p,.legal small,.legal strong,.legal sup{font-size:.75rem;color:#999;margin:0}.legal a{color:#999}.legal a:hover{color:#b3b3b3}.legal a:active{color:gray}.pullquote{color:#4e2b63;width:95%;font-size:1.25rem}@media screen and (min-width:768px){.pullquote{width:auto;font-size:1.5rem}}.pullquote cite{color:#ddd}.embed-container{position:relative;padding-bottom:54%;padding-top:30px;overflow:hidden;max-width:100%;height:auto}.embed-container embed,.embed-container iframe,.embed-container object{position:absolute;top:0;left:0;width:100%;height:100%}.full-link{position:absolute;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);top:0;left:0;width:100%;height:100%;z-index:10}.full-link span{display:none}.full-link:hover~.full-link-delegate a{text-decoration:underline}.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visually-hidden.focusable:active,.visually-hidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.clearfix{*zoom:1}nav.breadcrumbs{margin:1.65rem;text-align:center}nav.breadcrumbs ul{list-style-type:none;margin-left:auto;padding-left:0}nav.breadcrumbs li{display:inline}nav.breadcrumbs li:after{font-family:"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans-serif;content:">";color:#ddd;padding:0 1em}nav.breadcrumbs li:last-of-type:after{display:none}nav.breadcrumbs a{color:#999;text-decoration:none}nav.breadcrumbs a:hover{text-decoration:underline}.tabs{padding:3.25rem 0;font-size:1.1rem;text-align:center;overflow:hidden}.tabs ul{font-size:.9em;margin:1rem;padding:0}.tabs li{display:inline;margin:0 1rem}.tabs a{text-decoration:none;padding:0 .5rem}.tabs a:hover{text-decoration:underline}.tabs a.active,.tabs a.is-active{color:#000;font-weight:700}.tabs.vertical{font-size:1.1em;text-align:left}.tabs.vertical ul{font-size:.9em;margin:.5rem 1rem 1rem}.tabs.vertical li{display:block;margin:.5rem 0}.cta{background-color:#f7f7f7;border-bottom:2px solid #ddd;border-top:2px solid #ddd;padding:1rem;*zoom:1;display:block}.cta:after,.cta:before{content:" ";display:table}.cta:after{clear:both}@media screen and (min-width:768px){.cta{padding:0}}.cta>.wrapper{text-align:center;padding:2rem 0}@media screen and (min-width:768px){.cta>.wrapper{float:left;display:block;margin-right:2.22222%;width:74.44444%;margin-left:12.77778%}.cta>.wrapper:last-child{margin-right:0}}.cta .__message{color:#444;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.tile{height:0;padding-bottom:100%;position:relative}.tile>.wrapper{background-color:#fff;display:block;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.tile>.wrapper:before{bottom:0;content:'';display:block;height:100%;position:absolute;width:100%;background-color:rgba(0,0,0,0);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(40%,rgba(0,0,0,0)),color-stop(70%,rgba(0,0,0,.2)),color-stop(87%,rgba(0,0,0,.5)),color-stop(100%,rgba(0,0,0,.85)));background-image:-webkit-linear-gradient(rgba(0,0,0,0) 40%,rgba(0,0,0,.2) 70%,rgba(0,0,0,.5) 87%,rgba(0,0,0,.85) 100%);background-image:linear-gradient(rgba(0,0,0,0) 40%,rgba(0,0,0,.2) 70%,rgba(0,0,0,.5) 87%,rgba(0,0,0,.85) 100%)}.no-cssgradients .tile>.wrapper:before{background:transparent neue-image-url(black-gradient.png) 0 bottom repeat-x}.tile img{display:block;width:100%}.tile--meta{bottom:0;color:#fff;padding:1rem;position:absolute;width:100%}.tile--meta .__title{color:inherit;font-size:1.25rem;line-height:1.2;margin:0 0 .25rem}.tile--meta .__tagline{color:inherit;font-size:.9em;line-height:1;margin:0}.tile--meta .__tagline,.tile--meta .__title{text-shadow:0 1px 3px rgba(0,0,0,.3)}.no-cssgradients .tile--meta{background:transparent neue-image-url(black-gradient.png) 0 bottom repeat-x}.gallery{list-style-type:none;margin:0;padding:0;*zoom:1}.gallery:after,.gallery:before{content:" ";display:table}.gallery:after{clear:both}.gallery.-mosaic{background-color:#000}@media screen and (min-width:450px){.gallery>li{float:left;width:50%}}@media screen and (min-width:768px){.gallery>li{width:25%}}.gallery .empty{background-color:#f7f7f7;display:none;height:0;position:relative}.gallery .empty>.wrapper{height:100%;left:0;position:absolute;top:0;width:100%}@media screen and (min-width:450px){.gallery .empty.-trio{display:block;padding-bottom:50%}}@media screen and (min-width:768px){.gallery .empty.-trio{padding-bottom:25%;width:75%}.gallery .empty.-trio a,.gallery .empty.-trio p{font-size:1.25rem}}.gallery .empty.-duo{padding-bottom:25%;width:50%}.gallery .empty.-duo a,.gallery .empty.-duo p{font-size:1rem}@media screen and (min-width:768px){.gallery .empty.-duo{display:block}}@media screen and (min-width:1080px){.gallery .empty.-duo a,.gallery .empty.-duo p{font-size:1.25rem}}.gallery .empty.-mono{display:block;padding-bottom:50%}@media screen and (min-width:768px){.gallery .empty.-mono{padding-bottom:25%}}.gallery .__message{display:table;height:100%;padding:1rem;text-align:center;width:100%}.gallery .__message>.wrapper{display:table-cell;vertical-align:middle}.gallery .__message p{line-height:1.3;margin:.25rem}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);z-index:9998;overflow:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch}.modal .modal-content{position:relative;background:#fff;z-index:1050;width:auto;padding:2rem 1.5rem;margin-right:auto;margin-left:auto}.modal .modal-content .modal-close-button{position:absolute;top:.5rem;right:1.5rem;font-size:2rem;font-weight:700;color:#333;opacity:.5;text-decoration:none}.modal .modal-content .modal-close-button:hover{opacity:1}.modal .modal-content .modal-close-button.white{color:#fff}.modal .modal-content .modal-secure-button{position:absolute;top:1rem;left:1rem;text-decoration:none;font-size:16px;font-weight:700;color:#333;opacity:.5;-webkit-transition:opacity .5s;-moz-transition:opacity .5s;transition:opacity .5s}.modal .modal-content .modal-secure-button span{display:none;font-size:.75rem;background:#333;color:#fff;padding:.15rem .5rem .3rem;border-radius:2px;opacity:0;-webkit-transition:opacity .5s;-moz-transition:opacity .5s;transition:opacity .5s}.modal .modal-content .modal-secure-button span:after{content:"";position:absolute;display:block;border-style:solid;border-width:6px;border-color:transparent #333 transparent transparent;top:6px;left:6px}.modal .modal-content .modal-secure-button:hover{opacity:1}.modal .modal-content .modal-secure-button:hover span{display:inline-block;opacity:1}.modal .modal-content h2{margin-bottom:1rem}@media screen and (min-width:768px){.modal .modal-content{box-shadow:0 0 15px rgba(0,0,0,.5);max-width:600px;margin-top:5rem;margin-bottom:5rem;min-height:0}}body.modal-open{overflow:hidden}.carousel-wrapper{position:relative}.carousel-wrapper .slide-wrapper{float:left;width:100%}.carousel-wrapper .next-wrapper,.carousel-wrapper .prev-wrapper{position:absolute;width:25px;height:100%;cursor:pointer}.carousel-wrapper .prev-wrapper{left:-25px}.carousel-wrapper .next-wrapper{right:0}.carousel-wrapper .next-button,.carousel-wrapper .prev-button{position:relative;top:33.3333%;height:0;width:0;border:25px solid #fff;border-radius:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.carousel-wrapper .next-button span.arrow,.carousel-wrapper .prev-button span.arrow{font-size:40px;color:#4e2b63;position:absolute;top:-18px;font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.carousel-wrapper .prev-button{left:0}.carousel-wrapper .prev-button .arrow{left:-22px}.carousel-wrapper .next-button{right:0}.carousel-wrapper .next-button .arrow{right:-24px}.carousel-wrapper figure.slide{display:none;border:6px solid #fff;padding:0}.carousel-wrapper .slide.visible,.carousel-wrapper figure.slide img{display:block}.homepage-sponsors h4{color:#ddd;text-align:center;padding-top:2em}.homepage-sponsors img{margin:0 1rem}.homepage-sponsors p{text-align:center;padding-bottom:1em}.homepage-sponsors .sprite{background-image:url(images/sponsors.png);background-repeat:no-repeat;display:inline-block;background-size:175px 160px;width:50px;height:35px;margin:0 1rem}@media screen and (min-width:768px){.homepage-sponsors .sprite{background-size:350px 320px;width:100px;height:70px}}.homepage-sponsors .sprite-hrb{width:60px;background-position:-2.5px -2.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-hrb{width:120px}}@media screen and (min-width:768px){.homepage-sponsors .sprite-hrb{background-position:-5px -5px}}.homepage-sponsors .sprite-aeropostale{background-position:-67.5px -2.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-aeropostale{background-position:-135px -5px}}.homepage-sponsors .sprite-channel-one{background-position:-2.5px -42.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-channel-one{background-position:-5px -85px}}.homepage-sponsors .sprite-fastweb{background-position:-57.5px -42.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-fastweb{background-position:-115px -85px}}.homepage-sponsors .sprite-toyota{background-position:-2.5px -82.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-toyota{background-position:-5px -165px}}.homepage-sponsors .sprite-jetblue{background-position:-57.5px -82.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-jetblue{background-position:-115px -165px}}.homepage-sponsors .sprite-aarp{background-position:-122.5px -2.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-aarp{background-position:-245px -5px}}.homepage-sponsors .sprite-sprint{background-position:-112.5px -42.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-sprint{background-position:-225px -85px}}.homepage-sponsors .sprite-vh1{background-position:-112.5px -82.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-vh1{background-position:-225px -165px}}.homepage-sponsors .sprite-walmart{background-position:-2.5px -122.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-walmart{background-position:-5px -245px}}.homepage-sponsors .sprite-amex{background-position:-57.5px -122.5px}@media screen and (min-width:768px){.homepage-sponsors .sprite-amex{background-position:-115px -245px}} \ No newline at end of file diff --git a/neue.js b/neue.js new file mode 100644 index 00000000..e69bb94c --- /dev/null +++ b/neue.js @@ -0,0 +1,1368 @@ +(function () {/** + * @license almond 0.2.9 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/almond for details + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*jslint sloppy: true */ +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name && name.charAt(0) === ".") { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + //Convert baseName to array, and lop off the last part, + //so that . matches that "directory" and not name of the baseName's + //module. For instance, baseName of "one/two/three", maps to + //"one/two/three.js", but we want the directory, "one/two" for + //this normalization. + baseParts = baseParts.slice(0, baseParts.length - 1); + name = name.split('/'); + lastIndex = name.length - 1; + + // Node .js allowance: + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + name = baseParts.concat(name); + + //start trimDots + for (i = 0; i < name.length; i += 1) { + part = name[i]; + if (part === ".") { + name.splice(i, 1); + i -= 1; + } else if (part === "..") { + if (i === 1 && (name[2] === '..' || name[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join("/"); + } else if (name.indexOf('./') === 0) { + // No baseName, so this is ID is resolved relative + // to baseUrl, pull off the leading dot. + name = name.substring(2); + } + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + return req.apply(undef, aps.call(arguments, 0).concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relName) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relName)); + } else { + name = normalize(name, relName); + } + } else { + name = normalize(name, relName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relName); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, callback).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +define("bower_components/almond/almond", function(){}); + +/** + * # Image Carousel + * + * Adds simple "previous/next" functionality to slide deck-style image + * galleries with the following markup: + * + * @example + * // + * + */ + +define('neue/carousel',[],function() { + + + var $ = window.jQuery; + + $(function() { + // Show first image + $("#slide0").addClass("visible"); + + // Make carousel stateful + var counter = 0; + + // Cache carousel buttons + var $buttons = $("#prev, #next"); + + // Decrement counter + function decrementCounter() { + // If first slide is shown, restart loop + // Else, show previous slide + counter === 0 ? counter = 2 : counter--; + } + + // Increment counter + function incrementCounter() { + // If last slide is shown, restart loop + // Else, show next slide + counter === 2 ? counter = 0 : counter++; + } + + // Toggle slide visibility + function showCurrentSlide( direction ) { + // Remove "visibile" class from the current slide + $("#slide" + counter).removeClass("visible"); + + // Increment or decrement slide position based on user"s request + direction === "prev" ? decrementCounter() : incrementCounter(); + + // Assign "visible" class to the requested slide + $("#slide" + counter).addClass("visible"); + } + + // Bind click event to carousel buttons + $buttons.click(function() { + showCurrentSlide( $(this).attr("id") ); + }); + }); +}); + +/** + * @module neue/events + * Pub/Sub events: Allows modules to communicate via publishing + * and subscribing to events. + * + * Based on Addy Osmani's Pubsubz, licensed under the GPL. + * https://github.com/addyosmani/pubsubz + * http://jsfiddle.net/LxPrq/ + */ + +define('neue/events',[],function() { + + + var topics = {}; + var subUid = -1; + + var publish = function(topic, args) { + if (!topics[topic]) { + return false; + } + + setTimeout(function() { + var subscribers = topics[topic], + len = subscribers ? subscribers.length : 0; + + while(len--) { + subscribers[len].func(topic, args); + } + }, 0); + + return true; + }; + + var subscribe = function(topic, func) { + if (!topics[topic]) { + topics[topic] = []; + } + + var token = (++subUid).toString(); + topics[topic].push({ + token: token, + func: func + }); + + return token; + }; + + var unsubscribe = function(token) { + for (var m in topics) { + if (topics[m]) { + for (var i = 0, j = topics[m].length; i < j; i++) { + if (topics[m][i].token === token) { + topics[m].splice(i, 1); + return token; + } + } + } + } + + return false; + }; + + // Export public API + return { + publish: publish, + subscribe: subscribe, + unsubscribe: unsubscribe + }; +}); + +/** + * Applies a smooth-scroll animation on links with the `.js-jump-scroll` class. + */ + +define('neue/jump-scroll',[],function() { + + + var $ = window.jQuery; + + $(function() { + $(".js-jump-scroll").on("click", function(event) { + event.preventDefault(); + + var href = $(this).attr("href"); + + // Animate scroll position to the target of the link: + $("html,body").animate({scrollTop: $(event.target.hash).offset().top}, "slow", function() { + // Finally, set the correct hash in the address bar. + window.location.hash = href; + }); + }); + }); +}); + +/** + * Initializes site-wide menu chrome functionality. + */ + +define('neue/menu',[],function() { + + + var $ = window.jQuery; + + $(function() { + // Toggle dropdown menu navigation on mobile: + $(".js-toggle-mobile-menu").on("click", function() { + $(".chrome--nav").toggleClass("is-visible"); + }); + + // Hide footer on mobile until clicked + $(".js-footer-col").addClass("is-collapsed"); + $(".js-footer-col h4").on("click", function() { + if( window.matchMedia("screen and (max-width: 768px)").matches ) { + $(this).closest(".js-footer-col").toggleClass("is-collapsed"); + } + }); + }); +}); + +/** + * @module neue/messages + * System Messages. Will create a close ("X") button + * for users with JavaScript enabled that uses the following + * syntax to hook into this function: + * + * @example + * //
Alert! You win.
+ * + * @returns + * //
Alert! You win. + * // x + * //
+ */ + +define('neue/messages',[],function() { + + + var $ = window.jQuery; + + var messageClose = "×"; + + /** + * Adds a close button to system message banner, with optional callback. + * + * @param {jQuery} $messages Object containing message divs to be modified. + * @param {function} callback Callback fired after message is closed. + */ + var attachCloseButton = function($messages, callback) { + // Create message close button + $messages.append(messageClose); + + // Close message when "x" is clicked: + $messages.on("click", ".js-close-message", function(event) { + event.preventDefault(); + $(this).parent(".messages").slideUp(); + + if(callback && typeof callback === "function") { + callback(); + } + }); + }; + + // Prepare any messages in the DOM on load + $(function() { + attachCloseButton( $(".messages") ); + }); + + return { + attachCloseButton: attachCloseButton + }; +}); + +/** + * @module neue/modal + * Show/hide modals. Link should have `.js-modal-link` class, and + * it's `href` should point to the hash of the modal. By convention, the + * modal ID should be prefixed with `modal--` like so: + * + * @example + * // + * + */ + +define('neue/modal',['require','./events'],function(require) { + + + var $ = window.jQuery; + var Modernizr = window.Modernizr; + var Events = require("./events"); + + // We can only have one modal open at a time; we track that here. + var modalIsOpen = false; + + // The modal container (including background overlay). + var $modal = null; + + // The content of the modal. + var $modalContent = null; + + // Reference to current modal source + var $reference = null; + + // Return a boolean if modal is open or not + var isOpen = function() { + return modalIsOpen; + }; + + // Click handler for opening a new modal + var _openHandler = function(event) { + event.preventDefault(); + var href = ""; + + if( $(this).data("cached-modal") ) { + // Preferred method: We load the modal specified in the `data-cached-modal` attribute. + // This allows `href` to act as a backup if JS is disabled. For example, + // `Click` + // would open a modal with the contents of ``. + href = $($(this).data("cached-modal")); + } else if ( event.target.hash.charAt(0) === "#" ) { + // We find the modal based on the ID in the link"s `href`. For example, + // `Click me` would open + // ``. + href = $(event.target.hash); + } else { + // @TODO: We should handle AJAX loading things in. + } + + open(href); + }; + + /** + * Open a new modal + * @param {jQuery} el Element that will be placed inside the modal. + * @param {boolean} [animated=true] Use animation for opening the modal. + */ + var open = function($el, animated) { + // Default arguments + animated = typeof animated !== "undefined" ? animated : true; + + var id = $el.attr("id"); + if(id) { + // Save ID of modal for future reference + $reference = "#" + id; + + // Set URL hash in the browser + window.location.hash = "#" + id; + } else { + $reference = ""; + } + + // If Google Analytics is set up, we fire an event to track that a + // modal has been opened. + if(typeof(_gaq) !== "undefined" && _gaq !== null) { + _gaq.push(["_trackEvent", "Modal", "Open", $reference, null, true]); + } + + if( !modalIsOpen ) { + // create modal in DOM + $modal = $("
"); + $modalContent = $("
"); + $modal.append($modalContent); + $modalContent.html( $el.html() ); + + // set up overlay and show modal + $("body").addClass("modal-open"); + $("body").append($modal); + + if(animated && Modernizr.cssanimations) { + $modal.addClass("fade-in"); + $modalContent.addClass("fade-in-up"); + } + + // copy classes from modal source + $modalContent.removeClass(); + $modalContent.addClass("modal-content"); + $modalContent.addClass( $el.attr("class") ); + + $modal.show(); + + // Bind events to close Modal + $modal.on("click", ".js-close-modal", _closeHandler); + $modal.on("click", _closeHandler); + + modalIsOpen = true; + + // **This fixes an issue with `position:fixed` and the virtual keyboard + // on Mobile Safari.** Since this is a browser bug, we're forced to use + // browser-detection here, and should look into removing this as soon + // as this is fixed in the future. Yes, it is gross. + if( /iPhone|iPad|iPod/i.test(window.navigator.userAgent) ) { + setTimeout(function () { + $modal.css({ "position": "absolute", "overflow": "visible", "height": $(document).height() + "px" }); + $modalContent.css({ "margin-top": $(document).scrollTop() + "px" }); + }, 0); + } + } else { + // modal is already open, so just replace current content + $modalContent.removeClass(); + $modalContent.addClass("modal-content"); + $modalContent.addClass( $el.attr("class") ); + $modalContent.html( $($el).html() ); + } + + + + // We provide an event that other modules can hook into to perform custom functionality when + // a modal opens (such as preparing things that are added to the DOM, etc.) + Events.publish("Modal:opened", $modalContent); + + // If Drupal has some messages on the screen, move them inside the modal + // @TODO: We need a better solution for this. + var $messages = $(".messages"); + var $messagesClone = $modalContent.find(".js-messages-clone"); + if($messagesClone && $messages.length ) { + $messagesClone.addClass("modal-messages"); + $messagesClone.html( $messages[0].outerHTML ); + $messagesClone.find(".js-close-message").remove(); + } + }; + + var _closeHandler = function(event) { + // Don't let the event bubble. + if(event.target !== this) { + return; + } + + // Only close if this modal has a close button + if($modalContent.find(".js-close-modal").length === 0) { + return; + } + + // Override default link behavior. + event.preventDefault(); + + close(); + }; + + /** + * Close the active modal. + * @param {boolean} [animated=true] Use animation for closing the modal. + */ + var close = function(animated) { + // Default arguments + animated = typeof animated !== "undefined" ? animated : true; + + // Remove URL hash for modal from browser + if(window.location.hash === $reference) { + window.location.hash = "/"; + } + + // If Google Analytics is set up, we fire an event to track that a + // modal has been closed. + if(typeof(_gaq) !== "undefined" && _gaq !== null) { + _gaq.push(["_trackEvent", "Modal", "Close", $reference, null, true]); + } + + if(animated && Modernizr.cssanimations) { + $modalContent.addClass("fade-out-down"); + $modal.addClass("fade-out"); + + $("body").removeClass("modal-open"); + + $modal.one("webkitAnimationEnd oanimationend msAnimationEnd animationend", function() { + $modal.remove(); + modalIsOpen = false; + }); + } else { + $("body").removeClass("modal-open"); + $modal.remove(); + modalIsOpen = false; + } + }; + + $(document).ready(function() { + // Attach modal handler to `.js-modal-link` elements on click + $("body").on("click", ".js-modal-link", _openHandler); + + //If there's a hash in the URL, let's check if its a modal and load it + var hash = window.location.hash; + if(hash && hash !== "#/" && $(hash) && $(hash).attr("type") === "text/cached-modal" ) { + open($(hash), false); + } + + // Close modal events are bound on modal initialization. + }); + + + // Return public API for controlling modals + return { + isOpen: isOpen, + open: open, + close: close + }; + +}); + +/** + * Indicates current section in nav on scroll. Applies an `.is-active` + * class when the specified `href` reaches the top of the viewport. + * + * Triggered by a `.js-scroll-indicator` on a link. + */ + +define('neue/scroll-indicator',[],function() { + + + var $ = window.jQuery; + + var links = []; + + // Prepare all `.js-scroll-indicator` links on the page. + function preparePage() { + links = []; + + $(".js-scroll-indicator").each(function(index, link) { + prepareIndicator(link); + }); + } + + // Registers links and their targets with scroll handler + function prepareIndicator(link) { + // Calculate the element's offset from the top of the page while anchored + var linkTarget = $(link).attr("href"); + var linkTargetOffset = $(linkTarget).offset().top; + + // Create the data structure that we'll store this stuff in + var linkObj = { + $el: $(link), + targetOffset: linkTargetOffset + }; + + // Add jQuery object and offset value to links array + links.push(linkObj); + + // Now that we're ready, let's calculate how stickies should be displayed + updateScrollIndicators(); + } + + // Scroll handler: highlights the furthest link the user has passed + function updateScrollIndicators() { + $.each(links, function(index, link) { + // In reverse order (moving up the nav from the bottom), check whether + // we've scrolled past the link's target. If so, set active and stop. + var windowOffset = $(window).scrollTop() + link.$el.height(); + if (windowOffset > link.targetOffset) { + $(".js-scroll-indicator").removeClass("is-active"); + link.$el.addClass("is-active"); + return; + } + }); + } + + // Attach our functions to their respective events. + $(function() { + preparePage(); + + $(window).on("scroll", updateScrollIndicators); + $(window).on("resize", preparePage); + }); + +}); + +/** + * Pins an element to the top of the screen on scroll. + * + * Requires pinned element to have `.js-sticky` class, and have + * a `.is-stuck` modifier class in its CSS (which allows + * customized sticky behavior based on media queries). + * + * @example + * // .sidebar { + * // &.is-stuck { + * // position: fixed; + * // top: 0; + * // } + * // } + * + */ + +define('neue/sticky',[],function() { + + + var $ = window.jQuery; + + var divs = []; + + // Prepare all `.js-sticky` divs on the page. + function preparePage() { + divs = []; + + $(".js-sticky").each(function(index, div) { + prepareSticky(div); + }); + } + + // Prepare markup and register divs with scroll handler + function prepareSticky(div) { + // Calculate the element's offset from the top of the page while anchored + var divOffset = $(div).offset().top; + + // Create the data structure that we'll store this stuff in + var divObj = { + $el: $(div), + offset: divOffset + }; + + // Add jQuery object and offset value to divs array + divs.push(divObj); + + // Now that we're ready, let's calculate how stickies should be displayed + scrollSticky(); + } + + // Scroll handler: pins/unpins divs on scroll event + function scrollSticky() { + $.each(divs, function(index, div) { + // Compare the distance to the top of the page with the distance scrolled. + // For each div: if we've scrolled past it's offset, pin it to top. + if ($(window).scrollTop() > div.offset) { + div.$el.addClass("is-stuck"); + } else { + div.$el.removeClass("is-stuck"); + } + }); + } + + // Attach our functions to their respective events. + $(function() { + preparePage(); + + $(window).on("scroll", scrollSticky); + $(window).on("resize", preparePage); + }); +}); + +/** + * Client-side form validation logic. Form element is validated based + * on `data-validate` attribute, and validation output is placed in + * corresponding `