├── README.md ├── css ├── component.css └── default.css ├── fonts ├── controls │ ├── entypo.dev.svg │ ├── entypo.eot │ ├── entypo.svg │ ├── entypo.ttf │ ├── entypo.woff │ └── license.txt ├── fontawesome.eot ├── fontawesome.svg ├── fontawesome.ttf ├── fontawesome.woff └── readme.md ├── images ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg └── 6.jpg ├── index.html └── js ├── cbpBGSlideshow.js ├── cbpBGSlideshow.min.js ├── jquery.imagesloaded.min.js └── modernizr.custom.js /README.md: -------------------------------------------------------------------------------- 1 | Blueprint: Background Slideshow 2 | ========= 3 | 4 | A fullscreen background slideshow with autoplay functionality. 5 | 6 | [article on Codrops](http://tympanus.net/codrops/?p=14667) 7 | 8 | [demo](http://tympanus.net/Blueprints/BackgroundSlideshow/) 9 | 10 | The Blueprints are a collection of basic and minimal website concepts, components, plugins and layouts with minimal style for easy adaption and usage, or simply for inspiration. 11 | Check out all of our Blueprints [here](http://tympanus.net/codrops/category/blueprints/) 12 | 13 | [LICENSING & TERMS OF USE](http://tympanus.net/codrops/licensing/) -------------------------------------------------------------------------------- /css/component.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'entypo'; 3 | src:url('../fonts/controls/entypo.eot'); 4 | src:url('../fonts/controls/entypo.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/controls/entypo.woff') format('woff'), 6 | url('../fonts/controls/entypo.ttf') format('truetype'), 7 | url('../fonts/controls/entypo.svg#entypo') format('svg'); 8 | font-weight: normal; 9 | font-style: normal; 10 | } 11 | 12 | .cbp-bislideshow { 13 | list-style: none; 14 | width: 100%; 15 | height: 100%; 16 | position: fixed; 17 | top: 0; 18 | left: 0; 19 | z-index: -1; 20 | padding: 0; 21 | margin: 0; 22 | } 23 | 24 | .cbp-bislideshow li { 25 | position: absolute; 26 | width: 101%; 27 | height: 101%; 28 | top: -0.5%; 29 | left: -0.5%; 30 | opacity: 0; 31 | -webkit-transition: opacity 1s; 32 | -moz-transition: opacity 1s; 33 | transition: opacity 1s; 34 | } 35 | 36 | /* If background-size supported we'll add the images to the background of the li */ 37 | 38 | .backgroundsize .cbp-bislideshow li { 39 | -webkit-background-size: cover; 40 | -moz-background-size: cover; 41 | background-size: cover; 42 | background-position: center center; 43 | } 44 | 45 | /* ...and hide the images */ 46 | .backgroundsize .cbp-bislideshow li img { 47 | display: none; 48 | } 49 | 50 | .cbp-bislideshow li img { 51 | display: block; 52 | width: 100%; 53 | } 54 | 55 | .cbp-bicontrols { 56 | position: fixed; 57 | width: 300px; 58 | height: 100px; 59 | margin: -50px 0 0 -150px; 60 | top: 50%; 61 | left: 50%; 62 | } 63 | 64 | .cbp-bicontrols span { 65 | float: left; 66 | width: 100px; 67 | height: 100px; 68 | position: relative; 69 | cursor: pointer; 70 | } 71 | 72 | .cbp-bicontrols span:before { 73 | position: absolute; 74 | width: 100%; 75 | height: 100%; 76 | top: 0; 77 | left: 0; 78 | text-align: center; 79 | font-family: 'entypo'; 80 | speak: none; 81 | font-style: normal; 82 | font-weight: normal; 83 | font-variant: normal; 84 | text-transform: none; 85 | line-height: 100px; 86 | font-size: 80px; 87 | color: #fff; 88 | -webkit-font-smoothing: antialiased; 89 | opacity: 0.7; 90 | } 91 | 92 | .cbp-bicontrols span:hover:before { 93 | opacity: 1; 94 | } 95 | 96 | .cbp-bicontrols span:active:before { 97 | top: 2px; 98 | } 99 | 100 | span.cbp-biplay:before { 101 | content: "\e002"; 102 | } 103 | 104 | span.cbp-bipause:before { 105 | content: "\e003"; 106 | } 107 | 108 | span.cbp-binext:before { 109 | content: "\e000"; 110 | } 111 | 112 | span.cbp-biprev:before { 113 | content: "\e001"; 114 | } 115 | 116 | .cbp-bicontrols span.cbp-binext { 117 | float: right; 118 | } 119 | 120 | /* Fallback */ 121 | 122 | .no-js.no-backgroundsize .cbp-bislideshow li:first-child { 123 | opacity: 1; 124 | } 125 | 126 | .no-js.backgroundsize .cbp-bislideshow li:first-child img { 127 | display: block; 128 | } 129 | -------------------------------------------------------------------------------- /css/default.css: -------------------------------------------------------------------------------- 1 | /* General Demo Style */ 2 | @import url(http://fonts.googleapis.com/css?family=Lato:300,400,700); 3 | 4 | @font-face { 5 | font-family: 'fontawesome'; 6 | src:url('../fonts/fontawesome.eot'); 7 | src:url('../fonts/fontawesome.eot?#iefix') format('embedded-opentype'), 8 | url('../fonts/fontawesome.svg#fontawesome') format('svg'), 9 | url('../fonts/fontawesome.woff') format('woff'), 10 | url('../fonts/fontawesome.ttf') format('truetype'); 11 | font-weight: normal; 12 | font-style: normal; 13 | } 14 | 15 | body, html { font-size: 100%; padding: 0; margin: 0;} 16 | 17 | /* Reset */ 18 | *, 19 | *:after, 20 | *:before { 21 | -webkit-box-sizing: border-box; 22 | -moz-box-sizing: border-box; 23 | box-sizing: border-box; 24 | } 25 | 26 | /* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */ 27 | .clearfix:before, 28 | .clearfix:after { 29 | content: " "; 30 | display: table; 31 | } 32 | 33 | .clearfix:after { 34 | clear: both; 35 | } 36 | 37 | body { 38 | font-family: 'Lato', Calibri, Arial, sans-serif; 39 | color: #47a3da; 40 | 41 | } 42 | 43 | a { 44 | color: #f0f0f0; 45 | text-decoration: none; 46 | } 47 | 48 | a:hover { 49 | color: #000; 50 | } 51 | 52 | .main, 53 | .container > header { 54 | width: 90%; 55 | max-width: 69em; 56 | margin: 0 auto; 57 | padding: 0 1.875em 3.125em 1.875em; 58 | } 59 | 60 | .container > header { 61 | padding: 2.875em 1.875em 1.875em; 62 | } 63 | 64 | .container > header h1 { 65 | font-size: 2.125em; 66 | line-height: 1.3; 67 | margin: 0; 68 | float: left; 69 | font-weight: 400; 70 | } 71 | 72 | .container > header span { 73 | display: block; 74 | font-weight: 700; 75 | text-transform: uppercase; 76 | letter-spacing: 0.5em; 77 | padding: 0 0 0.6em 0.1em; 78 | } 79 | 80 | .container > header nav { 81 | float: right; 82 | } 83 | 84 | .container > header nav a { 85 | display: block; 86 | float: left; 87 | position: relative; 88 | width: 2.5em; 89 | height: 2.5em; 90 | background: #fff; 91 | border-radius: 50%; 92 | color: transparent; 93 | margin: 0 0.1em; 94 | border: 4px solid #47a3da; 95 | text-indent: -8000px; 96 | } 97 | 98 | .container > header nav a:after { 99 | content: attr(data-info); 100 | color: #47a3da; 101 | position: absolute; 102 | width: 600%; 103 | top: 120%; 104 | text-align: right; 105 | right: 0; 106 | opacity: 0; 107 | pointer-events: none; 108 | } 109 | 110 | .container > header nav a:hover:after { 111 | opacity: 1; 112 | } 113 | 114 | .container > header nav a:hover { 115 | background: #47a3da; 116 | } 117 | 118 | .icon-drop:before, 119 | .icon-arrow-left:before { 120 | font-family: 'fontawesome'; 121 | position: absolute; 122 | top: 0; 123 | width: 100%; 124 | height: 100%; 125 | speak: none; 126 | font-style: normal; 127 | font-weight: normal; 128 | line-height: 2; 129 | text-align: center; 130 | color: #47a3da; 131 | -webkit-font-smoothing: antialiased; 132 | text-indent: 8000px; 133 | padding-left: 8px; 134 | } 135 | 136 | .container > header nav a:hover:before { 137 | color: #fff; 138 | } 139 | 140 | .icon-drop:before { 141 | content: "\e000"; 142 | } 143 | 144 | .icon-arrow-left:before { 145 | content: "\f060"; 146 | } 147 | 148 | -------------------------------------------------------------------------------- /fonts/controls/entypo.dev.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This is a custom SVG font generated by IcoMoon. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 16 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /fonts/controls/entypo.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/fonts/controls/entypo.eot -------------------------------------------------------------------------------- /fonts/controls/entypo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This is a custom SVG font generated by IcoMoon. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 16 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /fonts/controls/entypo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/fonts/controls/entypo.ttf -------------------------------------------------------------------------------- /fonts/controls/entypo.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/fonts/controls/entypo.woff -------------------------------------------------------------------------------- /fonts/controls/license.txt: -------------------------------------------------------------------------------- 1 | Icon Set: Entypo -- http://www.entypo.com/ 2 | License: CC BY-SA 3.0 -- http://creativecommons.org/licenses/by-sa/3.0/ -------------------------------------------------------------------------------- /fonts/fontawesome.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/fonts/fontawesome.eot -------------------------------------------------------------------------------- /fonts/fontawesome.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This is a custom SVG font generated by IcoMoon. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /fonts/fontawesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/fonts/fontawesome.ttf -------------------------------------------------------------------------------- /fonts/fontawesome.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/fonts/fontawesome.woff -------------------------------------------------------------------------------- /fonts/readme.md: -------------------------------------------------------------------------------- 1 | Icons made with http://icomoon.io/ 2 | 3 | #Font Awesome 3.0.2 4 | ##the iconic font designed for use with Twitter Bootstrap 5 | 6 | The full suite of pictographic icons, examples, and documentation can be found at: 7 | http://fortawesome.github.com/Font-Awesome/ 8 | 9 | 10 | ##License 11 | - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL 12 | - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html 13 | - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ 14 | - Attribution is no longer required in Font Awesome 3.0, but much appreciated: "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" 15 | 16 | ##Contact 17 | - Email: dave@davegandy.com 18 | - Twitter: http://twitter.com/fortaweso_me 19 | - Work: Lead Product Designer @ http://kyru.us 20 | 21 | ##Changelog 22 | - v3.0.0 - all icons redesigned from scratch, optimized for Bootstrap's 14px default 23 | - v3.0.1 - much improved rendering in webkit, various bugfixes 24 | - v3.0.2 - much improved rendering and alignment in IE7 25 | -------------------------------------------------------------------------------- /images/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/images/1.jpg -------------------------------------------------------------------------------- /images/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/images/2.jpg -------------------------------------------------------------------------------- /images/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/images/3.jpg -------------------------------------------------------------------------------- /images/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/images/4.jpg -------------------------------------------------------------------------------- /images/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/images/5.jpg -------------------------------------------------------------------------------- /images/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codrops/Blueprint-BackgroundSlideshow/786c8a390d4cb6d0d40e5f1cc9befb6c749067b4/images/6.jpg -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Blueprint: Background Slideshow 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 |
19 | Blueprint 20 |

Background Slideshow

21 | 25 |
26 |
27 | 35 |
36 | 37 | 38 | 39 |
40 |
41 |
42 | 43 | 44 | 45 | 46 | 51 | 52 | -------------------------------------------------------------------------------- /js/cbpBGSlideshow.js: -------------------------------------------------------------------------------- 1 | /** 2 | * cbpBGSlideshow.js v1.0.0 3 | * http://www.codrops.com 4 | * 5 | * Licensed under the MIT license. 6 | * http://www.opensource.org/licenses/mit-license.php 7 | * 8 | * Copyright 2013, Codrops 9 | * http://www.codrops.com 10 | */ 11 | var cbpBGSlideshow = (function() { 12 | 13 | var $slideshow = $( '#cbp-bislideshow' ), 14 | $items = $slideshow.children( 'li' ), 15 | itemsCount = $items.length, 16 | $controls = $( '#cbp-bicontrols' ), 17 | navigation = { 18 | $navPrev : $controls.find( 'span.cbp-biprev' ), 19 | $navNext : $controls.find( 'span.cbp-binext' ), 20 | $navPlayPause : $controls.find( 'span.cbp-bipause' ) 21 | }, 22 | // current item´s index 23 | current = 0, 24 | // timeout 25 | slideshowtime, 26 | // true if the slideshow is active 27 | isSlideshowActive = true, 28 | // it takes 3.5 seconds to change the background image 29 | interval = 3500; 30 | 31 | function init( config ) { 32 | 33 | // preload the images 34 | $slideshow.imagesLoaded( function() { 35 | 36 | if( Modernizr.backgroundsize ) { 37 | $items.each( function() { 38 | var $item = $( this ); 39 | $item.css( 'background-image', 'url(' + $item.find( 'img' ).attr( 'src' ) + ')' ); 40 | } ); 41 | } 42 | else { 43 | $slideshow.find( 'img' ).show(); 44 | // for older browsers add fallback here (image size and centering) 45 | } 46 | // show first item 47 | $items.eq( current ).css( 'opacity', 1 ); 48 | // initialize/bind the events 49 | initEvents(); 50 | // start the slideshow 51 | startSlideshow(); 52 | 53 | } ); 54 | 55 | } 56 | 57 | function initEvents() { 58 | 59 | navigation.$navPlayPause.on( 'click', function() { 60 | 61 | var $control = $( this ); 62 | if( $control.hasClass( 'cbp-biplay' ) ) { 63 | $control.removeClass( 'cbp-biplay' ).addClass( 'cbp-bipause' ); 64 | startSlideshow(); 65 | } 66 | else { 67 | $control.removeClass( 'cbp-bipause' ).addClass( 'cbp-biplay' ); 68 | stopSlideshow(); 69 | } 70 | 71 | } ); 72 | 73 | navigation.$navPrev.on( 'click', function() { 74 | navigate( 'prev' ); 75 | if( isSlideshowActive ) { 76 | startSlideshow(); 77 | } 78 | } ); 79 | navigation.$navNext.on( 'click', function() { 80 | navigate( 'next' ); 81 | if( isSlideshowActive ) { 82 | startSlideshow(); 83 | } 84 | } ); 85 | 86 | } 87 | 88 | function navigate( direction ) { 89 | 90 | // current item 91 | var $oldItem = $items.eq( current ); 92 | 93 | if( direction === 'next' ) { 94 | current = current < itemsCount - 1 ? ++current : 0; 95 | } 96 | else if( direction === 'prev' ) { 97 | current = current > 0 ? --current : itemsCount - 1; 98 | } 99 | 100 | // new item 101 | var $newItem = $items.eq( current ); 102 | // show / hide items 103 | $oldItem.css( 'opacity', 0 ); 104 | $newItem.css( 'opacity', 1 ); 105 | 106 | } 107 | 108 | function startSlideshow() { 109 | 110 | isSlideshowActive = true; 111 | clearTimeout( slideshowtime ); 112 | slideshowtime = setTimeout( function() { 113 | navigate( 'next' ); 114 | startSlideshow(); 115 | }, interval ); 116 | 117 | } 118 | 119 | function stopSlideshow() { 120 | isSlideshowActive = false; 121 | clearTimeout( slideshowtime ); 122 | } 123 | 124 | return { init : init }; 125 | 126 | })(); -------------------------------------------------------------------------------- /js/cbpBGSlideshow.min.js: -------------------------------------------------------------------------------- 1 | var cbpBGSlideshow=(function(){var l=$("#cbp-bislideshow"),g=l.children("li"),n=g.length,f=$("#cbp-bicontrols"),c={$navPrev:f.find("span.cbp-biprev"),$navNext:f.find("span.cbp-binext"),$navPlayPause:f.find("span.cbp-bipause")},h=0,e,k=true,b=3500;function m(o){l.imagesLoaded(function(){if(Modernizr.backgroundsize){g.each(function(){var p=$(this);p.css("background-image","url("+p.find("img").attr("src")+")")})}else{l.find("img").show()}g.eq(h).css("opacity",1);j();a()})}function j(){c.$navPlayPause.on("click",function(){var o=$(this);if(o.hasClass("cbp-biplay")){o.removeClass("cbp-biplay").addClass("cbp-bipause");a()}else{o.removeClass("cbp-bipause").addClass("cbp-biplay");i()}});c.$navPrev.on("click",function(){d("prev");if(k){a()}});c.$navNext.on("click",function(){d("next");if(k){a()}})}function d(q){var p=g.eq(h);if(q==="next"){h=h0?--h:n-1}}var o=g.eq(h);p.css("opacity",0);o.css("opacity",1)}function a(){k=true;clearTimeout(e);e=setTimeout(function(){d("next");a()},b)}function i(){k=false;clearTimeout(e)}return{init:m}})(); -------------------------------------------------------------------------------- /js/jquery.imagesloaded.min.js: -------------------------------------------------------------------------------- 1 | (function(c,q){var m="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";c.fn.imagesLoaded=function(f){function n(){var b=c(j),a=c(h);d&&(h.length?d.reject(e,b,a):d.resolve(e));c.isFunction(f)&&f.call(g,e,b,a)}function p(b){k(b.target,"error"===b.type)}function k(b,a){b.src===m||-1!==c.inArray(b,l)||(l.push(b),a?h.push(b):j.push(b),c.data(b,"imagesLoaded",{isBroken:a,src:b.src}),r&&d.notifyWith(c(b),[a,e,c(j),c(h)]),e.length===l.length&&(setTimeout(n),e.unbind(".imagesLoaded", 2 | p)))}var g=this,d=c.isFunction(c.Deferred)?c.Deferred():0,r=c.isFunction(d.notify),e=g.find("img").add(g.filter("img")),l=[],j=[],h=[];c.isPlainObject(f)&&c.each(f,function(b,a){if("callback"===b)f=a;else if(d)d[b](a)});e.length?e.bind("load.imagesLoaded error.imagesLoaded",p).each(function(b,a){var d=a.src,e=c.data(a,"imagesLoaded");if(e&&e.src===d)k(a,e.isBroken);else if(a.complete&&a.naturalWidth!==q)k(a,0===a.naturalWidth||0===a.naturalHeight);else if(a.readyState||a.complete)a.src=m,a.src=d}): 3 | n();return d?d.promise(g):g}})(jQuery); -------------------------------------------------------------------------------- /js/modernizr.custom.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-backgroundsize-shiv-cssclasses-testprop-testallprops-domprefixes-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(prefixes.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b){for(var d in a){var e=a[d];if(!A(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function C(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}function D(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+n.join(d+" ")+d).split(" ");return z(b,"string")||z(b,"undefined")?B(e,b):(e=(a+" "+o.join(d+" ")+d).split(" "),C(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m="Webkit Moz O ms",n=m.split(" "),o=m.toLowerCase().split(" "),p={},q={},r={},s=[],t=s.slice,u,v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(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=t.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(t.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(t.call(arguments)))};return e}),p.backgroundsize=function(){return D("backgroundSize")};for(var E in p)w(p,E)&&(u=E.toLowerCase(),e[u]=p[E](),s.push((e[u]?"":"no-")+u));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)w(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},x(""),i=k=null,function(a,b){function k(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 l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=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){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._domPrefixes=o,e._cssomPrefixes=n,e.testProp=function(a){return B([a])},e.testAllProps=D,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+s.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;f