diff --git a/Gemfile b/Gemfile index abadbd0..bb32ba7 100644 --- a/Gemfile +++ b/Gemfile @@ -16,6 +16,8 @@ gem 'typogruby' gem 'nanoc-cachebuster' gem 'nanoc-javascript-concatenator' +gem 'coffee-script' + gem 'uglifier' gem 'multi_json', '~> 1.3' # needed by uglifier @@ -35,4 +37,4 @@ gem 'systemu' # needed to run validations gem 'w3c_validators' -gem 'nokogiri' \ No newline at end of file +gem 'nokogiri' diff --git a/Gemfile.lock b/Gemfile.lock index 886c1a5..4010b80 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,6 +5,10 @@ GEM rack (>= 1.0.0) builder (3.2.0) chunky_png (1.2.7) + coffee-script (2.2.0) + coffee-script-source + execjs + coffee-script-source (1.6.2) colored (1.2) compass (0.12.2) chunky_png (~> 1.2) @@ -55,6 +59,7 @@ PLATFORMS DEPENDENCIES adsf builder + coffee-script compass haml i18n diff --git a/Rules b/Rules index ee20e03..f0fe75b 100644 --- a/Rules +++ b/Rules @@ -23,16 +23,32 @@ compile '/sitemap/', :rep => 'gzip' do filter :shellcmd, :cmd => 'gzip' end -compile '/css/*/' do - # filter :sass, syntax: :scss, load_paths: SASS_LOAD_PATHS - filter :sass, Compass.sass_engine_options +# Use screen.scss as the single entry point for styles, ignore everything else in /assets/css + +compile '/css/screen/' do + filter :sass, :syntax => :scss if @item[:extension] == 'scss' +end + +compile '/css/*' do +end + +route '/css/screen/' do + fp = fingerprint(item[:filename]) + item.identifier.chop + fp + '.css' end compile '/js/*/' do + filter :coffeescript if @item[:extension] == 'coffee' + filter :concat_js filter :uglify_js end +route '/js/*/' do + fp = fingerprint(item[:filename]) + item.identifier.chop + fp + '.js' +end + compile '/rss/' do filter :erb end @@ -67,6 +83,7 @@ compile '*' do end if %w(html haml md).include?(item[:extension]) + layout 'page' layout 'default' filter :cache_buster end @@ -86,15 +103,6 @@ route %r{^/(assets/.*|sitemap|robots|atom)/$} do item.identifier.chop + fp + '.' + ext end -route '/css/*/' do - fp = fingerprint(item[:filename]) - item.identifier.chop + fp + '.css' -end - -route '/js/*/' do - fp = fingerprint(item[:filename]) - item.identifier.chop + fp + '.js' -end route '/rss/' do '/rss.xml' diff --git a/content/about.haml b/content/about.haml index 086dd83..c3bff31 100644 --- a/content/about.haml +++ b/content/about.haml @@ -1,86 +1,71 @@ --- title: About Ariejan --- -.content_wrap.nobg - %section#middle_content - .one_half - %img.gravatar(width="120" height="120" src="//www.gravatar.com/avatar/a9bfdd0cc75c857b669c37548b8bfdf9?s=240") +.row + .large-8.columns + :markdown + ## Hi, I'm Ariejan de Vroom - :markdown - ### Hi, I'm Ariejan de Vroom + Hi! I'm Ariejan de Vroom, a thirty-two year old Ruby on Rails developer and Software + Craftsman. I live in [Breugel, the Netherlands][1] with my fiancée [Laura][2] + and work full-time at [Kabisa ICT][3]. - Hi! I'm Ariejan de Vroom, a thirty-two year old Ruby on Rails developer and Software - Craftsman. I live in [Breugel, the Netherlands][1] with my fiancée [Laura][2] - and work full-time at [Kabisa ICT][3]. + I started programming in the mid-nineties with [GW-BASIC][9] and [QBasic][10]. Soon + thereafter I discovered [Turbo Pascal][11] and then made the jump to [Delphi][12]. - I started programming in the mid-nineties with [GW-BASIC][9] and [QBasic][10]. Soon - thereafter I discovered [Turbo Pascal][11] and then made the jump to [Delphi][12]. + At this point I started playing with lots of different languages and platforms. Then, + almost naturally I made the switch to the web and started developing in [PHP][13]. - At this point I started playing with lots of different languages and platforms. Then, - almost naturally I made the switch to the web and started developing in [PHP][13]. + Not satisfied with the often messy code from the PHP community I discovered [Ruby on Rails][14] + somewhere in 2005. I've been writing Ruby ever since. - Not satisfied with the often messy code from the PHP community I discovered [Ruby on Rails][14] - somewhere in 2005. I've been writing Ruby ever since. + ### Find out more about me - #### Find out more about me + Check me out on [Twitter][4], [Github][6] or [LinkedIn][5] to get to know me a bit better. - Check me out on [Twitter][4], [Github][6] or [LinkedIn][5] to get to know me a bit better. + If you want to contact me, please use the contact form on this page or [tweet something][4] + or [send an email directly][8]. - If you want to contact me, please use the contact form on this page or [tweet something][4] - or [send an email directly][8]. + [1]: http://maps.google.nl/maps?f=q&source=s_q&hl=nl&geocode=&q=eindhoven&sll=52.469397,5.509644&sspn=4.692139,10.942383&ie=UTF8&hq=&hnear=Breugel,+Noord-Brabant&ll=51.440313,5.482178&spn=4.800964,10.942383&t=h&z=7 + [2]: http://laura-oerlemans.net/ + [3]: http://kabisa.nl/ + [4]: http://twitter.com/ariejan + [5]: http://aj.gs/linkedin + [6]: http://aj.gs/github + [8]: mailto:ariejan@ariejan.net + [9]: http://en.wikipedia.org/wiki/GW-BASIC + [10]: http://en.wikipedia.org/wiki/Qbasic + [11]: http://en.wikipedia.org/wiki/Turbo_pascal + [12]: http://en.wikipedia.org/wiki/Borland_Delphi + [13]: http://en.wikipedia.org/wiki/Php + [14]: http://en.wikipedia.org/wiki/Ruby_on_rails - [1]: http://maps.google.nl/maps?f=q&source=s_q&hl=nl&geocode=&q=eindhoven&sll=52.469397,5.509644&sspn=4.692139,10.942383&ie=UTF8&hq=&hnear=Breugel,+Noord-Brabant&ll=51.440313,5.482178&spn=4.800964,10.942383&t=h&z=7 - [2]: http://laura-oerlemans.net/ - [3]: http://kabisa.nl/ - [4]: http://twitter.com/ariejan - [5]: http://aj.gs/linkedin - [6]: http://aj.gs/github - [8]: mailto:ariejan@ariejan.net - [9]: http://en.wikipedia.org/wiki/GW-BASIC - [10]: http://en.wikipedia.org/wiki/Qbasic - [11]: http://en.wikipedia.org/wiki/Turbo_pascal - [12]: http://en.wikipedia.org/wiki/Borland_Delphi - [13]: http://en.wikipedia.org/wiki/Php - [14]: http://en.wikipedia.org/wiki/Ruby_on_rails + .large-4.columns + .avatar - .one_half.last - %form(id="form1" name="form1" class="wufoo page" autocomplete="off" enctype="multipart/form-data" method="post" novalidate action="https://ariejan.wufoo.com/forms/z7x4z5/#public") + %form(id="form1" name="form1" class="wufoo page" autocomplete="off" enctype="multipart/form-data" method="post" novalidate action="https://ariejan.wufoo.com/forms/z7x4z5/#public") - %h3 Leave me a message + %h3 Leave me a message - %ul - %li#foli1.notranslate - %label.desc#title1(for="Field1") - Message - %span#req_1.req * - %div - %textarea#Field1.field.textarea.medium(name="Field1" spellcheck="true" rows="10" cols="50" tabindex="1" onkeyup="" required) + %ul + %li + %div + %textarea.field.textarea.medium(name="Field1" spellcheck="true" rows="10" cols="50" tabindex="1" placeholder="How can I be of help?" onkeyup="" required) + %li + %div + %input(id="Field4" name="Field4" type="text" class="field text large" value="" maxlength="255" tabindex="2" onkeyup="" placeholder="Your name, please") - %li#foli4.notranslate - %label.desc#title4(for="Field4") - Your name - %div - %input(id="Field4" name="Field4" type="text" class="field text large" value="" maxlength="255" tabindex="2" onkeyup="") - %p.instruct#instruct4 - %small Just so I know who's talking to me. + %li + %div + %input(id="Field2" name="Field2" type="email" spellcheck="false" class="field text large" value="" maxlength="255" tabindex="3" required placeholder="Your email address") - %li#foli2.notranslate - %label.desc#title2(for="Field2") - Email Address - %span#req_2.req * - %div - %input(id="Field2" name="Field2" type="email" spellcheck="false" class="field text large" value="" maxlength="255" tabindex="3" required) + %li.buttons + %div + %a.button(href="javascript:{}" onclick="document.getElementById('form1').submit();") + %span Send message - %p.instruct#instruct2 - %small We won't share this with strangers. - - %li.buttons - %div - %a.button(href="javascript:{}" onclick="document.getElementById('form1').submit();") - %span Send message - - %li.hide - %label(for="comment") Do Not Fill This Out - %textarea(name="comment" id="comment" rows="1" cols="1") - %input(type="hidden" id="idstamp" name="idstamp" value="CUVI8NzGGu1E9xkpfytNrtxYAhGs8IrYwj0vZn2ji1c=") + %li.hide + %label(for="comment") Do Not Fill This Out + %textarea(name="comment" id="comment" rows="1" cols="1") + %input(type="hidden" id="idstamp" name="idstamp" value="CUVI8NzGGu1E9xkpfytNrtxYAhGs8IrYwj0vZn2ji1c=") diff --git a/content/craftsmanship.haml b/content/craftsmanship.haml index ef06af9..ffff1c6 100644 --- a/content/craftsmanship.haml +++ b/content/craftsmanship.haml @@ -1,9 +1,11 @@ --- title: Software Craftsmanship --- -.content_wrap.nobg - %section#middle_content +.row + .large-8.push-2.columns :markdown + # Craftsmanship + Well, this is awkward. I've got all these great arguments in my head to explain to you why software craftsmanship is so important and great. But I just haven't had any time yet to write them all down for you in a coherent way. - Please stand-by while I type this up. Soon. Promise! \ No newline at end of file + Please stand-by while I type this up. Soon. Promise! diff --git a/content/css/_fonts.scss b/content/css/_fonts.scss deleted file mode 100644 index 1ff1ec8..0000000 --- a/content/css/_fonts.scss +++ /dev/null @@ -1,277 +0,0 @@ -body {font:13px/18px Helvetica, Arial, 'Nimbus Sans L', sans-serif;} - -li p { - font-size:13px; - line-height:18px; -} - -input, textarea {font:13px/18px "Droid Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -code {font:12px/16px Monaco,Menlo,Consolas,"Courier New",monospace;} - -h1 {font:36px/54px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -h2 {font:400 24px/36px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -h3, -.sitemap > li > a {font:22px/36px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -h4, -#sidebar .widgettitle {font:18px/24px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -h5 {font:italic 18px/24px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -h6, -.portfolio_inner .hover_effect .post_category a, -.sitemap > li > ul > li > a, -.cms_archive li {font:italic 14px/18px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -small, -abbr {font:12px/18px Arial, Helvetica, 'Nimbus Sans L', sans-serif;} - -blockquote, -q, -.format-aside .entry-content {font:italic 18px/24px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -q:after, blockquote:after {font-family:"Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -span.dropcap, -span.dropcap2 {font-family: "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -.button, -.button_medium, -.button_large, -.comment-reply-link, -.tabs li a, -.cmsms_comments {font-family:"Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -#navigation > li > a {font:600 14px/20px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -#navigation ul li a {font:600 13px/20px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - - -/* Colors */ - -/* ---------------------------------------------- Content Color */ - -body, -a:hover, -.jp-playlist-current a, -.wp-pagenavi a, -.cmsmsLike span {color:#808080;} - -input, -textarea {color:#808080;} - -.cmsmsLike {background-color:#cccccc;} - -.cont_nav, -.cont_nav a {color:#ffffff;} - -/* ---------------------------------------------- Navigation Color */ - -#navigation > li > a { - background-color:#191919; - color:#ffffff; -} - -.nav_wrap_inner.navi_scrolled {background-color:#191919;} - -#navigation ul li a { - background-color:#191919; - color:#ffffff; -} - -#navigation > li > ul {background-color:#191919;} - -#navigation ul li.current_page_item > a, -#navigation ul li > a:hover, -#navigation ul li:hover > a { - background-color:#252525; - color:#ffffff; -} - -/* ---------------------------------------------- Buttons Colors */ - -.cmsmsLike:hover, -.resp_navigation.active, -.widget_custom_popular_portfolio_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li.active a, -.widget_custom_popular_portfolio_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li:hover a, -.widget_custom_testimonials_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li.active a, -.widget_custom_testimonials_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li:hover a, -.tp-bullets.simplebullets .bullet:hover, -.tp-bullets.simplebullets .bullet.selected, -#slide_top {background-color:#ff9108;} - -/* ---------------------------------------------- Headings Colors */ - -h1, -.post .entry-title a, -.post.format-link .entry-title a:hover {color:#565656;} - -h2 {color:#565656;} - -h3 {color:#565656;} - -h4 {color:#565656;} - -h5 {color:#565656;} - -h6, -.portfolio_inner .entry-title a {color:#565656;} - -.color_2, -q:before, -blockquote:before, -q, -blockquote, -.tog, -.tog:hover, -.tabs li a, -.tour li a {color:#565656;} - -/* ---------------------------------------------- Links Colors */ - -a, -.color_3, -.post footer .published, -.post .entry-title a:hover, -.post.format-link .entry-title a, -.cmsmsLike:hover span, -.portfolio_inner .entry-title a:hover { - // color:#ff9108; - // color: #658590; - color: #4aabcc; -} - -ul.cmsms_slides_nav li.active a, -ul.cmsms_slides_nav li:hover a, -span.dropcap2, -.tog:hover .cmsms_plus, -.tog.current .cmsms_plus, -.tour li.current .cmsms_plus, -.tour li a:hover .cmsms_plus, -.cmsms_comments, -.wp-pagenavi > span.current, -.wp-pagenavi a:hover, -.portfolio_inner .hover_effect { - // background-color:#ff9108; - background-color: #658590; -} - -.tabs li a.current { - // background:#ff9108; - background: #658590; -} - -input[type="text"]:focus, -textarea:focus, -select:focus, -#bottom input:focus, -#bottom textarea:focus, -#bottom select:focus, -.tabs > li a.current, -.wp-pagenavi > span.current, -.wp-pagenavi a:hover { - // border-color:#ff9108; - background-color: #658590; -} - -/* ---------------------------------------------- Slider colors */ - -a.cmsms_close_video:hover {background-color:#ff9108;} - -.slideCaptionInnerBlock { - background:#000000; - background:rgba(0, 0, 0, .7); -} - -.responsiveSlider, -.responsiveSlider h1, -.responsiveSlider h2, -.responsiveSlider h3, -.responsiveSlider h4, -.responsiveSlider h5, -.responsiveSlider h6 {color:#ffffff;} - -.responsiveSlider h1 { - font-size:30px; - line-height:36px; -} - -/* ---------------------------------------------- Revolution Slider */ - -.fullwidthbanner h1 { - font:36px/36px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif; - color:#3a3a3a; -} - -.fullwidthbanner h2 { - font:800 36px/36px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif; - color:#3a3a3a; -} - -.fullwidthbanner h3 {font:800 72px/72px "Open Sans", Helvetica, "Nimbus Sans L", sans-serif;} - -/* ---------------------------------------------- Bottom and Footer Colors */ - -#bottom, -#bottom a:hover {color:#817e75;} - -#bottom h1 {color:#ffffff;} - -#bottom h2 {color:#ffffff;} - -#bottom h3 {color:#ffffff;} - -#bottom h4 {color:#ffffff;} - -#bottom h5 {color:#ffffff;} - -#bottom h6 {color:#ffffff;} - -#bottom .color_2 {color:#ffffff;} - -#footer, -#footer a {color:#808080;} - - -/* ---------- Small Monitor (Note: Design for a width less than 1024px) ---------- */ - -@media only screen and (max-width: 1023px) { - - .responsiveSlider h1 { - font-size:1.5em; - line-height:1.2em; - } - - .portfolio_inner .hover_effect .post_category a {font-size:.9em;} - - .portfolio_inner .hover_effect .entry-title {font-size:1.1em;} - -} - -/* ---------- Small Tablet & Mobile (Note: Design for a width less than 541px) ---------- */ - -@media only screen and (max-width: 540px) { - - .responsibe_block_inner {border-color:#ff9108;} - - #navigation > li > ul {background:none;} - - #navigation > li > a, - #navigation ul li a{ - background-color:#ffffff; - color:#3c3c3c; - font-weight:normal; - font-style:italic; - } - - #navigation ul li.current_page_item a, - #navigation ul li a:hover, - #navigation ul li:hover > a { - background-color:#fcfcfc; - color:#3c3c3c; - } - -} diff --git a/content/css/_jquery_prettyphoto.scss b/content/css/_jquery_prettyphoto.scss deleted file mode 100644 index a5d6ae5..0000000 --- a/content/css/_jquery_prettyphoto.scss +++ /dev/null @@ -1 +0,0 @@ -div.pp_default .pp_top,div.pp_default .pp_top .pp_middle,div.pp_default .pp_top .pp_left,div.pp_default .pp_top .pp_right,div.pp_default .pp_bottom,div.pp_default .pp_bottom .pp_left,div.pp_default .pp_bottom .pp_middle,div.pp_default .pp_bottom .pp_right{height:13px}div.pp_default .pp_top .pp_left{background:url(../../images/prettyPhoto/default/sprite.png) -78px -93px no-repeat}div.pp_default .pp_top .pp_middle{background:url(../../images/prettyPhoto/default/sprite_x.png) top left repeat-x}div.pp_default .pp_top .pp_right{background:url(../../images/prettyPhoto/default/sprite.png) -112px -93px no-repeat}div.pp_default .pp_content .ppt{color:#f8f8f8}div.pp_default .pp_content_container .pp_left{background:url(../../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y;padding-left:13px}div.pp_default .pp_content_container .pp_right{background:url(../../images/prettyPhoto/default/sprite_y.png) top right repeat-y;padding-right:13px}div.pp_default .pp_next:hover{background:url(../../images/prettyPhoto/default/sprite_next.png) center right no-repeat;cursor:pointer}div.pp_default .pp_previous:hover{background:url(../../images/prettyPhoto/default/sprite_prev.png) center left no-repeat;cursor:pointer}div.pp_default .pp_expand{background:url(../../images/prettyPhoto/default/sprite.png) 0 -29px no-repeat;cursor:pointer;width:28px;height:28px}div.pp_default .pp_expand:hover{background:url(../../images/prettyPhoto/default/sprite.png) 0 -56px no-repeat;cursor:pointer}div.pp_default .pp_contract{background:url(../../images/prettyPhoto/default/sprite.png) 0 -84px no-repeat;cursor:pointer;width:28px;height:28px}div.pp_default .pp_contract:hover{background:url(../../images/prettyPhoto/default/sprite.png) 0 -113px no-repeat;cursor:pointer}div.pp_default .pp_close{width:30px;height:30px;background:url(../../images/prettyPhoto/default/sprite.png) 2px 1px no-repeat;cursor:pointer}div.pp_default .pp_gallery ul li a{background:url(../../images/prettyPhoto/default/default_thumb.png) center center #f8f8f8;border:1px solid #aaa}div.pp_default .pp_gallery a.pp_arrow_previous,div.pp_default .pp_gallery a.pp_arrow_next{position:static;left:auto}div.pp_default .pp_nav .pp_play,div.pp_default .pp_nav .pp_pause{background:url(../../images/prettyPhoto/default/sprite.png) -51px 1px no-repeat;height:30px;width:30px}div.pp_default .pp_nav .pp_pause{background-position:-51px -29px}div.pp_default a.pp_arrow_previous,div.pp_default a.pp_arrow_next{background:url(../../images/prettyPhoto/default/sprite.png) -31px -3px no-repeat;height:20px;width:20px;margin:4px 0 0}div.pp_default a.pp_arrow_next{left:52px;background-position:-82px -3px}div.pp_default .pp_content_container .pp_details{margin-top:5px}div.pp_default .pp_nav{clear:none;height:30px;width:105px;position:relative}div.pp_default .pp_nav .currentTextHolder{font-family:Georgia;font-style:italic;font-color:#999;font-size:11px;left:75px;line-height:25px;position:absolute;top:2px;margin:0;padding:0 0 0 10px}div.pp_default .pp_close:hover,div.pp_default .pp_nav .pp_play:hover,div.pp_default .pp_nav .pp_pause:hover,div.pp_default .pp_arrow_next:hover,div.pp_default .pp_arrow_previous:hover{opacity:0.7}div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0}div.pp_default .pp_bottom .pp_left{background:url(../../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat}div.pp_default .pp_bottom .pp_middle{background:url(../../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x}div.pp_default .pp_bottom .pp_right{background:url(../../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat}div.pp_default .pp_loaderIcon{background:url(../../images/prettyPhoto/default/loader.gif) center center no-repeat}div.light_rounded .pp_top .pp_left{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -88px -53px no-repeat}div.light_rounded .pp_top .pp_right{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -110px -53px no-repeat}div.light_rounded .pp_next:hover{background:url(../../images/prettyPhoto/light_rounded/btnNext.png) center right no-repeat;cursor:pointer}div.light_rounded .pp_previous:hover{background:url(../../images/prettyPhoto/light_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}div.light_rounded .pp_expand{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}div.light_rounded .pp_expand:hover{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}div.light_rounded .pp_contract{background:url(../../images/prettyPhoto/light_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}div.light_rounded .pp_contract:hover{background:url(../../images/prettyPhoto/light_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}div.light_rounded .pp_close{width:75px;height:22px;background:url(../../images/prettyPhoto/light_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}div.light_rounded .pp_nav .pp_play{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.light_rounded .pp_nav .pp_pause{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.light_rounded .pp_arrow_previous{background:url(../../images/prettyPhoto/light_rounded/sprite.png) 0 -71px no-repeat}div.light_rounded .pp_arrow_next{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -22px -71px no-repeat}div.light_rounded .pp_bottom .pp_left{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -88px -80px no-repeat}div.light_rounded .pp_bottom .pp_right{background:url(../../images/prettyPhoto/light_rounded/sprite.png) -110px -80px no-repeat}div.dark_rounded .pp_top .pp_left{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -88px -53px no-repeat}div.dark_rounded .pp_top .pp_right{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -110px -53px no-repeat}div.dark_rounded .pp_content_container .pp_left{background:url(../../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat-y}div.dark_rounded .pp_content_container .pp_right{background:url(../../images/prettyPhoto/dark_rounded/contentPattern.png) top right repeat-y}div.dark_rounded .pp_next:hover{background:url(../../images/prettyPhoto/dark_rounded/btnNext.png) center right no-repeat;cursor:pointer}div.dark_rounded .pp_previous:hover{background:url(../../images/prettyPhoto/dark_rounded/btnPrevious.png) center left no-repeat;cursor:pointer}div.dark_rounded .pp_expand{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -31px -26px no-repeat;cursor:pointer}div.dark_rounded .pp_expand:hover{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -31px -47px no-repeat;cursor:pointer}div.dark_rounded .pp_contract{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) 0 -26px no-repeat;cursor:pointer}div.dark_rounded .pp_contract:hover{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) 0 -47px no-repeat;cursor:pointer}div.dark_rounded .pp_close{width:75px;height:22px;background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -1px -1px no-repeat;cursor:pointer}div.dark_rounded .pp_description{margin-right:85px;color:#fff}div.dark_rounded .pp_nav .pp_play{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.dark_rounded .pp_nav .pp_pause{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.dark_rounded .pp_arrow_previous{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) 0 -71px no-repeat}div.dark_rounded .pp_arrow_next{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -22px -71px no-repeat}div.dark_rounded .pp_bottom .pp_left{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -88px -80px no-repeat}div.dark_rounded .pp_bottom .pp_right{background:url(../../images/prettyPhoto/dark_rounded/sprite.png) -110px -80px no-repeat}div.dark_rounded .pp_loaderIcon{background:url(../../images/prettyPhoto/dark_rounded/loader.gif) center center no-repeat}div.dark_square .pp_left,div.dark_square .pp_middle,div.dark_square .pp_right,div.dark_square .pp_content{background:#000}div.dark_square .pp_description{color:#fff;margin:0 85px 0 0}div.dark_square .pp_loaderIcon{background:url(../../images/prettyPhoto/dark_square/loader.gif) center center no-repeat}div.dark_square .pp_expand{background:url(../../images/prettyPhoto/dark_square/sprite.png) -31px -26px no-repeat;cursor:pointer}div.dark_square .pp_expand:hover{background:url(../../images/prettyPhoto/dark_square/sprite.png) -31px -47px no-repeat;cursor:pointer}div.dark_square .pp_contract{background:url(../../images/prettyPhoto/dark_square/sprite.png) 0 -26px no-repeat;cursor:pointer}div.dark_square .pp_contract:hover{background:url(../../images/prettyPhoto/dark_square/sprite.png) 0 -47px no-repeat;cursor:pointer}div.dark_square .pp_close{width:75px;height:22px;background:url(../../images/prettyPhoto/dark_square/sprite.png) -1px -1px no-repeat;cursor:pointer}div.dark_square .pp_nav{clear:none}div.dark_square .pp_nav .pp_play{background:url(../../images/prettyPhoto/dark_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.dark_square .pp_nav .pp_pause{background:url(../../images/prettyPhoto/dark_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.dark_square .pp_arrow_previous{background:url(../../images/prettyPhoto/dark_square/sprite.png) 0 -71px no-repeat}div.dark_square .pp_arrow_next{background:url(../../images/prettyPhoto/dark_square/sprite.png) -22px -71px no-repeat}div.dark_square .pp_next:hover{background:url(../../images/prettyPhoto/dark_square/btnNext.png) center right no-repeat;cursor:pointer}div.dark_square .pp_previous:hover{background:url(../../images/prettyPhoto/dark_square/btnPrevious.png) center left no-repeat;cursor:pointer}div.light_square .pp_expand{background:url(../../images/prettyPhoto/light_square/sprite.png) -31px -26px no-repeat;cursor:pointer}div.light_square .pp_expand:hover{background:url(../../images/prettyPhoto/light_square/sprite.png) -31px -47px no-repeat;cursor:pointer}div.light_square .pp_contract{background:url(../../images/prettyPhoto/light_square/sprite.png) 0 -26px no-repeat;cursor:pointer}div.light_square .pp_contract:hover{background:url(../../images/prettyPhoto/light_square/sprite.png) 0 -47px no-repeat;cursor:pointer}div.light_square .pp_close{width:75px;height:22px;background:url(../../images/prettyPhoto/light_square/sprite.png) -1px -1px no-repeat;cursor:pointer}div.light_square .pp_nav .pp_play{background:url(../../images/prettyPhoto/light_square/sprite.png) -1px -100px no-repeat;height:15px;width:14px}div.light_square .pp_nav .pp_pause{background:url(../../images/prettyPhoto/light_square/sprite.png) -24px -100px no-repeat;height:15px;width:14px}div.light_square .pp_arrow_previous{background:url(../../images/prettyPhoto/light_square/sprite.png) 0 -71px no-repeat}div.light_square .pp_arrow_next{background:url(../../images/prettyPhoto/light_square/sprite.png) -22px -71px no-repeat}div.light_square .pp_next:hover{background:url(../../images/prettyPhoto/light_square/btnNext.png) center right no-repeat;cursor:pointer}div.light_square .pp_previous:hover{background:url(../../images/prettyPhoto/light_square/btnPrevious.png) center left no-repeat;cursor:pointer}div.facebook .pp_top .pp_left{background:url(../../images/prettyPhoto/facebook/sprite.png) -88px -53px no-repeat}div.facebook .pp_top .pp_middle{background:url(../../images/prettyPhoto/facebook/contentPatternTop.png) top left repeat-x}div.facebook .pp_top .pp_right{background:url(../../images/prettyPhoto/facebook/sprite.png) -110px -53px no-repeat}div.facebook .pp_content_container .pp_left{background:url(../../images/prettyPhoto/facebook/contentPatternLeft.png) top left repeat-y}div.facebook .pp_content_container .pp_right{background:url(../../images/prettyPhoto/facebook/contentPatternRight.png) top right repeat-y}div.facebook .pp_expand{background:url(../../images/prettyPhoto/facebook/sprite.png) -31px -26px no-repeat;cursor:pointer}div.facebook .pp_expand:hover{background:url(../../images/prettyPhoto/facebook/sprite.png) -31px -47px no-repeat;cursor:pointer}div.facebook .pp_contract{background:url(../../images/prettyPhoto/facebook/sprite.png) 0 -26px no-repeat;cursor:pointer}div.facebook .pp_contract:hover{background:url(../../images/prettyPhoto/facebook/sprite.png) 0 -47px no-repeat;cursor:pointer}div.facebook .pp_close{width:22px;height:22px;background:url(../../images/prettyPhoto/facebook/sprite.png) -1px -1px no-repeat;cursor:pointer}div.facebook .pp_description{margin:0 37px 0 0}div.facebook .pp_loaderIcon{background:url(../../images/prettyPhoto/facebook/loader.gif) center center no-repeat}div.facebook .pp_arrow_previous{background:url(../../images/prettyPhoto/facebook/sprite.png) 0 -71px no-repeat;height:22px;margin-top:0;width:22px}div.facebook .pp_arrow_previous.disabled{background-position:0 -96px;cursor:default}div.facebook .pp_arrow_next{background:url(../../images/prettyPhoto/facebook/sprite.png) -32px -71px no-repeat;height:22px;margin-top:0;width:22px}div.facebook .pp_arrow_next.disabled{background-position:-32px -96px;cursor:default}div.facebook .pp_nav{margin-top:0}div.facebook .pp_nav p{font-size:15px;padding:0 3px 0 4px}div.facebook .pp_nav .pp_play{background:url(../../images/prettyPhoto/facebook/sprite.png) -1px -123px no-repeat;height:22px;width:22px}div.facebook .pp_nav .pp_pause{background:url(../../images/prettyPhoto/facebook/sprite.png) -32px -123px no-repeat;height:22px;width:22px}div.facebook .pp_next:hover{background:url(../../images/prettyPhoto/facebook/btnNext.png) center right no-repeat;cursor:pointer}div.facebook .pp_previous:hover{background:url(../../images/prettyPhoto/facebook/btnPrevious.png) center left no-repeat;cursor:pointer}div.facebook .pp_bottom .pp_left{background:url(../../images/prettyPhoto/facebook/sprite.png) -88px -80px no-repeat}div.facebook .pp_bottom .pp_middle{background:url(../../images/prettyPhoto/facebook/contentPatternBottom.png) top left repeat-x}div.facebook .pp_bottom .pp_right{background:url(../../images/prettyPhoto/facebook/sprite.png) -110px -80px no-repeat}div.pp_pic_holder a:focus{outline:none}div.pp_overlay{background:#000;display:none;left:0;position:absolute;top:0;width:100%;z-index:9500}div.pp_pic_holder{display:none;position:absolute;width:100px;z-index:10000}.pp_content{height:40px;min-width:40px}* html .pp_content{width:40px}.pp_content_container{position:relative;text-align:left;width:100%}.pp_content_container .pp_left{padding-left:20px}.pp_content_container .pp_right{padding-right:20px}.pp_content_container .pp_details{float:left;margin:10px 0 2px}.pp_description{display:none;margin:0}.pp_social{float:left;margin:7px 0 0}.pp_social .facebook{float:left;position:relative;top:-1px;margin-left:5px;width:55px;overflow:hidden}.pp_social .twitter{float:left}.pp_nav{clear:right;float:left;margin:3px 10px 0 0}.pp_nav p{float:left;margin:2px 4px}.pp_nav .pp_play,.pp_nav .pp_pause{float:left;margin-right:4px;text-indent:-10000px}a.pp_arrow_previous,a.pp_arrow_next{display:block;float:left;height:15px;margin-top:3px;overflow:hidden;text-indent:-10000px;width:14px}.pp_hoverContainer{position:absolute;top:0;width:100%;z-index:2000}.pp_gallery{display:none;left:50%;margin-top:-50px;position:absolute;z-index:10000}.pp_gallery div{float:left;overflow:hidden;position:relative}.pp_gallery ul{float:left;height:35px;position:relative;white-space:nowrap;margin:0 0 0 5px;padding:0}.pp_gallery ul a{border:1px rgba(0,0,0,0.5) solid;display:block;float:left;height:33px;overflow:hidden}.pp_gallery ul a img{border:0}.pp_gallery li{display:block;float:left;margin:0 5px 0 0;padding:0}.pp_gallery li.default a{background:url(../../images/prettyPhoto/facebook/default_thumbnail.gif) 0 0 no-repeat;display:block;height:33px;width:50px}.pp_gallery .pp_arrow_previous,.pp_gallery .pp_arrow_next{margin-top:7px!important}a.pp_next{background:url(../../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:right;height:100%;text-indent:-10000px;width:49%}a.pp_previous{background:url(../../images/prettyPhoto/light_rounded/btnNext.png) 10000px 10000px no-repeat;display:block;float:left;height:100%;text-indent:-10000px;width:49%}a.pp_expand,a.pp_contract{cursor:pointer;display:none;height:20px;position:absolute;right:30px;text-indent:-10000px;top:10px;width:20px;z-index:20000}a.pp_close{position:absolute;right:0;top:0;display:block;line-height:22px;text-indent:-10000px}.pp_loaderIcon{display:block;height:24px;left:50%;position:absolute;top:50%;width:24px;margin:-12px 0 0 -12px}#pp_full_res{line-height:1!important}#pp_full_res .pp_inline{text-align:left}#pp_full_res .pp_inline p{margin:0 0 15px}div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px}div.pp_default .pp_content,div.light_rounded .pp_content{background-color:#f8f8f8;}div.pp_default #pp_full_res .pp_inline,div.light_rounded .pp_content .ppt,div.light_rounded #pp_full_res .pp_inline,div.light_square .pp_content .ppt,div.light_square #pp_full_res .pp_inline,div.facebook .pp_content .ppt,div.facebook #pp_full_res .pp_inline{color:#000}div.pp_default .pp_gallery ul li a:hover,div.pp_default .pp_gallery ul li.selected a,.pp_gallery ul a:hover,.pp_gallery li.selected a{border-color:#fff}div.pp_default .pp_details,div.light_rounded .pp_details,div.dark_rounded .pp_details,div.dark_square .pp_details,div.light_square .pp_details,div.facebook .pp_details{position:relative}div.light_rounded .pp_top .pp_middle,div.light_rounded .pp_content_container .pp_left,div.light_rounded .pp_content_container .pp_right,div.light_rounded .pp_bottom .pp_middle,div.light_square .pp_left,div.light_square .pp_middle,div.light_square .pp_right,div.light_square .pp_content,div.facebook .pp_content{background:#fff}div.light_rounded .pp_description,div.light_square .pp_description{margin-right:85px}div.light_rounded .pp_gallery a.pp_arrow_previous,div.light_rounded .pp_gallery a.pp_arrow_next,div.dark_rounded .pp_gallery a.pp_arrow_previous,div.dark_rounded .pp_gallery a.pp_arrow_next,div.dark_square .pp_gallery a.pp_arrow_previous,div.dark_square .pp_gallery a.pp_arrow_next,div.light_square .pp_gallery a.pp_arrow_previous,div.light_square .pp_gallery a.pp_arrow_next{margin-top:12px!important}div.light_rounded .pp_arrow_previous.disabled,div.dark_rounded .pp_arrow_previous.disabled,div.dark_square .pp_arrow_previous.disabled,div.light_square .pp_arrow_previous.disabled{background-position:0 -87px;cursor:default}div.light_rounded .pp_arrow_next.disabled,div.dark_rounded .pp_arrow_next.disabled,div.dark_square .pp_arrow_next.disabled,div.light_square .pp_arrow_next.disabled{background-position:-22px -87px;cursor:default}div.light_rounded .pp_loaderIcon,div.light_square .pp_loaderIcon{background:url(../../images/prettyPhoto/light_rounded/loader.gif) center center no-repeat}div.dark_rounded .pp_top .pp_middle,div.dark_rounded .pp_content,div.dark_rounded .pp_bottom .pp_middle{background:url(../../images/prettyPhoto/dark_rounded/contentPattern.png) top left repeat}div.dark_rounded .currentTextHolder,div.dark_square .currentTextHolder{color:#c4c4c4}div.dark_rounded #pp_full_res .pp_inline,div.dark_square #pp_full_res .pp_inline{color:#fff}.pp_top,.pp_bottom{height:20px;position:relative}* html .pp_top,* html .pp_bottom{padding:0 20px}.pp_top .pp_left,.pp_bottom .pp_left{height:20px;left:0;position:absolute;width:20px}.pp_top .pp_middle,.pp_bottom .pp_middle{height:20px;left:20px;position:absolute;right:20px}* html .pp_top .pp_middle,* html .pp_bottom .pp_middle{left:0;position:static}.pp_top .pp_right,.pp_bottom .pp_right{height:20px;left:auto;position:absolute;right:0;top:0;width:20px}.pp_fade,.pp_gallery li.default a img{display:none} \ No newline at end of file diff --git a/content/css/_main.scss b/content/css/_main.scss deleted file mode 100644 index 351e899..0000000 --- a/content/css/_main.scss +++ /dev/null @@ -1,147 +0,0 @@ -body { - font-family: "Helvetica Neue","Helvetica","Arial",sans-serif; - font-weight: 300; - font-size: 1em; - line-height: 1.9; -} - -.talk { - .caption { - margin: 0 12px; - text-align: center; - } -} - -.search-box { - padding-top: 12px; - input#google-search-box { - width: 98%; - } -} - -.wufoo { - ul { - list-style-image: none; - list-style-type: none; - - li.hide { - display: none; - } - } -} - -img.gravatar { - margin-right: 12px; - margin-bottom: 12px; - float: left; - padding: 2px; - border: 1px solid #e0e0e0; -} - -#influad { - width: 130px; - position: fixed; - - margin-top: 16px; - - .influads_text { - margin-top: 6px; - - color: #696969; - text-align: justify; - - font-size: 11px; - line-height: 15px; - a { - color: #696969; - } - } - - .influads_powered_div { - font-size: 10px; - } -} - -ul.tla { - font-size: 9px; - color: #999; - - list-style-image: none; - list-style-type: none; - - li { - display: inline; - margin-right: 8px; - } -} - -ol.posts { - list-style-type: none; - list-style-image: none; - - padding: 0; - margin: 0 0 24px 0; - - font-family: 'Open Sans'; - font-weight: 400; - font-size: 14px; - - li { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - span.date { - display: inline-block; - text-align: left; - } - } -} - -pre, .plaincode{ - background: none; - border: none; - border-radius: none; - - font-size: 12px; - overflow: visible; - - padding: 6px 6px; - margin: 0 0 11px 0; - - word-break: normal; - word-wrap: normal; - - white-space: pre; - display: block; -} - -.plaincode { - background-color: #f9f9f9; -} - -.code { - overflow: auto; - margin: 0 0 11px 0; - - table { - width: 100%; - - .linenodiv { - background-color: #f4f4f4; - color: #AAA; - padding: 0 0.5em; - border-right: 1px solid #DDD; - text-align: right; - } - - td.code { - width: 100%; - } - - .highlight { - background-color: #f9f9f9; - } - - } -} diff --git a/content/css/_pygments.scss b/content/css/_pygments.scss index 67fe210..dc60655 100644 --- a/content/css/_pygments.scss +++ b/content/css/_pygments.scss @@ -58,4 +58,4 @@ .vc { color: #008080 } /* Name.Variable.Class */ .vg { color: #008080 } /* Name.Variable.Global */ .vi { color: #008080 } /* Name.Variable.Instance */ -.il { color: #009999 } /* Literal.Number.Integer.Long */ \ No newline at end of file +.il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/content/css/_willbridge.scss b/content/css/_willbridge.scss deleted file mode 100644 index 008e003..0000000 --- a/content/css/_willbridge.scss +++ /dev/null @@ -1,3897 +0,0 @@ -/* -Template Name: Willbridge HTML -Template URI: http://willbridge-html.cmsmasters.net/ -Author: cmsmasters -Author URI: http://cmsmasters.net/ -Description: The Willbridge Responsive HTML5 Site Template. -Version: 1.0 -License: -License URI: -Tags: light, white, one-column, two-columns, left-sidebar, right-sidebar, custom-colors, post-formats, responsive, html5, css3 -*/ - -html, body, #page {height:100%;} - -body { - background: url(../images/bgs/02.jpg) repeat-x 50% 0; - background-attachment: fixed; - text-align:left; - margin:0; - padding:0; -} - -header, -footer, -article, -section, -nav, -figure, -address, -hgroup, -abbr, -figcaption, -aside { - margin:0; - padding:0; - display:block; -} - -abbr {border:none;} - -address {font-style:normal;} - -a { - outline:none; - text-decoration:none; - cursor:pointer; - -webkit-transition:color .2s ease-out; - -moz-transition:color .2s ease-out; - -ms-transition:color .2s ease-out; - -o-transition:color .2s ease-out; - transition:color .2s ease-out; -} - -p { - margin:0; - padding:0 0 18px; -} - -table { - padding:0; - margin:0; - border-collapse:collapse; -} - -td, -th, -tr { - padding:0; - margin:0; -} - -ol, -ul, -li, -dl, -dt, -dd { - padding:0; - margin:0; -} - -ol, -ul {margin:0 0 18px;} - -ol {list-style-position:inside;} - -ol li {line-height:24px;} - -ul {list-style:inside url(../images/arrow_list.png);} - -li {line-height:24px;} - -img { - padding:0; - border:0; -} - -a img { - border:0; - display:block; -} - -.fullwidth { - display:block; - min-width:100%; - max-width:100%; -} - -img.fullwidth { - image-rendering:optimizeQuality; - -ms-interpolation-mode:bicubic; -} - -.preloader { - background:url(../images/loader.gif) 50% 50% no-repeat; - display:block; - width:100%; - height:0; - padding-bottom:56.25%; - position:relative; -} - -.resizable_block { - width:100%; - height:0; - padding-bottom:56.25%; - position:relative; - overflow:hidden; -} - -.preloader .fullwidth, -.portfolio_container .preloader .fullwidth, -.resize .preloader .fullwidth, -.resizable_block .fullwidth { - width:100%; - height:100%; - position:absolute; - top:0; - left:0; -} - -div { - text-align:left; - margin:0; - padding:0; -} - -blockquote, -input, -textarea { - padding:0; - margin:0; -} - -object, -video, -audio, -embed, -canvas {display:block;} - -form { - border:none; - margin:0; - padding:0; -} - -fieldset { - border:0; - margin:0; - padding:0; -} - -label { - display:block; - margin:0; - padding:0; -} - -input { - border:0; - background:none; - outline:none; - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; -} - -textarea { - background:none; - border:0; - min-height:260px; - overflow:hidden; - outline:none; - resize:none; - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin:0 0 18px; - padding:0; -} - -.cl {clear:both;} - -.ovh {overflow:hidden;} - -.fl {float:left;} - -.fr {float:right;} - -#page { - height:auto; - min-height:100%; - margin:0 auto; - position:relative; -} - -.container {padding-bottom:70px;} - - -/* ---------- Header ---------- */ - -#header { - width:840px; - margin:0 auto; - position:relative; -} - -.header_inner { - height:117px; - overflow:hidden; - position:relative; -} - -.custom_html { - position:absolute; - left:193px; - top:48px; -} - -.logo { - display:inline-block; - position:absolute; - left:0; - top:32px; -} - -.responsibe_block, -.responsibe_block .social_list {display:none;} - -.header_inner .social_list { - position:absolute; - top:50px; - right:8px; -} - -.social_list {margin:0;} - -.social_list li { - list-style:none; - float:left; - margin:0; - padding-right:1px; -} - -.social_list li a img { - -webkit-transition:opacity .3s ease-out; - -moz-transition:opacity .3s ease-out; - -ms-transition:opacity .3s ease-out; - -o-transition:opacity .3s ease-out; - transition:opacity .3s ease-out; -} - -.social_list li a:hover img { - opacity:.6; - filter:alpha(opacity=60); -} - -/* ---------- Navigation ---------- */ - -#header .nav_wrap { - height:66px; - position:relative; - top:-6px; -} - -.touch_dev .nav_wrap_inner.navi_scrolled { - background:none; - position:relative; - top:0; - opacity:1; - width:auto; -} - -.touch_dev .navi_scrolled nav {width:auto;} - -.nav_wrap_inner.navi_scrolled { - // background:url(../images/bg_sharp.png) repeat 0 0; - position:fixed; - left:0; - top:-60px; - width:100%; - opacity:0; - z-index:201; -} - -.navi_scrolled nav { - width:840px; - margin:0 auto; -} - -.navi_scrolled #navigation > li:first-child > a, -.navi_scrolled #navigation > li:last-child > a, -.navi_scrolled #navigation > li:first-child > a > span, -.navi_scrolled #navigation > li:last-child > a > span { - border-radius:0; - -moz-border-radius:0; - -webkit-border-radius:0; -} - -.navi_scrolled #navigation > li > a {margin-top:0;} - -.navi_scrolled #navigation > li.current_page_item > a > span, -.navi_scrolled #navigation > li:hover > a > span, -.navi_scrolled #navigation > li > a:hover > span {padding-top:15px;} - -.navi_scrolled #navigation > li > ul {top:60px;} - -.navi_scrolled #navigation > li:last-child > a {border-right:1px solid #1d1d1d;} - -.navi_scrolled #navigation > li:last-child > a > span { - -webkit-box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; - -moz-box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; - box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; -} - -.navi_scrolled #navigation > li:first-child > a {border-left:1px solid #1d1d1d;} - -.navi_scrolled #navigation > li > a { - border-left:1px solid #1d1d1d; - -webkit-box-shadow:-1px 0 0 rgba(255, 255, 255, .1); - -moz-box-shadow:-1px 0 0 rgba(255, 255, 255, .1); - box-shadow:-1px 0 0 rgba(255, 255, 255, .1); -} - -#header nav {position:relative;} - -#navigation, -#navigation ul { - margin:0; - padding:0; - list-style:none; -} - -#navigation:after {clear:both;} - -#navigation { - width:100%; - display:table; - z-index:202; - zoom:1; -} - -#navigation li { - line-height:20px; - padding-left:0; - margin:0 0 0 30px; - position:relative; - z-index:203; -} - -#navigation a {z-index:204;} - -#navigation > li > a, -.touch_dev #navigation > li > a { - border-left:1px solid #1d1d1d; - display:block; - padding-bottom:12px; - margin-top:6px; - -webkit-box-shadow:-1px 1px 0 rgba(0, 0, 0, .1) inset; - -moz-box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; - box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; -} - -#navigation > li { - display:block; - width:20%; - float:left; - vertical-align:top; - margin:0; -} - -#navigation > li:first-child > a, -.touch_dev #navigation > li:first-child > a { - border-left:none; - border-radius:5px 0 0 5px; - -moz-border-radius:5px 0 0 5px; - -webkit-border-radius:5px 0 0 5px; -} - -#navigation > li:last-child > a, -.touch_dev #navigation > li:last-child > a { - border-radius:0 5px 5px 0; - -moz-border-radius:0 5px 5px 0; - -webkit-border-radius:0 5px 5px 0; -} - -#navigation > li:first-child > a > span, -.touch_dev #navigation > li:first-child > a > span { - border-radius:5px 0 0 0; - -moz-border-radius:5px 0 0 0; - -webkit-border-radius:5px 0 0 0; -} - -#navigation > li:last-child > a > span, -.touch_dev #navigation > li:last-child > a > span { - border-radius:0 5px 0 0; - -moz-border-radius:0 5px 0 0; - -webkit-border-radius:0 5px 0 0; -} - -#navigation > li > a > span { - //background:#363636 url(../images/bg_sharp.png) repeat 0 0; - background: #191919; - border-bottom:2px solid; - text-shadow:0 1px 0 rgba(0, 0, 0, .5); - display:block; - padding:15px 20px 11px; - -webkit-box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; - -moz-box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; - box-shadow:-1px 0 0 rgba(255, 255, 255, .1) inset; -} - -#navigation > li:last-child > a > span { - -webkit-box-shadow:none; - -moz-box-shadow:none; - box-shadow:none; -} - -.touch_dev #navigation > li.current_page_item > a > span, -#navigation > li.current_page_item > a > span, -#navigation > li:hover > a > span, -#navigation > li > a:hover > span { - background-color:#1e1e1e; - padding-top:21px; -} - -#navigation > li.current_page_item > a, -#navigation > li > a:hover, -#navigation > li:hover > a { - background-color:#212121; - margin-top:0; -} - -#navigation ul { - width:100%; - padding:0; - margin:20px 0 0 0; - opacity:0; - visibility:hidden; - position:absolute; - z-index:9998; - -webkit-transition:opacity .2s ease-in-out, margin .2s ease-in-out; - -moz-transition:opacity .2s ease-in-out, margin .2s ease-in-out; - -ms-transition:opacity .2s ease-in-out, margin .2s ease-in-out; - -o-transition:opacity .2s ease-in-out, margin .2s ease-in-out; - transition:opacity .2s ease-in-out, margin .2s ease-in-out; -} - -#navigation > li > ul { - // background-image:url(../images/bg_sharp.png); - background-repeat:repeat; - background-position:0 0; - padding-bottom:10px; - top:66px; - -webkit-box-shadow:0 -1px 0 rgba(255, 255, 255, 0.1) inset; - -moz-box-shadow:0 -1px 0 rgba(255, 255, 255, 0.1) inset; - box-shadow:0 -1px 0 rgba(255, 255, 255, 0.1) inset; -} - -#navigation li:hover > ul { - opacity:1; - visibility:visible; - margin:0; -} - -#navigation ul ul { - margin:0 0 0 20px; - left:100%; - top:-1px; - z-index:9999; -} - -#navigation ul li { - display:block; - padding:0; - margin:0; - float:none; -} - -#navigation ul li:first-child > a {border-top:1px solid #1d1d1d;} - -#navigation ul li a span { - text-shadow:0 1px 0 rgba(0, 0, 0, .4); - display:block; -} - -#navigation ul li.drop > a span { - background:url(../images/arrow_navi.png) no-repeat right -35px; - padding-right:9px; -} - -#navigation ul li.drop:hover > a > span, -#navigation ul li.drop > a:hover > span, -#navigation ul li.current_page_item.drop > a > span {background-position:right 5px;} - -#navigation ul li a { - border-bottom:1px solid #1d1d1d; - font-size:13px; - line-height:20px; - display:block; - float:none; - padding:9px 8px 10px 20px; -} - -#navigation > li > ul > li:last-child {border-bottom:1px solid rgba(255, 255, 255, .1);} - -#navigation ul ul li a {margin-left:1px;} - -/* ---------- Top ---------- */ - -#top { - overflow:hidden; - border-radius:5px 5px 0 0; - -moz-border-radius:5px 5px 0 0; - -webkit-border-radius:5px 5px 0 0; -} - -#slider { - background:url(../images/loader.gif) no-repeat scroll 50% 50%; - list-style:none; - padding:0; - margin:0; - overflow:hidden; - position:relative; -} - - -/* ---------- Splash ---------- */ - -.splash { - background:#ffffff; -} - -.splash #header {z-index:999;} - -.splash #top { - position:absolute; - width:100%; - height:100%; - left:0; - top:0; -} - -.splash .responsiveSlider .cmsms_img {display:none !important;} - -.splash a.cmsms_next_slide {right:0;} - -.splash a.cmsms_prev_slide {right:32px;} - -.splash #top ul.cmsms_slides_nav {right:65px;} - -.splash .cmsms_nav_wrap_wrap {height:0;} - -.splash .cmsms_nav_wrap { - width:840px; - position:relative; - margin:0 auto; -} - -.splash .responsiveSlider > li { - background-repeat:no-repeat; - background-position:50% 50%; - background-size:cover; -} - -.splash #page { - height:auto; - padding-bottom:70px; -} - -.splash .cmsms_slider_parent, -.splash #slider { - padding-bottom:0; - height:100%; -} - -.splash .responsiveSlider .slideCaption.left, -.splash .responsiveSlider .slideCaption.right { - width:840px !important; - margin:0 auto; - right:auto !important; - position:relative; -} - -.splash .responsiveSlider .slideCaption > .slideCaptionInner {width:30% !important;} - -.splash .responsiveSlider .slideCaption.right > .slideCaptionInner { - right:0; - display: table-cell; - vertical-align: middle; -} - -.splash .responsiveSlider .slideCaption.right .splashCaption {float:right;} - -.splash .responsiveSlider .slideCaption.left .splashCaption {float:left;} - -.splashCaption {width:40%;} - -/* ---------- Top Sidebar ---------- */ - -#top_sidebar { - margin:0 20px; - position:relative; -} - -#top_sidebar .widget, -#top_sidebar .one_first {padding-bottom:0;} - - -/* ---------- Middle ---------- */ - -#middle { - background-color:#ffffff; - width:840px; - margin:27px auto 0; - position:relative; - border-radius:5px 5px 0 0; - -moz-border-radius:5px 5px 0 0; - -webkit-border-radius:5px 5px 0 0; -} - -#middle:before { - content:""; - position:absolute; - z-index:-2; - height:800px; - top:10px; - left:0; - right:0; - -webkit-box-shadow:0 0 10px rgba(0, 0, 0, .05); - -moz-box-shadow:0 0 10px rgba(0, 0, 0, .05); - box-shadow:0 0 10px rgba(0, 0, 0, .05); - -webkit-border-radius:10px / 100px 100px 275px 275px; - -moz-border-radius:10px / 100px 100px 275px 275px; - border-radius:10px / 100px 100px 275px 275px; -} - -#middle_content { - padding: 25px 0 55px 0; - margin:0 auto; - position:relative; -} - -#slide_top { - background: url(../images/top_slide.png) no-repeat 21px 24px; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - bottom: 10px; - display: none; - opacity: 0.5; - position: fixed; - right: 10px; - z-index: 998; - height:50px; - width:50px; - text-indent:-9999px; - -webkit-transition:opacity .2s ease-in-out; - -moz-transition:opacity .2s ease-in-out; - -ms-transition:opacity .2s ease-in-out; - -o-transition:opacity .2s ease-in-out; - transition:opacity .2s ease-in-out; -} - -#slide_top:hover {opacity:1;} - -video {background-color:#000000;} - -.cont_nav { - width:840px; - padding:11px 20px 0; - margin:0 auto -19px; -} - -.cont_nav a {text-decoration:underline;} - -.cont_nav a:hover {text-decoration:none;} - -.cont_nav > a:first-child {padding-left:5px;} - -.headline { - // border-bottom:2px solid #bbbbbb; - padding: 20px 18px 0 18px; -} - -.headline h2 {margin:4px 0 6px;} - -.headline table h2 {margin:0;} - -.headline table h6 {margin:-5px 0 0;} - -.headline img {margin:0 20px -10px 0;} - -.headline table td {vertical-align:middle;} - -.headline .one_half, -.headline .one_half.last, -.headline .one_third, -.headline .one_third.last, -.headline .two_third, -.headline .two_third.last, -.headline .one_fourth, -.headline .one_fourth.last, -.headline .three_fourth, -.headline .one_fourth.last { - padding-bottom:0; -} - -.headline .one_half+.one_half, -.headline .one_third+.two_third, -.headline .two_third+.one_third, -.headline .one_third+.one_third+.one_third, -.headline .one_fourth+.one_fourth+.one_half, -.headline .one_fourth+.one_half+.one_fourth, -.headline .one_half+.one_fourth+.one_fourth, -.headline .one_fourth+.three_fourth, -.headline .three_fourth+.one_fourth, -.headline .one_fourth+.one_fourth+.one_fourth+.one_fourth { - -} - -.one_first { - width:100%; - padding-bottom:20px; -} - -.one_half { - width:48%; - float:left; - padding-bottom:20px; - padding-right:4%; -} - -.one_half.last { - width:48%; - float:right; - padding-right:0; -} - -.one_third { - width:30.6%; - float:left; - padding-bottom:20px; - padding-right:4%; -} - -.one_third.last { - width:30.6%; - float:right; - padding-right:0; -} - -.two_third { - width:65.2%; - float:left; - padding-bottom:20px; - padding-right:4%; -} - -.two_third.last { - width:65.2%; - float:right; - padding-right:0; -} - -.one_fourth { - width:22%; - float:left; - padding-bottom:20px; - padding-right:4%; -} - -.one_fourth.last { - width:22%; - float:right; - padding-right:0; -} - -.three_fourth { - width:74%; - float:left; - padding-bottom:20px; - padding-right:4%; -} - -.three_fourth.last { - width:74%; - float:right; - padding-right:0; -} - -.one_half+.one_half, -.one_third+.two_third, -.two_third+.one_third, -.one_third+.one_third+.one_third, -.one_fourth+.one_fourth+.one_half, -.one_fourth+.one_half+.one_fourth, -.one_half+.one_fourth+.one_fourth, -.one_fourth+.three_fourth, -.three_fourth+.one_fourth, -.one_fourth+.one_fourth+.one_fourth+.one_fourth { - float:right; - padding-right:0; -} - - -/* ---------- Content ---------- */ - -.content_wrap { - background:url(../images/content_sep.png) repeat-y 69% 0; - margin:0 20px; - position:relative; - overflow:hidden; -} - -.content_wrap.nobg {background:none;} - -.content_wrap.sidebar_left {background-position:31% 0;} - -.content_wrap.sidebar_left #content { - float:right; - padding:25px 0 55px 2%; -} - -.content_wrap.sidebar_left #sidebar {padding:55px 2% 55px 0;} - -#content { - width:67%; - float:left; - padding:25px 2% 55px 0; - position:relative; -} - -figure img {display:block;} - -.sitemap li, -.cms_archive li { - list-style:none; - line-height:30px; - padding-left:0; -} - -.sitemap {margin-bottom:0;} - -.sitemap ul, -.cms_archive ul {margin-bottom:0;} - -.sitemap > li { - border-bottom:1px solid #ebebeb; - width:100%; - padding-bottom:30px; - margin-bottom:30px; -} - -.sitemap > li:last-child { - border:none; - margin-bottom:0; -} - -.sitemap > li > ul { - overflow:hidden; - position:relative; - width:100%; - margin-top:20px; -} - -.sitemap > li > ul > li > ul {margin-top:15px;} - -.sitemap > li > ul > li { - float: left; - width: 25%; -} - -.sitemap > li > ul > li:nth-child(4n+1) {clear:both;} - -.cms_category { - list-style:none; - margin-bottom:40px; -} - -.cms_archive li { - width:25%; - float:left; - padding-bottom:30px; -} - -.cms_archive li:nth-child(4n+1) {clear:both;} - -.about_social { - background:url(../images/tog_divider.png) repeat-x 0 0; - list-style:none; - overflow:hidden; -} - -.about_social li { - float:left; - padding:12px 3px 0 0; -} - -/* ---------- Sidebar ---------- */ - -#sidebar { - width:29%; - padding:25px 0 55px 2%; - float:right; - position:relative; -} - -#sidebar .widget { - background:url(../images/divider.png) repeat-x 0 bottom; - padding:10px 0 20px; - overflow:hidden; -} - -#sidebar .widgettitle {margin-bottom:25px;} - -#sidebar > div:last-child .widget {background:none;} - -#sidebar .widget_custom_flickr_entries, -#sidebar .widget_custom_advertisement_entries {padding-bottom:5px;} - -#sidebar.fl {float:left;} - -#sidebar .one_half, -#sidebar .one_half.last, -#sidebar .one_third, -#sidebar .one_third.last, -#sidebar .two_third, -#sidebar .two_third.last, -#sidebar .one_fourth, -#sidebar .one_fourth.last, -#sidebar .three_fourth, -#sidebar .one_fourth.last { - width:auto; - float:none; - padding-right:0; -} - -#sidebar .one_half+.one_half, -#sidebar .one_third+.two_third, -#sidebar .two_third+.one_third, -#sidebar .one_third+.one_third+.one_third, -#sidebar .one_fourth+.one_fourth+.one_half, -#sidebar .one_fourth+.one_half+.one_fourth, -#sidebar .one_half+.one_fourth+.one_fourth, -#sidebar .one_fourth+.three_fourth, -#sidebar .three_fourth+.one_fourth, -#sidebar .one_fourth+.one_fourth+.one_fourth+.one_fourth {float:none;} - - -/* ---------- Middle Sidebar ---------- */ - -.middle_sidebar { - border-top:1px solid #ebebeb; - padding:35px 0 10px; - margin:0 20px; - position:relative; - overflow:hidden; -} - -.middle_sidebar .widgettitle {margin-bottom:30px;} - - -/* ---------- Shortcodes ---------- */ - -.alignleft { - float:left; - margin:0 20px 18px 0; -} - -.alignright { - float:right; - margin:0 0 18px 20px; -} - -.aligncenter { - text-align:center; - margin:0 auto; -} - -.wp-caption { - background-color:#ffffff; - border:1px solid #e3e3e3; - padding:4px; -} - -.wp-caption-text { - text-align:center; - padding:5px 0 0; -} - -.divider { - border-top:1px solid #ebebeb; - margin:18px 0 36px; - clear:both; -} - -.table { - width:100%; - margin-bottom:20px; -} - -.table thead th:first-child { - border-radius:5px 0 0 0; - -moz-border-radius:5px 0 0 0; - -webkit-border-radius:5px 0 0 0; -} - -.table thead th:last-child { - border-radius:0 5px 0 0; - -moz-border-radius:0 5px 0 0; - -webkit-border-radius:0 5px 0 0; -} - -.table td {padding:15px 0 15px 20px;} - -.table thead th { - background:#4f4f4f; - background:linear-gradient(#5d5d5d, #414141); - background:-moz-linear-gradient(#5d5d5d, #414141); - background:-webkit-gradient(linear, left top, left bottom, from(#5d5d5d), to(#414141)); - background:-o-linear-gradient(#5d5d5d, #414141); - background: -ms-linear-gradient(top, #5d5d5d 0%,#414141 100%); - color:#ffffff; - text-align:left; - padding:14px 0 15px 20px; -} - -.table tfoot td {padding:10px 0 10px 20px;} - -.table tbody tr:first-child td {background-image:none;} - -.table td { - background:#ffffff url(../images/resp_divider.png) repeat-x 0 0; -} - -span.dropcap { - float:left; - font-size:48px; - line-height:46px; - font-weight:800; - margin-top:3px; - padding:0 22px 0 9px; -} - -span.dropcap2 { - color:#ffffff; - font-size:32px; - font-weight:800; - line-height:52px; - text-align:center; - width:56px; - height:56px; - float:left; - margin-right:12px; - border-radius:28px; - -moz-border-radius:28px; - -webkit-border-radius:28px; -} - -q, -blockquote { - padding:0 0 20px 33px; - margin:0; - position:relative; - vertical-align:baseline; -} - -q:before, -blockquote:before { - font-size:28px; - content:'\201C'; - display:block; - padding:0; - position:absolute; - left:0; - top:5px; -} - -q:after, -blockquote:after {clear:both;} - -blockquote p, -q p {padding-bottom:0;} - -code { - border-radius: 3px; - padding: 2px 4px; - color: #d14; - background-color: #f7f7f9; - border: 1px solid #e1e1e8; -} - -.cmsms_plus { - background:#555555; - display:block; - width:25px; - height:25px; - position:absolute; - top:50%; - left:0; - margin-top:-13px; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - -webkit-transition:background .2s ease-in-out; - -moz-transition:background .2s ease-in-out; - -ms-transition:background .2s ease-in-out; - -o-transition:background .2s ease-in-out; - transition:background .2s ease-in-out; -} - -.cmsms_plus .vert_line, -.cmsms_plus .horiz_line {background-color:#ffffff;} - -.cmsms_plus .vert_line { - display:block; - width:1px; - height:7px; - position:absolute; - left:12px; - top:9px; - z-index:2; -} - -.cmsms_plus .horiz_line { - display:block; - width:7px; - height:1px; - position:absolute; - left:9px; - top:12px; -} - -.togg, -.accordion .acc, -.tour li { - background:url(../images/tog_divider.png) repeat-x 0 100%; - overflow:hidden; - position:relative; -} - -.tog, -.tour li a { - font-style:italic; - font-size:14px; -} - -.togg .tog, -.accordion .tog, -.tour li a { - line-height:20px; - display:block; - padding:13px 0 13px 40px; - margin:0; - position:relative; -} - -.tog.current .cmsms_plus .vert_line {display:none;} - -.togg .tab_content, -.accordion .tab_content { - padding:13px 0 29px; - display:none; - overflow:hidden; -} - -.related_posts ul { - list-style:none; - overflow:hidden; -} - -.related_posts ul li { - margin-right:10px; - float:left; -} - -.related_posts_content .alignleft { - display:table-cell; - margin-bottom:0; -} - -.related_posts .one_half, -.related_posts .one_third { - display:table; - padding-bottom:12px; -} - -.tab { - margin-bottom:20px; - overflow:hidden; - position:relative; -} - -.tabs { - display:table; - width:100%; -} - -.tabs li { - line-height:20px; - padding-left:0; - display:table-cell; -} - -.tabs li {position:relative;} - -.tabs > li a { - border-top:1px solid #edeeef; - border-right:1px solid #e1e1e1; - font-size:14px; - font-style:italic; - display:block; - padding:15px 20px; - background:#edeeef; - background:linear-gradient(#f6f7f7, #edeeef); - background:-moz-linear-gradient(#f6f7f7, #edeeef); - background:-webkit-gradient(linear, left top, left bottom, from(#f6f7f7), to(#edeeef)); - background:-o-linear-gradient(#f6f7f7, #edeeef); - background: -ms-linear-gradient(top, #f6f7f7 0%,#edeeef 100%); - -webkit-box-shadow:-1px 0 0 #ffffff inset; - -moz-box-shadow:-1px 0 0 #ffffff inset; - box-shadow:-1px 0 0 #ffffff inset; -} - -.tabs > li:last-child a { - border-right:none; - -webkit-box-shadow:none; - -moz-box-shadow:none; - box-shadow:none; -} - -.tabs > li a.current { - color:#ffffff; - -webkit-box-shadow:none; - -moz-box-shadow:none; - box-shadow:none; -} - -.tabs > li a { - -webkit-transition:none; - -moz-transition:none; - -ms-transition:none; - -o-transition:none; - transition:none; -} - -.tab_content {width:100%;} - -.related_posts_content, -.tabs_tab, -.tabs { - overflow:hidden; - position:relative; -} - -.related_posts_content { - font-size:14px; - font-style:italic; - padding-top:22px; -} - -.related_posts_content h6 { - width:100%; - display:table-cell; - vertical-align:middle; - margin:0; -} - -.tabs_tab { - background-color:#ffffff; - display:none; - padding:30px 0; -} - -.google_map {margin-bottom:18px;} - -.tour_content { - overflow:hidden; - position:relative; - margin-bottom:20px; -} - -.tour { - background:url(../images/tog_divider.png) repeat-x 0 0; - list-style:none; - width:27%; - float:left; - margin:30px 0 0; -} - -.tour_shadow { - width:73%; - height:100%; - overflow:hidden; - position:absolute; - right:0; - top:0; - z-index:2; -} - -.tour_shadow:before { - content:''; - height:90%; - overflow:hidden; - position:absolute; - left:0; - top:15px; - z-index:2; - -webkit-box-shadow:0 0 7px 1px rgba(0, 0, 0, .2); - -moz-box-shadow:0 0 7px 1px rgba(0, 0, 0, .2); - box-shadow:0 0 7px 1px rgba(0, 0, 0, .2); -} - -.tour li { - background:url(../images/tog_divider.png) repeat-x 0 100%; - position:relative; - padding:5px 0 4px; -} - -.tour li a { - padding-top:8px; - padding-bottom:8px; - display:block; - position:relative; -} - -.tour .cmsms_plus {margin-top:-14px;} - -.tour li.current a .tour_title { - opacity:1; - filter:alpha(opacity=100); -} - -.tour li a .tour_title { - display:block; - opacity:.5; -} - -.tour_box { - width:70%; - float:right; - display:none; - overflow:hidden; - padding:25px 0 30px 3%; - position:relative; -} - - -/* ---------- Buttons ---------- */ - -.button, -.button_medium, -.button_large, -.comment-reply-link { - border:1px solid rgba(0, 0, 0, .15); - background-color:#ededed; - display:inline-block; - margin-bottom:5px; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - -webkit-box-shadow:0 1px 0 rgba(0, 0, 0, .1); - -moz-box-shadow:0 1px 0 rgba(0, 0, 0, .1); - box-shadow:0 1px 0 rgba(0, 0, 0, .1); -} - -.comment-reply-link {margin-bottom:2px;} - -.button > span, -.button_medium > span, -.button_large > span, -.comment-reply-link > span { - color:#565656; - line-height:30px; - text-transform:uppercase; - text-shadow:0 1px 0 rgba(255, 255, 255, .9); - display:block; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - -webkit-box-shadow:0 0 1px rgba(255, 255, 255, .7) inset; - -moz-box-shadow:0 0 1px rgba(255, 255, 255, .7) inset; - box-shadow:0 0 1px rgba(255, 255, 255, .7) inset; - -webkit-transition:box-shadow .2s ease-out, background .2s ease-out; - -moz-transition:box-shadow .2s ease-out, background .2s ease-out; - -ms-transition:box-shadow .2s ease-out, background .2s ease-out; - -o-transition:box-shadow .2s ease-out, background .2s ease-out; - transition:box-shadow .2s ease-out, background .2s ease-out; -} - -.related_posts li a.button.current > span, -.p_sort a.current[name="p_name"] > span, -.p_sort a.current[name="p_date"] > span, -.p_filter_container:hover .p_cat_filter > span, -.button:hover > span, -.button_medium:hover > span, -.button_large:hover > span, -.comment-reply-link:hover > span { - background:rgba(0, 0, 0, .1); - -webkit-box-shadow:0 0 5px rgba(0, 0, 0, .2) inset; - -moz-box-shadow:0 0 5px rgba(0, 0, 0, .2) inset; - box-shadow:0 0 5px rgba(0, 0, 0, .2) inset; -} - -.button > span, -.comment-reply-link > span { - background-image:url(../images/button.png); - background-repeat:repeat-x; - background-position:0 0; - font-size:14px; - font-weight:600; - padding:4px 22px; -} - -.comment-reply-link > span { - line-height:20px; - font-weight:normal; - font-style:italic; - text-transform:none; - padding:0 12px; -} - -.button_medium > span { - background:url(../images/button_medium.png) repeat-x 0 0; - font-size:22px; - padding:9px 23px; -} - -.button_large > span { - background:url(../images/button_large.png) repeat-x 0 0; - font-size:28px; - padding:14px 25px; -} - -.box {margin:0 0 20px;} - -.box table {width:100%;} - -.box table td p {padding:0 20px 0 0;} - -.box table td { - text-align:left; - padding:25px 0; -} - -.box table td:first-child {width:80px;} - -.error_box { - background:#f8d9cf; - background:rgba(255, 132, 89, .25); - border:1px solid #fac0ad; - border:1px solid rgba(255, 132, 89, .4); -} - -.warning_box { - background:#f5e5b8; - background:rgba(244, 177, 0, .25); - border:1px solid #ffd35a; - border:1px solid rgba(244, 177, 0, .4); -} - -.success_box { - background:#d9eecb; - background:rgba(129, 211, 72, .25); - border:1px solid #b3e68b; - border:1px solid rgba(129, 211, 72, .4); -} - -.notice_box { - background:#cde0f1; - background:rgba(90, 166, 234, .25); - border:1px solid #b3d6f7; - border:1px solid rgba(90, 166, 234, .4); -} - -.download_box { - background:#c5f1d1; - background:rgba(67, 242, 112, .25); - border:1px solid #9bd5a9; - border:1px solid rgba(67, 242, 112, .4); -} - -.box.error_box table td:first-child {background:url(../images/error.png) center center no-repeat;} - -.box.success_box table td:first-child {background:url(../images/success.png) center center no-repeat;} - -.box.notice_box table td:first-child {background:url(../images/notice.png) center center no-repeat;} - -.box.warning_box table td:first-child {background:url(../images/warning.png) center center no-repeat;} - -.box.download_box table td:first-child {background:url(../images/download.png) center center no-repeat;} - -.box.css_box { - border:1px solid #ececec; - border:1px solid rgba(0, 0, 0, .1); - padding:20px; -} - -.box.css_box p {padding:0;} - -.error { - text-align:center; - margin-bottom:50px; -} - -.error .search_line { - width:30%; - margin:105px auto 30px; - overflow:hidden; -} - -.error h1 { - font-size:240px; - line-height:1em; - margin-bottom:10px; -} - -.error h3 { - font-size:24px; - font-style:normal; -} - - -/* ---------- Widgets ---------- */ - -.widget_custom_colored_blocks_entries { - padding:0; - margin:0 -20px; -} - -.widget_colored { - border-left:1px solid #ebebeb; - border-bottom:1px solid #ebebeb; - display:table-cell; -} - -.widget_colored:first-child {border-left:none;} - -.widget_colored_inner {padding:26px 20px 20px;} - -.widget_colored.four_box {width:25%;} - -.widget_colored.three_box {width:33.3%;} - -.widget_colored.two_box {width:50%;} - -.widget_colored.one_box {width:100%;} - -.widget_colored .widgettitle { - border-bottom:2px solid; - padding-bottom:8px; - margin-bottom:35px; -} - -.widget_custom_popular_portfolio_entries figure {margin-bottom:13px;} - -.post_type_shortcode .cmsms_content_slider_parent > .responsiveContentSlider > li, -.widget_custom_popular_portfolio_entries .responsiveContentSlider > li, -.widget_custom_testimonials_entries .responsiveContentSlider > li { - padding-left:2px; - padding-right:2px; - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; -} - -.cmsms_rounding, -.widget_custom_popular_portfolio_entries figure img { - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; -} - -.widget_custom_popular_portfolio_entries .cmsms_nav_wrap_wrap { - padding-top:21px; - height:12px; -} - -.widget_custom_popular_portfolio_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li a, -.widget_custom_testimonials_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li a {background-color:#817e75;} - -.widget_custom_popular_portfolio_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li, -.widget_custom_testimonials_entries .cmsms_content_slider_parent ul.cmsms_slides_nav li { - display:inline-block; - float:none; - vertical-align:top; -} - -.widget_custom_popular_portfolio_entries .cmsms_content_slider_parent ul.cmsms_slides_nav, -.widget_custom_testimonials_entries .cmsms_content_slider_parent ul.cmsms_slides_nav { - text-align:center; - height:10px; - width:100%; - display:block; - position:absolute; - bottom:3px; - left:0; - float:none; -} - -.widget_custom_popular_portfolio_entries .cmsms_content_slider_parent, -.widget_custom_testimonials_entries .cmsms_content_slider_parent {text-align:center;} - -.widget_custom_popular_portfolio_entries .responsiveContentSlider > li, -.widget_custom_testimonials_entries .responsiveContentSlider > li {padding-bottom:33px;} - -.widget_custom_popular_portfolio_entries a.cmsms_content_prev_slide span, -.widget_custom_popular_portfolio_entries a.cmsms_content_next_slide span, -.widget_custom_testimonials_entries a.cmsms_content_prev_slide span, -.widget_custom_testimonials_entries a.cmsms_content_next_slide span, -.post_type_shortcode a.cmsms_content_next_slide span, -.post_type_shortcode a.cmsms_content_prev_slide span { - background:url(../images/arrow_popular_widget.png) no-repeat 0 0; - display:block; - width:8px; - height:12px; -} - -.post_type_shortcode a.cmsms_content_next_slide span, -.widget_custom_testimonials_entries a.cmsms_content_next_slide span, -.widget_custom_popular_portfolio_entries a.cmsms_content_next_slide span {background-position:0 -22px;} - -.widget_custom_testimonials_entries ul.cmsms_slides_nav, -.widget_custom_popular_portfolio_entries ul.cmsms_slides_nav {background:none;} - -.post_type_shortcode, -.widget_custom_testimonials_entries_container { - overflow:hidden; - position:relative; -} - -.post_type_shortcode .one_fourth, -.post_type_shortcode .one_third, -.post_type_shortcode .one_half {padding-bottom:0;} - -.post_type_shortcode > h3 {padding:0 60px 15px 0;} - -.post_type_shortcode a.cmsms_content_next_slide, -.post_type_shortcode a.cmsms_content_prev_slide { - position:absolute; - top:17px; -} - -.post_type_shortcode a.cmsms_content_next_slide {right:12px;} - -.post_type_shortcode a.cmsms_content_prev_slide {right:43px;} - -.widget_custom_popular_portfolio_entries_container {position:relative;} - -.widget_custom_testimonials_entries a.cmsms_content_next_slide, -.widget_custom_testimonials_entries a.cmsms_content_prev_slide, -.widget_custom_popular_portfolio_entries a.cmsms_content_next_slide, -.widget_custom_popular_portfolio_entries a.cmsms_content_prev_slide { - position:absolute; - right:0; - bottom:2px; - z-index:11; -} - -.widget_custom_popular_portfolio_entries a.cmsms_content_next_slide, -.widget_custom_testimonials_entries a.cmsms_content_next_slide {right:10px;} - -.widget_custom_popular_portfolio_entries a.cmsms_content_prev_slide, -.widget_custom_testimonials_entries a.cmsms_content_prev_slide { - left:10px; - right:auto; -} - -.widget_custom_flickr_entries ul {overflow:hidden;} - -.widget_custom_flickr_entries li { - list-style:none; - float:left; - padding:0 8% 8% 0; -} - -.widget_custom_flickr_entries li a img, -.preloader .image_container_img { - -webkit-transition:opacity .3s ease-out; - -moz-transition:opacity .3s ease-out; - -ms-transition:opacity .3s ease-out; - -o-transition:opacity .3s ease-out; - transition:opacity .3s ease-out; -} - -.widget_custom_flickr_entries:hover a img {opacity:.6;} - -.widget_custom_flickr_entries:hover a:hover img {opacity:1;} - -.widget_custom_comments_entries .published {padding-top:3px;} - -.published { - color:#bfbfbf; - font-style:italic; -} - -.widget_custom_comments_entries ul {list-style:none;} - -.widget_custom_comments_entries li {padding-bottom:18px;} - -.widget_custom_comments_entries li:first-child {margin-top:-3px;} - -.widget_links li:first-child, -.cmsms_details > li:first-child { - background:none; - padding-top:0; -} - -.widget_links li, -.cmsms_details > li { - background:url(../images/tog_divider.png) repeat-x 0 0; - padding:9px 0 7px ; - overflow:hidden; -} - -.widget_custom_recent_entries li:first-child { - background:none; - padding-top:0; -} - -.widget_custom_recent_entries li { - background:url(../images/tog_divider.png) repeat-x 0 0; - list-style:none; - padding:17px 0 23px; -} - -.widget_custom_recent_entries li .published {padding:7px 0 9px;} - -.widget_custom_recent_entries li p {padding:0;} - -.widget_custom_tweets_entries li { - list-style:none; -} - -.widget_custom_tweets_entries abbr {padding:18px 10px 17px 4px;} - -.testimonials_text, -.jta-tweet-text { - border:1px solid #e6e6e6; - background-color:#ffffff; - padding:12px 12px 27px 12px; - position:relative; - border-radius:6px; - -moz-border-radius:6px; - -webkit-border-radius:6px; -} - -.testimonials_text:before, -.jta-tweet-text:before { - border-right: 12px solid transparent; - border-top: 12px solid #e6e6e6; - bottom: -13px; - content: ""; - height: 0; - left: 12px; - position: absolute; - width: 0; -} - -.testimonials_text:after, -.jta-tweet-text:after { - border-right:12px solid transparent; - border-top:12px solid #ffffff; - bottom:-11px; - content:""; - height:0; - left:13px; - position:absolute; - width:0; -} - -.testimonials_name { - display:block; - padding-top:18px; -} - -.testimonials_text p {padding-bottom:0;} - -.widget_custom_contact_form_entries .loading { - float:left; - margin-top:10px; -} - -.widget_custom_contact_form_entries .button {float:right;} - -.widget_custom_contact_form_entries textarea {min-height:130px;} - -.widget {padding-bottom:20px;} - -.widget ul {margin-bottom:0;} - -.widgetinfo { - border:1px solid #a8a8a8; - background:#f1f1f1; - text-align:center; - display:none; - padding:5px 10px; - margin:0 0 15px; - border-radius:4px; - -moz-border-radius:4px; - -webkit-border-radius:4px; -} - -.loader { - background:url(../images/loader.gif) center 0 no-repeat; - height:5px; - width:100%; - display:block; -} - -.search_line input[type="text"] { - float:left; - padding-right:32px; -} - -.search_line input[type="submit"] { - background:url(../images/icon_search.png) no-repeat 7px 10px; - width:32px; - height:32px; - float:left; - margin-left:-32px; - cursor:pointer; -} - - -/* ---------- Blog ---------- */ - -.blog .post { - border-bottom:1px solid #ebebeb; - margin-bottom:30px; -} - -.post { - padding-bottom:25px; - position:relative; -} - -.post footer { - position:relative; -} - -.cmsms_format { - background: url(../images/icon_format.png) no-repeat 0 1px; - float:left; - width:20px; - height:20px; - margin-right:68px; -} - -.post footer .published {display:inline;} - -.post .entry-content { - padding:25px 10px 0 100px; -} - -.post .more_button { - display:inline-block; - margin-top:5px; -} - -.atricle_box { - border:1px solid #dbdbdb; - font-style:italic; - font-size:12px; - padding:11px 70px 9px 10px; - position:relative; -} - -.format-aside .cmsms_format {background-position:0 -39px;} - -.format-audio .cmsms_format {background-position:0 -107px;} - -.format-image .cmsms_format {background-position:0 -130px;} - -.format-gallery .cmsms_format {background-position:2px -18px;} - -.format-link .cmsms_format {background-position:2px -84px;} - -.format-video .cmsms_format {background-position:0 -60px;} - -.format-quote .cmsms_format {background-position:0 -154px;} - -.blog .format-quote .entry-content p {padding-left:33px;} - -.cmsms_comments { - font-size:18px; - font-style:normal; - line-height:50px; - color:#ffffff; - text-align:center; - display:block; - width:40px; - height:50px; - position:absolute; - top:-1px; - right:20px; - z-index:99; -} - -.wp-pagenavi {overflow:hidden;} - -.wp-pagenavi a, -.wp-pagenavi > span { - border:1px solid; - line-height:23px; - text-align:center; - float:left; - margin-right:4px; - width:23px; - height:23px; -} - -.wp-pagenavi > span.current, -.wp-pagenavi a:hover, -.cmsms_comments:hover {color:#ffffff;} - -.wp-pagenavi a { - border-color:#dadada; - -webkit-transition:background-color 0.2s ease, border-color 0.2s ease; - -moz-transition:background-color 0.2s ease, border-color 0.2s ease; - -ms-transition:background-color 0.2s ease, border-color 0.2s ease; - -o-transition:background-color 0.2s ease, border-color 0.2s ease; - transition:background-color 0.2s ease, border-color 0.2s ease; -} - - -/* ---------- Open Post ---------- */ - -.project_navi, -.share_posts, -.about_author, -#commentform, -.related_posts { - border-top:1px solid #ebebeb; - overflow:hidden; - padding:25px 0 0; - margin:25px 0 0; -} - -.related_posts { - border-bottom:1px solid #ebebeb; - padding-bottom:25px; -} - -#comments {padding-top:25px;} - -#middle_content #comments, -#middle_content #commentform {width:67%;} - -.project_navi a[rel="next"] {float:right;} - -.about_author .alignleft, -.about_author p { - margin-bottom:0; - padding-bottom:0; -} - -.cmsms_share {margin:20px 0 1px;} - -.cmsms_social a { - display:inline-block; - padding:5px 10px 0 2px; -} - -.cmsmsLike { - background:url(../images/heart.png) no-repeat 4px 6px; - text-decoration:none; - display:block; - height:22px; - width:22px; - float:left; - margin:-1px 60px 3px 0; - border-radius:11px; - -moz-border-radius:11px; - -webkit-border-radius:11px; - -webkit-transition:background-color 0.2s ease; - -moz-transition:background-color 0.2s ease; - -ms-transition:background-color 0.2s ease; - -o-transition:background-color 0.2s ease; - transition:background-color 0.2s ease; -} - -.cmsmsLike span { - line-height:22px; - padding-left:34px; -} - -.cmsms_social { - display:none; - margin-top:25px; - overflow:hidden; -} - -.comment-body h6 { - float:left; - padding-left:3px; - margin:0; -} - -.comment-body .published { - font-size:11px; - padding:0 0 10px; -} - -.comment-reply-link { - float:right; -} - -.comment-body .alignleft img { - display:block; - margin-bottom:10px; -} - -.comment-body { - border:1px solid #dbdbdb; - padding:20px; - margin:0 0 20px; - overflow:hidden; - position:relative; -} - -.comment-content {overflow:hidden;} - -.commentlist { - padding-top:10px; - margin-bottom:30px; -} - -.commentlist li {list-style:none;} - -.commentlist ul li { - background:url(../images/comment_line.png) no-repeat 0 37px; - padding-left:40px; -} - -.commentlist ul { - border-left:1px solid #dbdbdb; - margin:0 0 0 20px; -} - -.comment-body p {padding-bottom:0;} - -#commentform label { - line-height:32px; - display:inline-block; - padding-left:20px; -} - - -/* ---------- Portfolio ---------- */ - -.portfolio_container { - margin-right:-4%; - position:relative; - overflow:visible !important; -} - -.portfolio .preloader {padding-bottom:80%;} - -.touch_dev .hover_effect {display:none;} - -.portfolio_inner .hover_effect, -.portfolio_inner .hover_effect .entry-title a, -.portfolio_inner .hover_effect .post_category a:hover {color:#ffffff;} - -.portfolio_inner .hover_effect .post_category, -.portfolio_inner .hover_effect .post_category a, -.portfolio_inner .hover_effect .entry-title a:hover {color:#000000;} - -.portfolio .cmsms_content_slider_parent, -.portfolio .responsiveContentSlider {padding-bottom:80%;} - -.portfolio_inner .hover_effect .post_category { - width:100%; - padding:0 20px; - position:absolute; - bottom:15px; - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; -} - -.portfolio_inner .hover_effect .post_category, -.hover_effect_links, -.portfolio_inner .hover_effect .entry-content {text-align:center;} - -.cmsms_link, -.cmsms_imagelink { - display:inline-block; - width:42px; - height:42px; - margin:0 3px; -} - -.cmsms_link {background:url(../images/effect_link.png) no-repeat 0 0;} - -.cmsms_imagelink {background:url(../images/effect_image.png) no-repeat 0 0;} - -.format-video .cmsms_imagelink {background:url(../images/effect_video.png) no-repeat 0 0;} - -.portfolio_inner { - background-color:#ffffff; - position:relative; - overflow:hidden; -} - -.portfolio_inner_box {border:1px solid #dadada;} - -.portfolio_container .format-video .portfolio_inner .cmsms_media { - height:0; - padding-bottom:80%; -} - -.portfolio_inner .hover_effect .entry-title {margin:20px 10px;} - -.portfolio_inner .hover_effect .hover_effect_links { - position:absolute; - top:50%; - margin-top:-21px; - width:100%; -} - -.portfolio_inner .hover_effect .entry-title, -.portfolio_inner .hover_effect .cmsms_link, -.portfolio_inner .hover_effect .cmsms_imagelink, -.portfolio_inner .hover_effect .post_category { - -webkit-transform:translateY(-100%); - -moz-transform:translateY(-100%); - -o-transform:translateY(-100%); - -ms-transform: translateY(-100%); - transform:translateY(-100%); - -webkit-transition: all 0.2s ease-in-out 0.2s; - -moz-transition: all 0.2s ease-in-out 0.2s; - -o-transition: all 0.2s ease-in-out 0.2s; - -ms-transition: all 0.2s ease-in-out 0.2s; - transition: all 0.2s ease-in-out 0.2s; -} - -.portfolio_inner .preloader .image_rollover {display:none;} - -.portfolio_inner .hover_effect { - text-align:center; - height:100%; - width:100%; - position:absolute; - left:0; - top:-100%; - z-index:10; - -webkit-transition:all 0.3s ease-in-out; - -moz-transition:all 0.3s ease-in-out; - -o-transition:all 0.3s ease-in-out; - -ms-transition:all 0.3s ease-in-out; - transition:all 0.3s ease-in-out; -} - -.portfolio_inner:hover .hover_effect {top:0;} - -.portfolio_inner:hover .hover_effect .entry-title, -.portfolio_inner:hover .hover_effect .cmsms_link, -.portfolio_inner:hover .hover_effect .cmsms_imagelink, -.portfolio_inner:hover .hover_effect .post_category { - -webkit-transform:translateY(0); - -moz-transform:translateY(0); - -o-transform:translateY(0); - -ms-transform:translateY(0); - transform:translateY(0); - -webkit-transition-delay:0.2s; - -moz-transition-delay:0.2s; - -o-transition-delay:0.2s; - -ms-transition-delay:0.2s; - transition-delay:0.2s; -} - -.portfolio_inner .entry-header { - padding:0 20px; - overflow:hidden; - position:relative; -} - -.format-slider .portfolio_inner .entry-header {padding-right:40px;} - -.portfolio_inner .cmsms_content_prev_slide, -.portfolio_inner .cmsms_content_next_slide { - background:url(../images/arrow_project.png) no-repeat 0 0; - display:block; - width:5px; - height:9px; - position:absolute; - bottom:18px; - z-index:3; -} - -.portfolio_inner .cmsms_content_next_slide {right:12px;} - -.portfolio_inner .cmsms_content_prev_slide { - background-position:0 -9px; - right:35px; -} - -.portfolio_container .portfolio .li-jp-full-screen, -.portfolio_container.four_blocks .portfolio .jp-duration, -.portfolio_container.four_blocks .portfolio .jp-current-time, -.portfolio_container.four_blocks .portfolio .jp-time-sep, -.portfolio_container .portfolio .jp-full-screen {display:none !important;} - -.portfolio_container .portfolio div.jp-volume-bar {right:6px;} - -.portfolio_container .portfolio ul.jp-toggles li {float:right;} - -.cmsms_details_links { - max-width:60%; - float:right; -} - -.opened-article .portfolio.format-video .cmsms_media, -.opened-article .portfolio.format-slider .cmsms_media, -.opened-article .portfolio.one_block .resize {padding-bottom:30px;} - -.opened-article .portfolio .entry-content, -.opened-article .portfolio .cmsms_details {padding-top:20px;} - -.opened-article .portfolio .one_third, -.opened-article .portfolio .two_third {padding-bottom:0;} - -.opened-article .format-album.one_block .cmsms_media {padding-bottom:30px;} - -.resize {overflow:hidden;} - -.format-album .resize {margin-bottom:10px;} - -.format-album .resize .cmsms_media_box { - float:left; - padding-right:4%; - padding-bottom:20px; -} - -.format-album.four_blocks .resize .cmsms_media_box {width:22%;} - -.format-album.three_blocks .resize .cmsms_media_box {width:30.6%;} - -.format-album.two_blocks .resize .cmsms_media_box {width:48%;} - -.format-album.four_blocks .resize .cmsms_media_box+.cmsms_media_box+.cmsms_media_box+.cmsms_media_box, -.format-album.three_blocks .resize .cmsms_media_box+.cmsms_media_box+.cmsms_media_box, -.format-album.two_blocks .resize .cmsms_media_box+.cmsms_media_box {padding-right:0;} - -.portfolio_container .portfolio_inner footer { - border-top:1px solid #e5e5e5; - background:#fbfbfb; - padding:11px 20px 14px; -} - -.portfolio_inner .entry-title {margin:16px 0 12px;} - -.portfolio_inner .hover_effect .entry-title {margin-top:10%;} - -.portfolio_inner .hover_effect .post_category {bottom:10%;} - -.portfolio_container .portfolio { - float:left; - padding-right:4%; - padding-bottom:30px; -} - -.portfolio_container.four_blocks .portfolio .jp-duration, -.portfolio_container.four_blocks .portfolio .jp-current-time, -.portfolio_container.four_blocks .portfolio .jp-time-sep {display:none;} - -.portfolio_container.four_blocks {margin-right:-3.9%;} - -.portfolio_container.four_blocks .portfolio {width:21%;} - -.portfolio_container.three_blocks .portfolio {width:29.3%;} - -.portfolio_container.two_blocks .portfolio {width:46%;} - -.pj_sort { - border-bottom:1px solid #dadada; - padding-top:66px; - position:relative; -} - -.pj_sort .divider {margin:0;} - -.p_options_loader { - background:url(../images/loader_white.gif) no-repeat 0 0; - display:block; - width:160px; - height:20px; - position:absolute; - top:21px; - right:20px; -} - -.p_options_block { - padding:0; - display:none; - position:absolute; - right:20px; - top:15px; - z-index:29; - opacity:1; -} - -.p_sort_block {float:left;} - -.p_sort_block p {margin-left:10px;} - -.p_sort { - float:right; - position:relative; -} - -.p_sort a[name="p_date"] { - display:block; - float:left; -} - -.p_cat_filter span, -.p_sort a span { - font-size:13px; - line-height:25px; - font-weight:normal; -} - -.p_cat_filter > span {padding:4px 18px;} - -.p_sort a[name="p_name"] span span, -.p_sort a[name="p_date"] span span { - background:url(../images/arrow_sort.png) no-repeat right 12px; - display:block; - padding:0 27px 0 0; -} - -.p_sort a.current.reversed[name="p_name"] span span, -.p_sort a.current.reversed[name="p_date"] span span {background-position:right 10px;} - -.p_sort a[name="p_name"] > span, -.p_sort a[name="p_date"] > span {padding:4px 10px 4px 12px;} - -.p_sort a[name="p_name"]:hover > span, -.p_sort a[name="p_date"]:hover > span, -.p_sort a.current[name="p_name"] > span, -.p_sort a.current[name="p_date"] > span {background-position:right -32px;} - -.p_sort a.current.reversed[name="p_name"] span span, -.p_sort a.current.reversed[name="p_date"] span span {background-position:right -36px;} - -.p_sort a[name="p_name"] { - margin-right:8px; - display:block; - float:left; -} - -.p_filter_container { - position:relative; - z-index:29; -} - -div.p_filter { - float:right; - padding:0 8px 0 0; -} - -a.p_cat_filter { - display:block; - position:relative; - z-index:31; -} - -.p_filter_container ul.p_filter { - background-color:#ffffff; - list-style:none; - display:block; - width:100%; - padding:0; - overflow:hidden; - position:absolute; - top:20px; - left:0; - z-index:30; - opacity:0; - -webkit-box-shadow:0 0 5px rgba(0, 0, 0, 0.2); - -moz-box-shadow:0 0 5px rgba(0, 0, 0, 0.2); - box-shadow:0 0 5px rgba(0, 0, 0, 0.2); - border-radius:0 0 4px 4px; - -moz-border-radius:0 0 4px 4px; - -webkit-border-radius:0 0 4px 4px; - -webkit-transition:opacity 0.5s ease; - -moz-transition:opacity 0.5s ease; - -ms-transition:opacity 0.5s ease; - -o-transition:opacity 0.5s ease; - transition:opacity 0.5s ease; -} - -.p_filter_container:hover ul.p_filter { - opacity:1; - padding:10px 0 5px; -} - -ul.p_filter li a { - color:#333333; - text-decoration:none; - display:block; - height:0; - padding:0 15px; - z-index:30; - -webkit-transition:height 0.5s ease, padding-top 0.5s ease, padding-bottom 0.5s ease; - -moz-transition:height 0.5s ease, padding-top 0.5s ease, padding-bottom 0.5s ease; - -ms-transition:height 0.5s ease, padding-top 0.5s ease, padding-bottom 0.5s ease; - -o-transition:height 0.5s ease, padding-top 0.5s ease, padding-bottom 0.5s ease; - transition:height 0.5s ease, padding-top 0.5s ease, padding-bottom 0.5s ease; -} - -.p_filter_container:hover ul.p_filter li a { - padding:5px 15px; - height:20px; -} - -ul.p_filter li a:hover, -.p_filter_container:hover ul.p_filter li a { - display:block; -} - -ul.p_filter li:first-child {padding-top:10px;} - -ul.p_filter li { - background:none; - position:relative; - overflow:hidden; - display:block; - z-index:30; -} - -.p_date, -#middle .portfolio_container .portfolio .jp-video .jp-restore-screen, -#middle .portfolio_container .portfolio .jp-video .jp-full-screen {display:none;} - -a span.image_rollover { - display:block; - width:100%; - height:100%; - position:absolute; - top:0; - left:0; - opacity:.7; - -webkit-transition:background-color .4s ease-in-out; - -moz-transition:background-color .4s ease-in-out; - -ms-transition:background-color .4s ease-in-out; - -o-transition:background-color .4s ease-in-out; - transition:background-color .4s ease-in-out; -} - -a span.image_rollover > span { - background:url(../images/hover_content.png) 50% 50% no-repeat; - display:block; - width:42px; - height:42px; - position:absolute; - top:50%; - left:50%; - margin:-21px 0 0 -21px; - opacity:0; - filter:alpha(opacity=0); - -webkit-transition:opacity .5s ease-in-out; - -moz-transition:opacity .5s ease-in-out; - -ms-transition:opacity .5s ease-in-out; - -o-transition:opacity .5s ease-in-out; - transition:opacity .5s ease-in-out; -} - -.format-image span.image_rollover > span, -.opened-article span.image_rollover > span {background-image:url(../images/hover_image.png);} - -.format-link a span.image_rollover > span {background-image:url(../images/hover_link.png);} - -.format-video a span.image_rollover > span {background-image:url(../images/hover_video.png);} - -a:hover span.image_rollover {background-color:#000000;} - -a:hover span.image_rollover > span { - opacity:1; - filter:alpha(opacity=100); - -webkit-transition-delay:.3s; - -moz-transition-delay:.3s; - -ms-transition-delay:.3s; - -o-transition-delay:.3s; - transition-delay:.3s; -} - -/* ---------- Bottom ---------- */ - -#bottom { - // background:#212121 url(../images/bg_sharp.png) repeat 0 0; - padding:33px 0 0; - overflow:hidden; - position:relative; - opacity:.95; - filter:alpha(opacity=95); -} - -.bottom_inner { - width:940px; - padding-bottom:20px; - margin:0 auto; - overflow:hidden; - position:relative; -} - -#bottom .widgettitle {margin-bottom:30px;} - -#bottom input, -#bottom textarea, -#bottom select, -#bottom .testimonials_text, -#bottom .jta-tweet-text { - background-color:#4b4b4b; - border-color:#222222; -} - -#bottom input, -#bottom select, -#bottom textarea { - box-shadow:0 2px 3px rgba(0, 0, 0, 0.2) inset; - -moz-box-shadow:0 2px 3px rgba(0, 0, 0, 0.2) inset; - -webkit-box-shadow:0 2px 3px rgba(0, 0, 0, 0.2) inset; -} - -#bottom .testimonials_text:after, -#bottom .jta-tweet-text:after { - border-right: 12px solid transparent; - border-top: 12px solid #4b4b4b; -} - -#bottom .testimonials_text:before, -#bottom .jta-tweet-text:before { - border-right:12px solid transparent; - border-top:12px solid #222222; -} - - -#bottom .cmsms-form-builder .check_parent input[type="radio"]+label {background:url(../images/radio_check.png) no-repeat 0 -226px;} - -#bottom .cmsms-form-builder .check_parent input[type="radio"]:checked+label {background:url(../images/radio_check.png) no-repeat 0 -264px;} - -#bottom .cmsms-form-builder .check_parent input[type="checkbox"]+label {background:url(../images/radio_check.png) no-repeat 0 -149px;} - -#bottom .cmsms-form-builder .check_parent input[type="checkbox"]:checked+label {background:url(../images/radio_check.png) no-repeat 0 -187px;} - - -/* ---------- Footer ---------- */ - -#footer { - // background-color:#ffffff; - // height:70px; - margin-top:-70px; - overflow:hidden; - position:relative; -} - -.footer_inner { - width:940px; - // height:20px; - padding:25px 0; - margin:0 auto; - overflow:hidden; - position:relative; -} - -.footer_nav {margin-bottom:0;} - -.footer_nav li { - display:inline-block; - padding:0 4px; -} - -.footer_nav li a { - text-decoration:none; -} - -/* ---------- Form builder ---------- */ - -.cmsms-form-builder label {padding-bottom:8px;} - -select { - border:1px solid #e5e5e5; - background-color:#f9f9f9; - height:35px; - line-height:20px; - width:275px; - padding:5px 10px; - margin:0 0 3px; -} - -select:focus {background-color:#ffffff;} - -.widget select {width:100%;} - -option { - background-color:#ffffff; - border:none; - height:20px; - padding:0; - margin:0; -} - -.cmsms-form-builder .form_info {padding-bottom:20px;} - -.widget .cmsms-form-builder .form_info {padding-bottom:16px;} - -.widget .cmsms-form-builder input[type="text"] {width:100%;} - -.cmsms-form-builder span.db { - color:#bfbfbf; - font-size:12px; - font-style:italic; - display:block; - padding-top:5px; -} - -#commentform {padding-bottom:20px;} - -.cmsms-form-builder input[type="text"]{width:50%;} - -input[type="text"], -input[type="email"], -textarea { - background-color:#fdfdfd; - border:1px solid #e5e5e5; - line-height:20px; - height:35px; - width:100%; - padding:5px 10px; -} - -textarea {padding:7px 10px;} - -input[type="text"]:focus, -input[type="email"]:focus, -textarea:focus, -select:focus {background-color:#ffffff;} - -#commentform input[type="text"] { - width:50%; - float:left; -} - -#commentform textarea { - width:90%; - min-height:260px; - resize:none; -} - -#commentform p { - overflow:hidden; - clear:both; -} - -#commentform input[type="text"]+label { - line-height:42px; - float:left; - padding-left:20px; -} - -.cmsms-form-builder .check_parent { - padding:6px 0; - position:relative; - overflow:hidden; -} - -.cmsms-form-builder .check_parent label {padding:0;} - -.cmsms-form-builder .check_parent input[type="checkbox"], -.cmsms-form-builder .check_parent input[type="radio"] { - float:left; - position:absolute; - top:0; - left:0; - opacity:0; -} - -.cmsms-form-builder .check_parent input[type="radio"]+label {background:url(../images/radio_check.png) no-repeat 0 -73px;} - -.cmsms-form-builder .check_parent input[type="radio"]:checked+label {background:url(../images/radio_check.png) no-repeat 0 -111px;} - -.cmsms-form-builder .check_parent input[type="checkbox"]+label {background:url(../images/radio_check.png) no-repeat 0 1px;} - -.cmsms-form-builder .check_parent input[type="checkbox"]:checked+label {background:url(../images/radio_check.png) no-repeat 0 -36px;} - -.cmsms-form-builder .check_parent input[type="checkbox"]+label, -.cmsms-form-builder input[type="radio"]+label { - line-height:20px; - font-weight:normal; - display:block; - height:20px; - float:left; - padding:0 0 0 25px; - margin:0; - overflow:hidden; - position:relative; - cursor:pointer; - z-index:1; -} - -.cmsms-form-builder .cmsms_checkbox .db, -.cmsms-form-builder .cmsms_radio .db, -.cmsms-form-builder .cmsms_checkboxes .db { - display:block; - padding-bottom:15px; -} - -.loading { - background:url(../images/loader.gif) no-repeat 0 0; - height:5px; - width:40px; - float:right; - opacity:0; - position:relative; - margin-top:11px; -} - - -/* ---------- Form Error ---------- */ - -.inputContainer { - position:relative; - float:left; -} - -.formError { - display:block; - position:absolute; - top:300px; - left:300px; - cursor:pointer; - z-index:5000; -} - -.ajaxSubmit { - border:1px solid #999999; - background:#55ea55; - display:none; - padding:20px; -} - -.formError .formErrorContent { - border:1px solid #333333; - background:#000000; - color:#ffffff; - font-family:Tahoma; - font-size:11px; - width:150px; - padding:4px 10px; - position:relative; - z-index:5001; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; -} - -.greenPopup .formErrorContent {background:#33be40;} - -.blackPopup .formErrorContent { - background:#393939; - color:#ffffff; -} - -.formError .formErrorArrow { - width:15px; - margin:-2px 0 0 13px; - position:relative; - z-index:5006; -} - -.formError .formErrorArrowBottom { - margin:0 0 0 12px; - top:2px; -} - -.formError .formErrorArrow div { - border-left:1px solid #333333; - border-right:1px solid #333333; - background:#000000; - font-size:0; - line-height:0; - display:block; - height:1px; - margin:0 auto; -} - -.greenPopup .formErrorArrow div {background:#33be40;} - -.blackPopup .formErrorArrow div { - background:#393939; - color:#ffffff; -} - -.formError .formErrorArrow .line10 { - border:0; - width:15px; -} - -.formError .formErrorArrow .line9 { - border:0; - width:13px; -} - -.formError .formErrorArrow .line8 {width:11px;} - -.formError .formErrorArrow .line7 {width:9px;} - -.formError .formErrorArrow .line6 {width:7px;} - -.formError .formErrorArrow .line5 {width:5px;} - -.formError .formErrorArrow .line4 {width:3px;} - -.formError .formErrorArrow .line3 { - border-bottom:0; - border-left:1px solid #333333; - border-right:1px solid #333333; - width:1px; -} - -.formError .formErrorArrow .line2 { - border:0; - background:#333333; - width:1px; -} - -.formError .formErrorArrow .line1 { - border:0; - background:#333333; - width:0; -} - -.content_wrap { - -webkit-transition:background-position .3s ease-in-out; - -moz-transition:background-position .3s ease-in-out; - -ms-transition:background-position .3s ease-in-out; - -o-transition:background-position .3s ease-in-out; - transition:background-position .3s ease-in-out; -} - -.error h1 { - -webkit-transition:font-size .3s ease-in-out, padding .3s ease-in-out; - -moz-transition:font-size .3s ease-in-out, padding .3s ease-in-out; - -ms-transition:font-size .3s ease-in-out, padding .3s ease-in-out; - -o-transition:font-size .3s ease-in-out, padding .3s ease-in-out; - transition:font-size .3s ease-in-out, padding .3s ease-in-out; -} - - -/* ---------- Responsive Top Main Slider ---------- */ - -.cmsms_slider_parent, -#slider { - width:100%; - height:0; - padding-bottom:41%; - position:relative; -} - -.cmsms_slider_parent #slider {background:none;} - -.responsiveSlider { - text-align:left; - display:block; - list-style:none; - padding:0; - margin:0; - position:relative; - overflow:hidden; - opacity:0; - filter:alpha(opacity=0); - -webkit-transition:opacity .5s ease-in-out; - -moz-transition:opacity .5s ease-in-out; - -ms-transition:opacity .5s ease-in-out; - -o-transition:opacity .5s ease-in-out; - transition:opacity .5s ease-in-out; -} - -.responsiveSlider .cmsms_img { - min-width:100%; - max-width:100%; - display:block; -} - -.cmsms_slider_parent>.responsiveSlider { - width:100%; - height:100%; - opacity:1; - filter:alpha(opacity=100); -} - -.responsiveSlider, -.responsiveSlider>li { - display:block; - width:100%; - height:100%; - padding:0; - margin:0; - overflow:hidden; - position:absolute; -} - -.responsiveSlider { - top:0; - left:0; -} - -ul.responsiveSlider {list-style:none;} - -.responsiveSlider>li { - top:0; - left:100%; - z-index:1; -} - -.responsiveSlider>li div.cmsms_img_pattern { - background-position:0 0; - background-repeat:repeat; - width:100%; - height:100%; - position:absolute; - top:0; - left:0; -} - -.responsiveSlider>li.link a.cmsms_img_link, -.responsiveSlider>li.video a.cmsms_img_video { - background:url(../images/video.png) 0 0 no-repeat; - display:block; - width:100px; - height:100px; - margin:-50px 0 0 -50px; - position:absolute; - top:50%; - left:50%; - cursor:pointer; - opacity:0.33; - filter:alpha(opacity=33); - -webkit-transition:opacity .5s ease-in-out; - -moz-transition:opacity .5s ease-in-out; - -ms-transition:opacity .5s ease-in-out; - -o-transition:opacity .5s ease-in-out; - transition:opacity .5s ease-in-out; -} - -.responsiveSlider>li.link a.cmsms_img_link { - background:url(../images/link.png) 0 0 no-repeat; - display:none; -} - -.responsiveSlider>li.video a.cmsms_img_video {background:url(../images/video.png) 0 0 no-repeat;} - -.responsiveSlider>li.link a.cmsms_img_link:hover, -.responsiveSlider>li.video a.cmsms_img_video:hover { - opacity:1; - filter:alpha(opacity=100); -} - -.cmsms_slider_video { - background:#000000; - width:100%; - height:100%; - position:absolute; - top:0; - left:0; - z-index:150; - visibility:visible; -} - -.cmsms_slider_video.hidden {visibility:hidden;} - -.cmsms_slider_video iframe { - width:100%; - height:100%; - position:absolute; -} - -.responsiveSlider>li.left-img img { - min-width:50%; - max-width:50%; - height:100%; - max-height:100%; - float:left; -} - -.responsiveSlider>li.right-img img { - min-width:50%; - max-width:50%; - max-height:100%; - height:100%; - float:right; -} - -.responsiveSlider>li.right-img .slideCaption.left, -.responsiveSlider>li.left-img .slideCaption.right { - margin:0; - width:50%; -} - -.responsiveSlider .slideCaption { - display:table; - width:30%; - margin:0 50px 0 0; - position:absolute; - display:block\0/IE9; -} - -.responsiveSlider .slideCaption.left, -.responsiveSlider .slideCaption.right { - width:30%; - margin:0 80px; -} - -.responsiveSlider .slideCaption.top, -.responsiveSlider .slideCaption.bottom { - display:block; - width:auto; - margin:0; -} - -.responsiveSlider .slideCaption { - top:auto; - bottom:0; -} - -.responsiveSlider>li.left-img .slideCaption.top, -.responsiveSlider>li.right-img .slideCaption.top, -.responsiveSlider>li.left-img .slideCaption.bottom, -.responsiveSlider>li.right-img .slideCaption.bottom { - display:table; - width:43%; - padding:2%; - margin:0; - display:block\0/IE9; -} - -.responsiveSlider .slideCaption>.slideCaptionInner { - display:table-cell; - width:100%; - vertical-align:middle; -} - -.responsiveSlider .slideCaption.top>.slideCaptionInner, -.responsiveSlider .slideCaption.bottom>.slideCaptionInner { - display:block; - vertical-align:baseline; -} - -.responsiveSlider .slideCaption.right>.slideCaptionInner .slideCaptionInnerBlock, -.responsiveSlider .slideCaption.left>.slideCaptionInner .slideCaptionInnerBlock{ - display:table-cell\0/IE9; - vertical-align:middle\0/IE9; -} - -.responsiveSlider>li.left-img .slideCaption.top>.slideCaptionInner, -.responsiveSlider>li.right-img .slideCaption.top>.slideCaptionInner, -.responsiveSlider>li.left-img .slideCaption.bottom>.slideCaptionInner, -.responsiveSlider>li.right-img .slideCaption.bottom>.slideCaptionInner { - display:table-cell; - padding:4%; - vertical-align:middle; -} - -.slideCaptionInnerBlock { - padding:7% 10%; - position:relative; -} - -.responsiveSlider .slideCaption.left .slideCaptionInnerBlock, -.responsiveSlider .slideCaption.right .slideCaptionInnerBlock { - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; -} - -.responsiveSlider .slideCaption.top .slideCaptionInnerBlock { - border-radius:5px 5px 0 0; - -moz-border-radius:5px 5px 0 0; - -webkit-border-radius:5px 5px 0 0; -} - -.responsiveSlider .slideCaption.top .slideCaptionInnerBlock, -.responsiveSlider .slideCaption.bottom .slideCaptionInnerBlock { - position:absolute; - width:94%; - padding:2% 3%; -} - -.responsiveSlider .slideCaption.bottom .slideCaptionInnerBlock {bottom:0;} - -.responsiveSlider .slideCaption.top .slideCaptionInnerBlock h1, -.responsiveSlider .slideCaption.bottom .slideCaptionInnerBlock h1 {margin-bottom:10px;} - -.responsiveSlider .slideCaption.top .slideCaptionInnerBlock p, -.responsiveSlider .slideCaption.bottom .slideCaptionInnerBlock p {padding-bottom:10px;} - -a.cmsms_prev_slide, -a.cmsms_next_slide { - background:#363636 url(../images/bg_sharp.png) repeat 0 0; - position:absolute; - bottom:22px; - z-index:11; -} - -a.cmsms_prev_slide span, -a.cmsms_next_slide span { - background:url(../images/arrow_slide.png) no-repeat 11px 12px; - display:block; - width:32px; - height:36px; -} - -a.cmsms_prev_slide { - right:54px; - border-radius:5px 0 0 5px; - -moz-border-radius:5px 0 0 5px; - -webkit-border-radius:5px 0 0 5px; - box-shadow:-1px 0 0 rgba(0, 0, 0, .3) inset; - -moz-box-shadow:-1px 0 0 rgba(0, 0, 0, .3) inset; - -webkit-box-shadow:-1px 0 0 rgba(0, 0, 0, .3) inset; -} - -a.cmsms_next_slide { - right:22px; - border-radius:0 5px 5px 0; - -moz-border-radius:0 5px 5px 0; - -webkit-border-radius:0 5px 5px 0; - box-shadow:1px 0 0 rgba(255, 255, 255, .1) inset; - -moz-box-shadow:1px 0 0 rgba(255, 255, 255, .1) inset; - -webkit-box-shadow:1px 0 0 rgba(255, 255, 255, .1) inset; -} - -a.cmsms_next_slide span {background-position:12px -21px;} - -a.cmsms_prev_slide:hover, -a.cmsms_next_slide:hover {opacity:1;} - -a.cmsms_close_video { - background-color:#ffffff; - background-image:url(../images/video_close.png); - background-position:12px -49px; - background-repeat:no-repeat; - bottom:50px; - right:15px; - width:41px; - height:41px; - display:block; - overflow:hidden; - position:absolute; - border-radius:20.5px; - -moz-border-radius:20.5px; - -webkit-border-radius:20.5px; - -webkit-transition:background-color .3s ease-in-out, background-position .3s ease-in-out; - -moz-transition:background-color .3s ease-in-out, background-position .3s ease-in-out; - -ms-transition:background-color .3s ease-in-out, background-position .3s ease-in-out; - -o-transition:background-color .3s ease-in-out, background-position .3s ease-in-out; - transition:background-color .3s ease-in-out, background-position .3s ease-in-out; - z-index:160; - opacity:0; - filter:alpha(opacity=0); -} - -a.cmsms_close_video:hover {background-position:12px 11px;} - -#top ul.cmsms_slides_nav { - background:#363636 url(../images/bg_sharp.png) repeat 0 0; - right:87px; - bottom:22px; -} - -ul.cmsms_slides_nav { - list-style:none; - position:absolute; - right:20px; - bottom:20px; - padding:12px; - margin:0; - z-index:10; - -webkit-transition:opacity .3s ease-in-out; - -moz-transition:opacity .3s ease-in-out; - -ms-transition:opacity .3s ease-in-out; - -o-transition:opacity .3s ease-in-out; - transition:opacity .3s ease-in-out; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; -} - -ul.cmsms_slides_nav li { - display:block; - float:left; - padding:0 0 0 8px; -} - -ul.cmsms_slides_nav li:first-child {padding:0;} - -ul.cmsms_slides_nav li a { - background-color:#ffffff; - display:block; - text-indent:-9999px; - width:12px; - height:12px; - border-radius:6px; - -moz-border-radius:6px; - -webkit-border-radius:6px; - -webkit-transition:background-color .3s ease-in-out; - -moz-transition:background-color .3s ease-in-out; - -ms-transition:background-color .3s ease-in-out; - -o-transition:background-color .3s ease-in-out; - transition:background-color .3s ease-in-out; -} - -.cmsms_slider_timer { - position:absolute; - bottom:15px; - left:15px; - z-index:10; - -webkit-transition:opacity .3s ease-in-out; - -moz-transition:opacity .3s ease-in-out; - -ms-transition:opacity .3s ease-in-out; - -o-transition:opacity .3s ease-in-out; - transition:opacity .3s ease-in-out; -} - - -/* ---------- Responsive Content Slider ---------- */ - -.cmsms_content_slider_parent { - width:100%; - height:0; - padding-bottom:56.25%; - position:relative; -} - -.responsiveContentSlider { - background:url(../images/loader.gif) 50% 50% no-repeat; - text-align:left; - display:block; - list-style:none; - width:100%; - height:0; - padding:0 0 56.25%; - margin:0; - position:relative; - overflow:hidden; -} - -.cmsms_content_slider_parent>.responsiveContentSlider, -.responsiveContentSlider>li { - display:block; - width:100%; - height:100%; - padding:0; - margin:0; - overflow:hidden; - position:absolute; -} - -.responsiveContentSlider { - top:0; - left:0; -} - -.responsiveContentSlider>li { - top:0; - left:100%; - z-index:1; -} - -.cmsms_content_slider_parent ul.cmsms_slides_nav { - list-style:none; - float:right; - padding:0; - margin:0; - z-index:10; - -webkit-transition:opacity .3s ease-in-out; - -moz-transition:opacity .3s ease-in-out; - -ms-transition:opacity .3s ease-in-out; - -o-transition:opacity .3s ease-in-out; - transition:opacity .3s ease-in-out; -} - -.cmsms_content_slider_parent ul.cmsms_slides_nav li { - display:block; - float:left; - padding:0 0 0 8px; -} - -.cmsms_content_slider_parent ul.cmsms_slides_nav li.active a, -.cmsms_content_slider_parent ul.cmsms_slides_nav li:hover a {background-color:#000000;} - - .cmsms_content_slider_parent ul.cmsms_slides_nav li:first-child {padding:0;} - -.cmsms_content_slider_parent ul.cmsms_slides_nav li a { - background-color:#ffffff; - display:block; - text-indent:-9999px; - width:10px; - height:10px; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - -webkit-transition:background-color .3s ease-in-out; - -moz-transition:background-color .3s ease-in-out; - -ms-transition:background-color .3s ease-in-out; - -o-transition:background-color .3s ease-in-out; - transition:background-color .3s ease-in-out; -} - -.cmsms_nav_wrap_wrap { - text-align:center; - width:100%; - height:36px; - position:absolute; - bottom:0; - z-index:3; -} - - -/* ---------------------------------- Media Queries ----------------------------------------------*/ - -/* ---------- Large Monitor (Note: Design for a width more than 1440px) ---------- */ - -@media only screen and (min-width: 1440px) { - - #header, - #middle, - .navi_scrolled nav, - .cont_nav, - .splash .cmsms_nav_wrap {width:840px;} - - .splash .responsiveSlider .slideCaption.left, - .splash .responsiveSlider .slideCaption.right {width:840px !important;} - - .bottom_inner, - .footer_inner {width:800px;} - - .widget_custom_advertising_entries ul li {padding:0 8% 8% 0;} - -} - -/* ---------- Medium Monitor (Note: Design for a width more than 1023px but less than 1440px) ---------- */ - -@media only screen and (min-width: 1124px) and (max-width: 1439px) { - - .widget_custom_flickr_entries li {padding:0 5% 5% 0;} - - .one_fourth .portfolio_inner .hover_effect .hover_effect_links {padding:0;} - - .one_fourth .portfolio_inner .hover_effect .entry-title {margin:10px 0;} - -} - - -/* ---------- Tablet Portrait (Note: Design for a width more than 767px but less than 1024px) ---------- */ - -@media only screen and (min-width: 768px) and (max-width: 1023px) { - - #header, - #middle, - .navi_scrolled nav, - .cont_nav, - .splash .cmsms_nav_wrap {width:90%;} - - .splash .responsiveSlider .slideCaption.left, - .splash .responsiveSlider .slideCaption.right {width:90% !important;} - - .cont_nav {padding:0;} - - .bottom_inner, - .footer_inner { - width:90%; - padding-left:5%; - padding-right:5%; - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } - - #navigation > li > a {min-width:115px;} - - .widget_custom_popular_entries li .ovh {overflow:visible;} - - #content .tabs li, - #content .tabs{display:block;} - - #content .tabs li a {border-right:none;} - - #content .tour, - #content .tour_box{ - width:100%; - float:none; - } - - #content .tour_shadow:before {display:none;} - - .portfolio_inner .entry-header, - .portfolio_inner .hover_effect .post_category {padding:0 10px;} - -} - - -/* ---------- Small Tablet (Note: Design for a width more than 540px but less than 768px) ---------- */ - -@media only screen and (min-width: 541px) and (max-width: 767px) { - - .one_fourth, - .one_fourth+.one_fourth+.one_fourth, - .widget_colored.four_box:nth-child(odd), - .portfolio_container.four_blocks .portfolio:nth-child(odd), - .format-album.four_blocks .resize .cmsms_media_box:nth-child(odd), - .post_type_shortcode.four_blocks article:nth-child(odd), - .cms_archive li:nth-child(odd), - .sitemap > li > ul > li:nth-child(odd) { - width:48%; - float:left; - padding-right:4%; - } - - .one_fourth.last, - .one_fourth+.one_fourth, - .one_fourth+.one_fourth+.one_fourth+.one_fourth, - .portfolio_container.four_blocks .portfolio:nth-child(even), - .format-album.four_blocks .resize .cmsms_media_box:nth-child(even), - .post_type_shortcode.four_blocks article:nth-child(even), - .cms_archive li:nth-child(even), - .sitemap > li > ul > li:nth-child(even) { - width:48%; - float:right; - padding-right:0; - } - - .portfolio_container.four_blocks {margin-right:0;} - - .widget_colored.four_box:nth-child(even)+.widget_colored.four_box {border-left:none;} - -} - -/* ---------- Small Monitor (Note: Design for a width less than 1024px) ---------- */ - -@media only screen and (max-width: 1023px) { - - #middle { - width:90%; - margin:27px 5% 0; - } - - .error .search_line {width:40%;} - - .commentlist ul li {padding-left:19px;} - - .commentlist ul {margin:0;} - -} - -/* ---------- Small Tablet & Mobile (Note: Design for a width less than 768px) ---------- */ - -@media only screen and (max-width: 767px) { - - #header, - #middle, - .cont_nav, - .splash .cmsms_nav_wrap {width:90%;} - - .cont_nav {padding:0;} - - .bottom_inner, - .footer_inner { - width:90%; - padding-left:5%; - padding-right:5%; - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } - - .splash .responsiveSlider .slideCaption.left, - .splash .responsiveSlider .slideCaption.right {width:90% !important;} - - .navi_scrolled nav {width:100%;} - - #content, - .content_wrap.sidebar_left #content, - #sidebar, - .content_wrap.sidebar_left #sidebar { - width:100%; - float:none; - padding:25px 0; - } - - .content_wrap { - background:none; - top:auto; - padding-bottom:0; - } - - .portfolio_container.three_blocks, - .portfolio_container.one_blocks {margin-right:0;} - - .one_half, - .one_half.last, - .one_third, - .one_third.last, - .two_third, - .two_third.last, - .three_fourth, - .three_fourth.last, - .three_fourth+.one_fourth, - .one_fourth+.one_half+.one_fourth, - .portfolio_container.three_blocks .portfolio, - .format-album.two_blocks .resize .cmsms_media_box, - .format-album.three_blocks .resize .cmsms_media_box { - width:100%; - float:none; - padding-right:0; - } - - .responsiveSlider .slideCaption>.slideCaptionInner {padding:10px 0;} - - .responsiveSlider .slideCaption.top, - .responsiveSlider .slideCaption.left, - .responsiveSlider .slideCaption.right, - .responsiveSlider .slideCaption.bottom {display:none;} - - .error .search_line {width:60%;} - - .tour, - .tour_box{ - width:100%; - float:none; - } - - .tour_shadow:before {display:none;} - - .tabs li, - .tabs{display:block;} - - .tabs li a {border-right:none;} - - .footer_inner, .footer_inner .fr { - text-align:center; - float:none; - } - - .footer_html {display:inline-block;} - - .footer_inner {padding:18px 5% 52px 5%;} - - .post_type_shortcode .one_fourth, - .post_type_shortcode .one_third, - .post_type_shortcode .one_half {padding-bottom:20px;} - - .header_inner { - height:auto; - padding:27px 0 24px; - text-align:center; - } - - .logo { - position:relative; - margin:0 0 8px; - top:auto; - left:auto; - } - - .custom_html { - text-align:center; - margin:0; - position:relative; - top:auto; - left:auto; - } - - .header_inner .social_list { - text-align:center; - display:inline-block; - position:relative; - top:auto; - right:auto; - margin:20px 0 0; - } - -} - -/* ---------- Mobile (Note: Design for a width less than 541px) ---------- */ - -@media only screen and (max-width: 540px) { - - .nav_wrap_inner.navi_scrolled { - background:none; - z-index:9999; - } - - #header .nav_wrap {height:auto;} - - .header_inner .social_list {display:none;} - - .responsibe_block, - .responsibe_block .social_list {display:block;} - - .responsibe_block { - background-color:#191919; - padding-bottom:7px; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - } - - .responsibe_block_inner .social_list li a img { - opacity:.2; - filter:alpha(opacity=20); - -webkit-transition:opacity .3s ease-out; - -moz-transition:opacity .3s ease-out; - -ms-transition:opacity .3s ease-out; - -o-transition:opacity .3s ease-out; - transition:opacity .3s ease-out; - } - - .responsibe_block_inner .social_list li a:hover img { - opacity:.8; - filter:alpha(opacity=80); - } - - .responsibe_block_inner { - background:#363636 url(../images/bg_sharp.png) repeat 0 0; - border-bottom:2px solid; - height:38px; - padding:12px 13px 0; - overflow:hidden; - border-radius:5px 5px 0 0; - -moz-border-radius:5px 5px 0 0; - -webkit-border-radius:5px 5px 0 0; - } - - .resp_navigation { - background:#000000 url(../images/resp_navi_bg.png) no-repeat 50% 50%; - display:block; - width:36px; - height:27px; - float:right; - border-radius:5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - } - - #navigation { - display:none; - margin:0; - overflow:hidden; - position:relative; - } - - #navigation > li {width:auto;} - - #navigation li a span {font-size:14px;} - - #navigation > li.current_page_item > a, - #navigation > li > a:hover, - #navigation > li:hover > a { - background-color:#f9f9f9; - } - - #navigation li { - float:none; - overflow:hidden; - } - - #navigation li > a { - background-image:url(../images/resp_divider.png); - background-repeat:repeat-x; - background-position:0 0; - display:block; - padding:10px 7px 10px 10px; - margin:0; - } - - #navigation > li:first-child > a {background-image:none;} - - #navigation > li > a { - border-left:none; - padding-left:30px; - -webkit-box-shadow:none; - -moz-box-shadow:none; - box-shadow:none; - } - - #navigation > li > ul > li > a {padding-left:50px;} - - #navigation > li > ul > li > ul > li > a {padding-left:70px;} - - #navigation > li > ul > li:last-child, - #navigation ul li a, - #navigation ul li:first-child > a, - #navigation > li > ul > li:last-child, - .navi_scrolled #navigation > li > a, - .navi_scrolled #navigation > li:first-child > a, - .touch_dev .navi_scrolled #navigation > li > a, - .touch_dev .navi_scrolled #navigation > li:first-child > a, - .touch_dev #navigation > li > a {border:none;} - - #navigation > li:first-child > a, - #navigation > li:last-child > a, - #navigation > li:first-child > a > span, - #navigation > li:last-child > a > span, - .touch_dev #navigation > li:last-child > a > span, - .touch_dev #navigation > li:last-child > a, - .touch_dev #navigation > li:first-child > a > span, - .touch_dev #navigation > li:first-child > a{ - -webkit-border-radius:0; - -moz-border-radius:0; - border-radius:0; - } - - .touch_dev #navigation > li > a {padding-bottom:10px;} - - .touch_dev #navigation > li > a {margin-top:0;} - - .touch_dev #navigation > li.current_page_item > a > span, - #navigation > li.current_page_item > a > span, - #navigation > li:hover > a > span, - #navigation > li > a:hover > span { - padding:0; - background:none; - } - - #navigation ul li a {width:auto;} - - #navigation ul li a span, - .navi_scrolled #navigation > li > a {text-shadow:none;} - - #navigation ul ul li a { - margin-left:0; - padding-left:25px; - } - - #navigation > li > a > span { - border:none; - background:none; - text-shadow:none; - -webkit-box-shadow:none; - -moz-box-shadow:none; - box-shadow:none; - } - - #navigation ul li.drop > a span, - #navigation ul li.drop:hover > a > span, - #navigation ul li.drop > a:hover > span, - #navigation ul li.current_page_item.drop > a > span { - background:url(../images/arrow_navi.png) no-repeat right -75px; - } - - #navigation ul, - #navigation ul ul, - #navigation > li > ul { - background:none; - width:auto; - display:none; - padding:0; - margin:0; - visibility:visible; - position:relative; - left:auto; - top:auto; - opacity:1; - -webkit-box-shadow:none; - -moz-box-shadow:none; - box-shadow:none; - -webkit-border-radius:0; - -moz-border-radius:0; - border-radius:0; - -webkit-transition:none; - -moz-transition:none; - -ms-transition:none; - -o-transition:none; - transition:none; - } - - #navigation ul li, - #navigation li > a > span {padding:0;} - - .navi_scrolled #navigation > li.current_page_item > a > span, - .navi_scrolled #navigation > li:hover > a > span, - .navi_scrolled #navigation > li > a:hover > span, - .touch_dev .navi_scrolled #navigation > li.current_page_item > a > span, - .touch_dev .navi_scrolled #navigation > li:hover > a > span, - .touch_dev .navi_scrolled #navigation > li > a:hover > span {padding-top:0;} - - .navi_scrolled #navigation > li > ul {top:auto;} - - div.jp-video div.jp-current-time, - div.jp-audio div.jp-current-time, - div.jp-video div.jp-time-sep, - div.jp-audio div.jp-time-sep, - div.jp-video div.jp-duration, - div.jp-audio div.jp-duration {display:none;} - - .widget_colored.four_box, - .one_fourth, - .one_fourth.last, - .one_fourth+.one_fourth, - .one_fourth+.one_fourth+.one_fourth, - .one_fourth+.one_fourth+.one_fourth+.one_fourth, - .portfolio_container.two_blocks .portfolio, - .portfolio_container.four_blocks .portfolio:nth-child(odd), - .portfolio_container.four_blocks .portfolio:nth-child(even), - .format-album.four_blocks .resize .cmsms_media_box:nth-child(odd), - .format-album.four_blocks .resize .cmsms_media_box:nth-child(even), - .post_type_shortcode.four_blocks article:nth-child(odd), - .post_type_shortcode.four_blocks article:nth-child(even), - .cms_archive li:nth-child(odd), - .cms_archive li:nth-child(even), - .sitemap > li > ul > li:nth-child(odd), - .sitemap > li > ul > li:nth-child(even) { - width:100%; - float:none; - padding-right:0; - } - - .widget_colored.four_box { - display:block; - border-left:none; - } - - #sidebar {border-top:2px solid #ebebeb;} - - #sidebar .widget {padding-bottom:0;} - - .cmsms_format {margin-right:6px;} - - .post .entry-content {padding-left:10px;} - - .post_type_shortcode.four_blocks, - .post_type_shortcode.two_blocks, - .portfolio_container.two_blocks .portfolio, - .portfolio_container.four_blocks {margin-right:0;} - - .cmsms-form-builder .cmsms_input {width:100%;} - - .comment-body .published, - .p_sort, - .comment-reply-link, - .comment-content h6 {float:none;} - - .comment-reply-link, - #commentform textarea {margin-top:10px;} - - .comment-body .published, - #commentform label {padding-left:0;} - - .comment-body .alignleft {margin-bottom:4px;} - - #commentform input[type="text"], - #commentform textarea, - .cmsms-form-builder input[type="text"] {width:100%;} - - .pj_sort {padding-top:117px;} - - div.p_filter {padding:10px 0 0;} - - .error h1 {font-size:140px;} - - .error .search_line {width:90%;} - -} diff --git a/content/css/font-awesome/font-awesome.scss b/content/css/font-awesome/font-awesome.scss new file mode 100644 index 0000000..92ade8d --- /dev/null +++ b/content/css/font-awesome/font-awesome.scss @@ -0,0 +1,534 @@ +/*! + * Font Awesome 3.0.2 + * the iconic font designed for use with Twitter Bootstrap + * ------------------------------------------------------- + * The full suite of pictographic icons, examples, and documentation + * can be found at: http://fortawesome.github.com/Font-Awesome/ + * + * License + * ------------------------------------------------------- + * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + * http://opensource.org/licenses/mit-license.html + * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: + * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + * + * Contact + * ------------------------------------------------------- + * Email: dave@davegandy.com + * Twitter: http://twitter.com/fortaweso_me + * Work: Lead Product Designer @ http://kyruus.com + */ + +$fontAwesomePath: "../font" !default; +$borderColor: #eee; +$iconMuted: #eee; +@mixin border-radius($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; border-radius: $radius; } + + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fontAwesomePath}/fontawesome-webfont.eot?v=3.0.1'); + src: url('#{$fontAwesomePath}/fontawesome-webfont.eot?#iefix&v=3.0.1') format("embedded-opentype"), + url('#{$fontAwesomePath}/fontawesome-webfont.woff?v=3.0.1') format("woff"), + url('#{$fontAwesomePath}/fontawesome-webfont.ttf?v=3.0.1') format("truetype"); + font-weight: normal; + font-style: normal; +} + +/* Font Awesome styles + ------------------------------------------------------- */ +[class^="icon-"], +[class*=" icon-"] { + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + -webkit-font-smoothing: antialiased; + + /* sprites.less reset */ + display: inline; + width: auto; + height: auto; + line-height: normal; + vertical-align: baseline; + background-image: none; + background-position: 0% 0%; + background-repeat: repeat; + margin-top: 0; +} + +/* more sprites.less reset */ +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { + background-image: none; +} + +[class^="icon-"]:before, +[class*=" icon-"]:before { + text-decoration: inherit; + display: inline-block; + speak: none; +} + +/* makes sure icons active on rollover in links */ +a { + [class^="icon-"], + [class*=" icon-"] { + display: inline-block; + } +} + +/* makes the font 33% larger relative to the icon container */ +.icon-large:before { + vertical-align: -10%; + font-size: 1.3333333333333333em; +} + +.btn, .nav { + [class^="icon-"], + [class*=" icon-"] { + display: inline; + /* keeps button heights with and without icons the same */ + &.icon-large { line-height: .9em; } + &.icon-spin { display: inline-block; } + } +} + +.nav-tabs, .nav-pills { + [class^="icon-"], + [class*=" icon-"] { + /* keeps button heights with and without icons the same */ + &, &.icon-large { line-height: .9em; } + } +} + +li, .nav li { + [class^="icon-"], + [class*=" icon-"] { + display: inline-block; + width: 1.25em; + text-align: center; + &.icon-large { + /* increased font size for icon-large */ + width: 1.5625em; + } + } +} + +ul.icons { + list-style-type: none; + text-indent: -.75em; + + li { + [class^="icon-"], + [class*=" icon-"] { + width: .75em; + } + } +} + +.icon-muted { + color: $iconMuted; +} + +// Icon Borders +// ------------------------- + +.icon-border { + border: solid 1px $borderColor; + padding: .2em .25em .15em; + @include border-radius(3px); +} + +// Icon Sizes +// ------------------------- + +.icon-2x { + font-size: 2em; + &.icon-border { + border-width: 2px; + @include border-radius(4px); + } +} +.icon-3x { + font-size: 3em; + &.icon-border { + border-width: 3px; + @include border-radius(5px); + } +} +.icon-4x { + font-size: 4em; + &.icon-border { + border-width: 4px; + @include border-radius(6px); + } +} + +// Floats +// ------------------------- + +// Quick floats +.pull-right { float: right; } +.pull-left { float: left; } + +[class^="icon-"], +[class*=" icon-"] { + &.pull-left { + margin-right: .3em; + } + &.pull-right { + margin-left: .3em; + } +} + +.btn { + [class^="icon-"], + [class*=" icon-"] { + &.pull-left, &.pull-right { + &.icon-2x { margin-top: .18em; } + } + &.icon-spin.icon-large { line-height: .8em; } + } +} + +.btn.btn-small { + [class^="icon-"], + [class*=" icon-"] { + &.pull-left, &.pull-right { + &.icon-2x { margin-top: .25em; } + } + } +} + +.btn.btn-large { + [class^="icon-"], + [class*=" icon-"] { + margin-top: 0; // overrides bootstrap default + &.pull-left, &.pull-right { + &.icon-2x { margin-top: .05em; } + } + &.pull-left.icon-2x { margin-right: .2em; } + &.pull-right.icon-2x { margin-left: .2em; } + } +} + + +.icon-spin { + display: inline-block; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} + +@-moz-keyframes spin { + 0% { -moz-transform: rotate(0deg); } + 100% { -moz-transform: rotate(359deg); } +} +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} +@-o-keyframes spin { + 0% { -o-transform: rotate(0deg); } + 100% { -o-transform: rotate(359deg); } +} +@-ms-keyframes spin { + 0% { -ms-transform: rotate(0deg); } + 100% { -ms-transform: rotate(359deg); } +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} + +@-moz-document url-prefix() { + .icon-spin { height: .9em; } + .btn .icon-spin { height: auto; } + .icon-spin.icon-large { height: 1.25em; } + .btn .icon-spin.icon-large { height: .75em; } +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.icon-glass:before { content: "\f000"; } +.icon-music:before { content: "\f001"; } +.icon-search:before { content: "\f002"; } +.icon-envelope:before { content: "\f003"; } +.icon-heart:before { content: "\f004"; } +.icon-star:before { content: "\f005"; } +.icon-star-empty:before { content: "\f006"; } +.icon-user:before { content: "\f007"; } +.icon-film:before { content: "\f008"; } +.icon-th-large:before { content: "\f009"; } +.icon-th:before { content: "\f00a"; } +.icon-th-list:before { content: "\f00b"; } +.icon-ok:before { content: "\f00c"; } +.icon-remove:before { content: "\f00d"; } +.icon-zoom-in:before { content: "\f00e"; } + +.icon-zoom-out:before { content: "\f010"; } +.icon-off:before { content: "\f011"; } +.icon-signal:before { content: "\f012"; } +.icon-cog:before { content: "\f013"; } +.icon-trash:before { content: "\f014"; } +.icon-home:before { content: "\f015"; } +.icon-file:before { content: "\f016"; } +.icon-time:before { content: "\f017"; } +.icon-road:before { content: "\f018"; } +.icon-download-alt:before { content: "\f019"; } +.icon-download:before { content: "\f01a"; } +.icon-upload:before { content: "\f01b"; } +.icon-inbox:before { content: "\f01c"; } +.icon-play-circle:before { content: "\f01d"; } +.icon-repeat:before { content: "\f01e"; } + +/* \f020 doesn't work in Safari. all shifted one down */ +.icon-refresh:before { content: "\f021"; } +.icon-list-alt:before { content: "\f022"; } +.icon-lock:before { content: "\f023"; } +.icon-flag:before { content: "\f024"; } +.icon-headphones:before { content: "\f025"; } +.icon-volume-off:before { content: "\f026"; } +.icon-volume-down:before { content: "\f027"; } +.icon-volume-up:before { content: "\f028"; } +.icon-qrcode:before { content: "\f029"; } +.icon-barcode:before { content: "\f02a"; } +.icon-tag:before { content: "\f02b"; } +.icon-tags:before { content: "\f02c"; } +.icon-book:before { content: "\f02d"; } +.icon-bookmark:before { content: "\f02e"; } +.icon-print:before { content: "\f02f"; } + +.icon-camera:before { content: "\f030"; } +.icon-font:before { content: "\f031"; } +.icon-bold:before { content: "\f032"; } +.icon-italic:before { content: "\f033"; } +.icon-text-height:before { content: "\f034"; } +.icon-text-width:before { content: "\f035"; } +.icon-align-left:before { content: "\f036"; } +.icon-align-center:before { content: "\f037"; } +.icon-align-right:before { content: "\f038"; } +.icon-align-justify:before { content: "\f039"; } +.icon-list:before { content: "\f03a"; } +.icon-indent-left:before { content: "\f03b"; } +.icon-indent-right:before { content: "\f03c"; } +.icon-facetime-video:before { content: "\f03d"; } +.icon-picture:before { content: "\f03e"; } + +.icon-pencil:before { content: "\f040"; } +.icon-map-marker:before { content: "\f041"; } +.icon-adjust:before { content: "\f042"; } +.icon-tint:before { content: "\f043"; } +.icon-edit:before { content: "\f044"; } +.icon-share:before { content: "\f045"; } +.icon-check:before { content: "\f046"; } +.icon-move:before { content: "\f047"; } +.icon-step-backward:before { content: "\f048"; } +.icon-fast-backward:before { content: "\f049"; } +.icon-backward:before { content: "\f04a"; } +.icon-play:before { content: "\f04b"; } +.icon-pause:before { content: "\f04c"; } +.icon-stop:before { content: "\f04d"; } +.icon-forward:before { content: "\f04e"; } + +.icon-fast-forward:before { content: "\f050"; } +.icon-step-forward:before { content: "\f051"; } +.icon-eject:before { content: "\f052"; } +.icon-chevron-left:before { content: "\f053"; } +.icon-chevron-right:before { content: "\f054"; } +.icon-plus-sign:before { content: "\f055"; } +.icon-minus-sign:before { content: "\f056"; } +.icon-remove-sign:before { content: "\f057"; } +.icon-ok-sign:before { content: "\f058"; } +.icon-question-sign:before { content: "\f059"; } +.icon-info-sign:before { content: "\f05a"; } +.icon-screenshot:before { content: "\f05b"; } +.icon-remove-circle:before { content: "\f05c"; } +.icon-ok-circle:before { content: "\f05d"; } +.icon-ban-circle:before { content: "\f05e"; } + +.icon-arrow-left:before { content: "\f060"; } +.icon-arrow-right:before { content: "\f061"; } +.icon-arrow-up:before { content: "\f062"; } +.icon-arrow-down:before { content: "\f063"; } +.icon-share-alt:before { content: "\f064"; } +.icon-resize-full:before { content: "\f065"; } +.icon-resize-small:before { content: "\f066"; } +.icon-plus:before { content: "\f067"; } +.icon-minus:before { content: "\f068"; } +.icon-asterisk:before { content: "\f069"; } +.icon-exclamation-sign:before { content: "\f06a"; } +.icon-gift:before { content: "\f06b"; } +.icon-leaf:before { content: "\f06c"; } +.icon-fire:before { content: "\f06d"; } +.icon-eye-open:before { content: "\f06e"; } + +.icon-eye-close:before { content: "\f070"; } +.icon-warning-sign:before { content: "\f071"; } +.icon-plane:before { content: "\f072"; } +.icon-calendar:before { content: "\f073"; } +.icon-random:before { content: "\f074"; } +.icon-comment:before { content: "\f075"; } +.icon-magnet:before { content: "\f076"; } +.icon-chevron-up:before { content: "\f077"; } +.icon-chevron-down:before { content: "\f078"; } +.icon-retweet:before { content: "\f079"; } +.icon-shopping-cart:before { content: "\f07a"; } +.icon-folder-close:before { content: "\f07b"; } +.icon-folder-open:before { content: "\f07c"; } +.icon-resize-vertical:before { content: "\f07d"; } +.icon-resize-horizontal:before { content: "\f07e"; } + +.icon-bar-chart:before { content: "\f080"; } +.icon-twitter-sign:before { content: "\f081"; } +.icon-facebook-sign:before { content: "\f082"; } +.icon-camera-retro:before { content: "\f083"; } +.icon-key:before { content: "\f084"; } +.icon-cogs:before { content: "\f085"; } +.icon-comments:before { content: "\f086"; } +.icon-thumbs-up:before { content: "\f087"; } +.icon-thumbs-down:before { content: "\f088"; } +.icon-star-half:before { content: "\f089"; } +.icon-heart-empty:before { content: "\f08a"; } +.icon-signout:before { content: "\f08b"; } +.icon-linkedin-sign:before { content: "\f08c"; } +.icon-pushpin:before { content: "\f08d"; } +.icon-external-link:before { content: "\f08e"; } + +.icon-signin:before { content: "\f090"; } +.icon-trophy:before { content: "\f091"; } +.icon-github-sign:before { content: "\f092"; } +.icon-upload-alt:before { content: "\f093"; } +.icon-lemon:before { content: "\f094"; } +.icon-phone:before { content: "\f095"; } +.icon-check-empty:before { content: "\f096"; } +.icon-bookmark-empty:before { content: "\f097"; } +.icon-phone-sign:before { content: "\f098"; } +.icon-twitter:before { content: "\f099"; } +.icon-facebook:before { content: "\f09a"; } +.icon-github:before { content: "\f09b"; } +.icon-unlock:before { content: "\f09c"; } +.icon-credit-card:before { content: "\f09d"; } +.icon-rss:before { content: "\f09e"; } + +.icon-hdd:before { content: "\f0a0"; } +.icon-bullhorn:before { content: "\f0a1"; } +.icon-bell:before { content: "\f0a2"; } +.icon-certificate:before { content: "\f0a3"; } +.icon-hand-right:before { content: "\f0a4"; } +.icon-hand-left:before { content: "\f0a5"; } +.icon-hand-up:before { content: "\f0a6"; } +.icon-hand-down:before { content: "\f0a7"; } +.icon-circle-arrow-left:before { content: "\f0a8"; } +.icon-circle-arrow-right:before { content: "\f0a9"; } +.icon-circle-arrow-up:before { content: "\f0aa"; } +.icon-circle-arrow-down:before { content: "\f0ab"; } +.icon-globe:before { content: "\f0ac"; } +.icon-wrench:before { content: "\f0ad"; } +.icon-tasks:before { content: "\f0ae"; } + +.icon-filter:before { content: "\f0b0"; } +.icon-briefcase:before { content: "\f0b1"; } +.icon-fullscreen:before { content: "\f0b2"; } + +.icon-group:before { content: "\f0c0"; } +.icon-link:before { content: "\f0c1"; } +.icon-cloud:before { content: "\f0c2"; } +.icon-beaker:before { content: "\f0c3"; } +.icon-cut:before { content: "\f0c4"; } +.icon-copy:before { content: "\f0c5"; } +.icon-paper-clip:before { content: "\f0c6"; } +.icon-save:before { content: "\f0c7"; } +.icon-sign-blank:before { content: "\f0c8"; } +.icon-reorder:before { content: "\f0c9"; } +.icon-list-ul:before { content: "\f0ca"; } +.icon-list-ol:before { content: "\f0cb"; } +.icon-strikethrough:before { content: "\f0cc"; } +.icon-underline:before { content: "\f0cd"; } +.icon-table:before { content: "\f0ce"; } + +.icon-magic:before { content: "\f0d0"; } +.icon-truck:before { content: "\f0d1"; } +.icon-pinterest:before { content: "\f0d2"; } +.icon-pinterest-sign:before { content: "\f0d3"; } +.icon-google-plus-sign:before { content: "\f0d4"; } +.icon-google-plus:before { content: "\f0d5"; } +.icon-money:before { content: "\f0d6"; } +.icon-caret-down:before { content: "\f0d7"; } +.icon-caret-up:before { content: "\f0d8"; } +.icon-caret-left:before { content: "\f0d9"; } +.icon-caret-right:before { content: "\f0da"; } +.icon-columns:before { content: "\f0db"; } +.icon-sort:before { content: "\f0dc"; } +.icon-sort-down:before { content: "\f0dd"; } +.icon-sort-up:before { content: "\f0de"; } + +.icon-envelope-alt:before { content: "\f0e0"; } +.icon-linkedin:before { content: "\f0e1"; } +.icon-undo:before { content: "\f0e2"; } +.icon-legal:before { content: "\f0e3"; } +.icon-dashboard:before { content: "\f0e4"; } +.icon-comment-alt:before { content: "\f0e5"; } +.icon-comments-alt:before { content: "\f0e6"; } +.icon-bolt:before { content: "\f0e7"; } +.icon-sitemap:before { content: "\f0e8"; } +.icon-umbrella:before { content: "\f0e9"; } +.icon-paste:before { content: "\f0ea"; } +.icon-lightbulb:before { content: "\f0eb"; } +.icon-exchange:before { content: "\f0ec"; } +.icon-cloud-download:before { content: "\f0ed"; } +.icon-cloud-upload:before { content: "\f0ee"; } + +.icon-user-md:before { content: "\f0f0"; } +.icon-stethoscope:before { content: "\f0f1"; } +.icon-suitcase:before { content: "\f0f2"; } +.icon-bell-alt:before { content: "\f0f3"; } +.icon-coffee:before { content: "\f0f4"; } +.icon-food:before { content: "\f0f5"; } +.icon-file-alt:before { content: "\f0f6"; } +.icon-building:before { content: "\f0f7"; } +.icon-hospital:before { content: "\f0f8"; } +.icon-ambulance:before { content: "\f0f9"; } +.icon-medkit:before { content: "\f0fa"; } +.icon-fighter-jet:before { content: "\f0fb"; } +.icon-beer:before { content: "\f0fc"; } +.icon-h-sign:before { content: "\f0fd"; } +.icon-plus-sign-alt:before { content: "\f0fe"; } + +.icon-double-angle-left:before { content: "\f100"; } +.icon-double-angle-right:before { content: "\f101"; } +.icon-double-angle-up:before { content: "\f102"; } +.icon-double-angle-down:before { content: "\f103"; } +.icon-angle-left:before { content: "\f104"; } +.icon-angle-right:before { content: "\f105"; } +.icon-angle-up:before { content: "\f106"; } +.icon-angle-down:before { content: "\f107"; } +.icon-desktop:before { content: "\f108"; } +.icon-laptop:before { content: "\f109"; } +.icon-tablet:before { content: "\f10a"; } +.icon-mobile-phone:before { content: "\f10b"; } +.icon-circle-blank:before { content: "\f10c"; } +.icon-quote-left:before { content: "\f10d"; } +.icon-quote-right:before { content: "\f10e"; } + +.icon-spinner:before { content: "\f110"; } +.icon-circle:before { content: "\f111"; } +.icon-reply:before { content: "\f112"; } +.icon-github-alt:before { content: "\f113"; } +.icon-folder-close-alt:before { content: "\f114"; } +.icon-folder-open-alt:before { content: "\f115"; } diff --git a/content/css/ie.css b/content/css/ie.css deleted file mode 100644 index 6dc087c..0000000 --- a/content/css/ie.css +++ /dev/null @@ -1,70 +0,0 @@ -.p_options_block, -.p_filter_container:hover ul.p_filter {filter:alpha(opacity=100);} - -.p_filter_container ul.p_filter, -.cmsms-form-builder .check_parent input[type="checkbox"], -.cmsms-form-builder .check_parent input[type="radio"], -.loading {filter:alpha(opacity=0);} - -.button, -.button_medium, -.button_large, -.dropcap2, -.tabs li a.current, -.related_posts > ul > li a.current, -.tour li a, -.comment-reply-link, -.cmsmsLike, -.cmsms_rounding { - position:relative; - z-index:0; -} - -div.p_filter {height:1000px;} - -.p_filter_container ul.p_filter {top:32px;} - -.button span, -.button_medium span, -.button_large span {transition:none;} - -.button, -.button_medium, -.button_large {margin-right:3px;} - -.cmsms-form-builder .check_parent input[type="radio"]+label, -.cmsms-form-builder .check_parent input[type="checkbox"]+label {background-image:none;} - -.cmsms-form-builder .check_parent input[type="radio"], -.cmsms-form-builder .check_parent input[type="checkbox"] { - filter:alpha(opacity=100); - margin-top:11px; -} - -.cmsms_slider_video.hidden {display:none;} - -@media only screen and (min-width: 541px) and (max-width: 767px) { - - .widget_colored.four_box, - .one_fourth, - .one_fourth.last, - .one_fourth+.one_fourth, - .one_fourth+.one_fourth+.one_fourth, - .one_fourth+.one_fourth+.one_fourth+.one_fourth, - .portfolio_container.two_blocks .portfolio, - .portfolio_container.four_blocks .portfolio:nth-child(odd), - .portfolio_container.four_blocks .portfolio:nth-child(even), - .format-album.four_blocks .resize .cmsms_media_box:nth-child(odd), - .format-album.four_blocks .resize .cmsms_media_box:nth-child(even), - .post_type_shortcode.four_blocks article:nth-child(odd), - .post_type_shortcode.four_blocks article:nth-child(even), - .cms_archive li:nth-child(odd), - .cms_archive li:nth-child(even), - .sitemap > li > ul > li:nth-child(odd), - .sitemap > li > ul > li:nth-child(even) { - width:100%; - float:none; - padding-right:0; - } - -} diff --git a/content/css/ieCss3.css b/content/css/ieCss3.css deleted file mode 100644 index 5143f65..0000000 --- a/content/css/ieCss3.css +++ /dev/null @@ -1,21 +0,0 @@ -span.dropcap2, -.button, -.button > span, -.button_medium, -.button_medium >span, -.button_large, -.button_large > span, -.cmsmsLike, -.cmsms_close_video, -#slide_top, -.cmsms_slides_nav, -a.cmsms_prev_slide, -a.cmsms_next_slide, -.cmsms_rounding, -.widget_custom_popular_portfolio_entries figure img, -.tp-bullets, -.tp-leftarrow, -.tp-rightarrow{behavior:url(css/styles/pie.htc);} - -.p_options_block .button, -.p_options_block .button span {behavior:none;} \ No newline at end of file diff --git a/content/css/screen.scss b/content/css/screen.scss new file mode 100644 index 0000000..dd25eed --- /dev/null +++ b/content/css/screen.scss @@ -0,0 +1,277 @@ +$turquoise: #1ABC9C; +$greensea: #16A085; +$emerland: #2ECC71; +$nephritis: #27AE60; +$peterriver: #3498DB; +$belizehole: #2980B9; +$amethyst: #9B59B6; +$wisteria: #8E44AD; +$wetasphalt: #34495E; +$midnightblue: #2C3E50; +$sunflower: #F1C40F; +$orange: #F39C12; +$carrot: #E67E22; +$pumpkin: #D35400; +$alizarin: #E74C3C; +$pomegranate: #C0392B; +$clouds: #ECF0F1; +$silver: #BDC3C7; +$concrete: #95A5A6; +$asbestos: #7F8C8D; + +$border-radius: 6px; + +@import url(http://fonts.googleapis.com/css?family=Lato:900|PT+Sans:400,700,400italic,700italic); +@import "zurb-foundation/normalize.scss"; +@import "zurb-foundation/foundation.scss"; +@import "pygments"; + +html > body { + padding: 0; + margin: 0; + + background-color: $clouds; + + font-size: 14px; + font-family: "PT Sans", helvetica, arial; +} + +a, a:hover, a:visited, a:active { + color: $peterriver; + text-decoration: none; +} + +header#title { + background-color: $peterriver; + + margin: 0; + padding: 12px; + + text-align: center; + + h1 { + margin: 12px 0; + + font-family: "Lato", arial; + font-weight: 900; + font-size: 52px; + letter-spacing: 4px; + + display: inline-block; + color: $peterriver; + background-color: #fff; + padding: 4px 16px; + border-radius: $border-radius; + + text-transform: uppercase; + } +} + +nav#primary { + text-align: center; + background-color: $peterriver; + + padding-bottom: 16px; + + ol { + list-style-type: none; + + padding: 0; + margin: 0; + + li { + display: inline-block; + + font-size: 18px; + font-family: "Lato", arial; + + background-color: $belizehole; + padding: 4px 8px; + margin: 0 3px; + + border-radius: $border-radius; + + a { + color: #ffffff; + text-decoration: none; + } + } + } +} + +#wrapper { + @include grid-row; +} + +.avatar { + width: 128px; + height: 128px; + border-radius: 64px; + background: url(https://secure.gravatar.com/avatar/a9bfdd0cc75c857b669c37548b8bfdf9?s=256) no-repeat; + background-size: 128px 128px; + + margin: 32px auto 32px auto; +} + +.influads { + margin: 32px auto 32px auto; + font-size: 12px; + text-align: center; + + .influads_text { + margin-top: 3px; + margin-bottom: 6px; + + a { + color: $concrete; + } + } + + .influads_powered_div { + a { + color: $silver; + } + } +} + +#content { + margin: 12px; + + article.post, article.page { + h1, h2, h3, h4, h5, h6 { + font-family: 'Lato'; + } + + .meta { + margin-top: -18px; + font-style: italic; + } + + ol, ul { + margin-left: 20px; + } + } +} + +section#posts { + h2.year { + font-size: 24px; + text-align: center; + border-bottom: 3px solid $silver; + } + + .post-listing { + margin-bottom: 1.75em; + + h3.title { + margin-bottom: 12px; + } + .summary { + margin-top: -12px; + + p { + margin-bottom: 0.5em; + } + } + } +} + +section.post { + section#main { + @include grid-column(8, false, false, 2); + } + + section#sidebar { + @include grid-column(2); + } +} + +section.page { + @include grid-column(12); +} + +footer { + @include grid-row; + clear: both; + + .copyright { + @include grid-column(12); + + text-align: center; + font-size: 12px; + + color: $concrete; + + ul.tla { + color: $silver; + + list-style-type: none; + + li { + display: inline; + } + } + } +} + +pre, .plaincode{ + background: none; + border: none; + border-radius: none; + + font-size: 12px; + overflow: visible; + + padding: 6px 6px; + margin: 0; + + word-break: normal; + word-wrap: normal; + + white-space: pre; + display: block; +} + +.plaincode { + background-color: #f9f9f9; +} + +.code { + overflow: auto; + margin: 0 0 11px 0; + + table { + width: 100%; + background: inherit; + + td, th { + padding: 0; + } + + .linenodiv { + background-color: #f4f4f4; + color: #AAA; + padding: 0 0.5em; + border-right: 1px solid #DDD; + text-align: right; + } + + td.code { + width: 100%; + } + + .highlight { + background-color: #f9f9f9; + } + } +} + +form { + ul { + list-style-type: none; + } + + p.instruct { + + } +} diff --git a/content/css/style.scss b/content/css/style.scss deleted file mode 100644 index 6d5e723..0000000 --- a/content/css/style.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import "willbridge"; -@import "fonts"; -@import "jquery_prettyphoto"; -@import "pygments"; -@import "main"; \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation.scss b/content/css/zurb-foundation/foundation.scss new file mode 100644 index 0000000..f4e0b2e --- /dev/null +++ b/content/css/zurb-foundation/foundation.scss @@ -0,0 +1,46 @@ +// Make sure the charset is set appropriately +@charset "UTF-8"; + +// This includes all of the foundation global elements that are needed to work with any of the other files. +@import "foundation/foundation-global"; + +// Foundation Components +@import + "foundation/components/global", + "foundation/components/grid", + "foundation/components/visibility", + "foundation/components/block-grid", + "foundation/components/type", + "foundation/components/buttons", + "foundation/components/forms", + "foundation/components/custom-forms", + "foundation/components/button-groups", + "foundation/components/dropdown-buttons", + "foundation/components/split-buttons", + "foundation/components/flex-video", + "foundation/components/section", + "foundation/components/top-bar", + "foundation/components/orbit", + "foundation/components/reveal", + "foundation/components/joyride", + "foundation/components/clearing", + "foundation/components/alert-boxes", + "foundation/components/breadcrumbs", + "foundation/components/keystrokes", + "foundation/components/labels", + "foundation/components/inline-lists", + "foundation/components/pagination", + "foundation/components/panels", + "foundation/components/pricing-tables", + "foundation/components/progress-bars", + "foundation/components/side-nav", + "foundation/components/sub-nav", + "foundation/components/switch", + "foundation/components/magellan", + "foundation/components/tables", + "foundation/components/thumbs", + "foundation/components/tooltips", + "foundation/components/dropdown"; + + + diff --git a/content/css/zurb-foundation/foundation/_foundation-global.scss b/content/css/zurb-foundation/foundation/_foundation-global.scss new file mode 100644 index 0000000..acef699 --- /dev/null +++ b/content/css/zurb-foundation/foundation/_foundation-global.scss @@ -0,0 +1,198 @@ +// Foundation Global Function, Variables and Mixins +// +// Variables +// + +// The default font-size is set to 100% of the browser style sheet (usually 16px) +// for compatibility with brower-based text zoom or user-set defaults. +$base-font-size: 100% !default; + +// Set your base font-size in pixels so emCalc can do its magic below +$em-base: 16px !default; + +// We use these to control various global styles +$body-bg: #fff !default; +$body-font-color: #222 !default; +$body-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !default; +$body-font-weight: normal !default; +$body-font-style: normal !default; + +// We use these to control text direction settings +$text-direction: ltr !default; // Controls default global text direction, 'rtl' or 'ltr' +$default-float: left !default; +$opposite-direction: right !default; +// No need to change this conditional statement, $text-direction variable controls it all. +@if $text-direction == ltr { + $default-float: left; + $opposite-direction: right; +} @else { + $default-float: right; + $opposite-direction: left; +} + +// We use these as default colors throughout +$primary-color: #2ba6cb !default; +$secondary-color: #e9e9e9 !default; +$alert-color: #c60f13 !default; +$success-color: #5da423 !default; + +// We use these to make sure border radius matches unless we want it different. +$global-radius: 3px !default; +$global-rounded: 1000px !default; + +// We use these to control inset shadow shiny edges and depressions. +$shiny-edge-size: 0 1px 0 !default; +$shiny-edge-color: rgba(#fff, .5) !default; +$shiny-edge-active-color: rgba(#000, .2) !default; + +// We use this to control whether or not CSS classes come through in the gem files. +$include-html-classes: true !default; +$include-print-styles: true !default; + +$include-html-grid-classes: $include-html-classes !default; +$include-html-visibility-classes: $include-html-classes !default; +$include-html-button-classes: $include-html-classes !default; +$include-html-form-classes: $include-html-classes !default; +$include-html-media-classes: $include-html-classes !default; +$include-html-section-classes: $include-html-classes !default; +$include-html-reveal-classes: $include-html-classes !default; +$include-html-alert-classes: $include-html-classes !default; +$include-html-nav-classes: $include-html-classes !default; +$include-html-label-classes: $include-html-classes !default; +$include-html-panel-classes: $include-html-classes !default; +$include-html-pricing-classes: $include-html-classes !default; +$include-html-progress-classes: $include-html-classes !default; +$include-html-magellan-classes: $include-html-classes !default; + +// +// Functions +// + +// Working in ems is annoying. Think in pixels by using this handy function, emCalc(#px) +@function emCalc($pxWidth) { + @return $pxWidth / $em-base * 1em; +} + +// Creating rems and pixels +@function remCalc($pxWidth) { + @return $pxWidth / $em-base * 1rem; +} + +// Grid Calculation for Percentages +@function gridCalc($colNumber, $totalColumns) { + @return percentage(($colNumber / $totalColumns)); +} + + +// +// Mixins +// + +// We use this to control border radius. +@mixin radius($radius:$global-radius) { + @if $radius { + -webkit-border-radius: $radius; + border-radius: $radius; + } +} + +// We use this to create equal side border radius on elements. +@mixin side-radius($side, $radius) { + @include radius(0); + @if $side == left { + -moz-border-radius-bottomleft: $radius; + -moz-border-radius-topleft: $radius; + -webkit-border-bottom-left-radius: $radius; + -webkit-border-top-left-radius: $radius; + border-bottom-left-radius: $radius; + border-top-left-radius: $radius; + } + @else if $side == right { + -moz-border-radius-topright: $radius; + -moz-border-radius-bottomright: $radius; + -webkit-border-top-right-radius: $radius; + -webkit-border-bottom-right-radius: $radius; + border-top-right-radius: $radius; + border-bottom-right-radius: $radius; + } + @else if $side == top { + -moz-border-radius-topright: $radius; + -moz-border-radius-topleft: $radius; + -webkit-border-top-right-radius: $radius; + -webkit-border-top-left-radius: $radius; + border-top-right-radius: $radius; + border-top-left-radius: $radius; + } + @else if $side == bottom { + -moz-border-radius-bottomright: $radius; + -moz-border-radius-bottomleft: $radius; + -webkit-border-bottom-right-radius: $radius; + -webkit-border-bottom-left-radius: $radius; + border-bottom-right-radius: $radius; + border-bottom-left-radius: $radius; + } +} + +// We can control whether or not we have inset shadows edges. +@mixin inset-shadow($active:true) { + -webkit-box-shadow: $shiny-edge-size $shiny-edge-color inset; + box-shadow: $shiny-edge-size $shiny-edge-color inset; + + @if $active { &:active { + -webkit-box-shadow: $shiny-edge-size $shiny-edge-active-color inset; + box-shadow: $shiny-edge-size $shiny-edge-active-color inset; } } +} + +// We use this to add transitions to elements +@mixin single-transition($property:all, $speed:300ms, $ease:ease-out) { + -webkit-transition: $property $speed $ease; + -moz-transition: $property $speed $ease; + transition: $property $speed $ease; +} + +// We use this to add box-sizing across browser prefixes +@mixin box-sizing($type:border-box) { + -moz-box-sizing: $type; + -webkit-box-sizing: $type; + box-sizing: $type; +} + +// We use this to create equalateral triangles +@mixin css-triangle($triangle-size, $triangle-color, $triangle-direction) { + content: ""; + display: block; + width: 0; + height: 0; + border: solid $triangle-size; + @if ($triangle-direction == top) { + border-color: $triangle-color transparent transparent transparent; + } + @if ($triangle-direction == bottom) { + border-color: transparent transparent $triangle-color transparent; + } + @if ($triangle-direction == left) { + border-color: transparent transparent transparent $triangle-color; + } + @if ($triangle-direction == right) { + border-color: transparent $triangle-color transparent transparent; + } +} + +// We use this to do clear floats +@mixin clearfix() { + *zoom:1; + &:before, &:after { content: " "; display: table; } + &:after { clear: both; } +} + +// Media Queries +$small-screen: emCalc(768px) !default; +$medium-screen: emCalc(1280px) !default; +$large-screen: emCalc(1440px) !default; + +$screen: "only screen" !default; +$small: "only screen and (min-width:"#{$small-screen}")" !default; +$medium: "only screen and (min-width:"#{$medium-screen}")" !default; +$large: "only screen and (min-width:"#{$large-screen}")" !default; +$landscape: "only screen and (orientation: landscape)" !default; +$portrait: "only screen and (orientation: portrait)" !default; diff --git a/content/css/zurb-foundation/foundation/components/_alert-boxes.scss b/content/css/zurb-foundation/foundation/components/_alert-boxes.scss new file mode 100644 index 0000000..a14807a --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_alert-boxes.scss @@ -0,0 +1,106 @@ +// +// Alert Variables +// + +// We use this to control alert padding. +$alert-padding-top: emCalc(11px) !default; +$alert-padding-default-float: $alert-padding-top !default; +$alert-padding-opposite-direction: $alert-padding-top + emCalc(10px) !default; +$alert-padding-bottom: $alert-padding-top + emCalc(1px) !default; + +// We use these to control text style. +$alert-font-weight: bold !default; +$alert-font-size: emCalc(14px) !default; +$alert-font-color: #fff !default; +$alert-font-color-alt: darken($secondary-color, 60%) !default; + +// We use this for close hover effect. +$alert-function-factor: 10% !default; + +// We use these to control border styles. +$alert-border-style: solid !default; +$alert-border-width: 1px !default; +$alert-border-color: darken($primary-color, $alert-function-factor) !default; +$alert-bottom-margin: emCalc(20px) !default; + +// We use these to style the close buttons +$alert-close-color: #333 !default; +$alert-close-position: emCalc(5px) !default; +$alert-close-font-size: emCalc(22px) !default; +$alert-close-opacity: 0.3 !default; +$alert-close-opacity-hover: 0.5 !default; +$alert-close-padding: 5px 4px 4px !default; + +// We use this to control border radius +$alert-radius: $global-radius !default; + +// +// Alert Mixins +// + +// We use this mixin to create a default alert base. +@mixin alert-base { + border-style: $alert-border-style; + border-width: $alert-border-width; + display: block; + font-weight: $alert-font-weight; + margin-bottom: $alert-bottom-margin; + position: relative; + padding: $alert-padding-top $alert-padding-opposite-direction $alert-padding-bottom $alert-padding-default-float; + font-size: $alert-font-size; +} + +// We use this mixin to add alert styles +@mixin alert-style($bg:$primary-color) { + + // This find the lightness percentage of the background color. + $bg-lightness: lightness($bg); + + // We control which background color and border come through. + background-color: $bg; + border-color: darken($bg, $alert-function-factor); + + // We control the text color for you based on the background color. + @if $bg-lightness > 70% { color: $alert-font-color-alt; } + @else { color: $alert-font-color; } + +} + +// We use this to create the close button. +@mixin alert-close { + font-size: $alert-close-font-size; + padding: $alert-close-padding; + line-height: 0; + position: absolute; + top: $alert-close-position + emCalc(2px); + #{$opposite-direction}: $alert-close-position; + color: $alert-close-color; + opacity: $alert-close-opacity; + &:hover, + &:focus { opacity: $alert-close-opacity-hover; } +} + +// We use this to quickly create alerts with a single mixin. +@mixin alert($bg:$primary-color, $radius:false) { + @include alert-base; + @include alert-style($bg); + @include radius($radius); +} + +@if $include-html-alert-classes { + + /* Foundation Alerts */ + .alert-box { + @include alert; + + .close { @include alert-close; } + + &.radius { @include radius($alert-radius); } + &.round { @include radius($global-rounded); } + + &.success { @include alert-style($success-color); } + &.alert { @include alert-style($alert-color); } + &.secondary { @include alert-style($secondary-color); } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_block-grid.scss b/content/css/zurb-foundation/foundation/components/_block-grid.scss new file mode 100644 index 0000000..9bd9d3d --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_block-grid.scss @@ -0,0 +1,66 @@ +// +// Block Grid Variables +// + +// We use this to control the maximum number of block grid elements per row +$block-grid-elements: 12 !default; +$block-grid-default-spacing: 10px !default; + +// Enables media queries for block-grid classes. Set to false if writing semantic HTML. +$block-grid-media-queries: true !default; + +// +// Block Grid Mixins +// + +// We use this mixin to create different block-grids. You can apply per-row and spacing options. +// Setting $base-style to false will ommit default styles. +@mixin block-grid($per-row:false, $spacing:$block-grid-default-spacing, $base-style:true) { + + @if $base-style { + display: block; + padding: 0; + margin: 0 (-$spacing); + @include clearfix; + + &>li { + display: block; + height: auto; + float: $default-float; + padding: 0 $spacing $spacing; + } + } + + @if $per-row { + &>li { + width: 100%/$per-row; + padding: 0 $spacing $spacing; + + &:nth-of-type(#{$per-row}n+1) { clear: both; } + } + } + +} + +@if $block-grid-media-queries { + /* Foundation Block Grids for below small breakpoint */ + @media only screen { + [class*="block-grid-"] { @include block-grid; } + + @for $i from 1 through $block-grid-elements { + .small-block-grid-#{($i)} { + @include block-grid($i,$block-grid-default-spacing,false); + } + } + } + + /* Foundation Block Grids for above small breakpoint */ + @media #{$small} { + @for $i from 1 through $block-grid-elements { + .large-block-grid-#{($i)} { + @include block-grid($i,$block-grid-default-spacing,false); + } + } + [class*="small-block-grid-"] > li { clear: none !important; } + } +} diff --git a/content/css/zurb-foundation/foundation/components/_breadcrumbs.scss b/content/css/zurb-foundation/foundation/components/_breadcrumbs.scss new file mode 100644 index 0000000..ec0dc21 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_breadcrumbs.scss @@ -0,0 +1,117 @@ +// +// Breadcrumb Variables +// + +// We use this to set the background color for the breadcrumb container. +$crumb-bg: lighten($secondary-color, 5%) !default; + +// We use these to set the padding around the breadcrumbs. +$crumb-padding: emCalc(6px) emCalc(14px) emCalc(9px) !default; +$crumb-side-padding: emCalc(12px) !default; + +// We use these to control border styles. +$crumb-function-factor: 10% !default; +$crumb-border-size: 1px !default; +$crumb-border-style: solid !default; +$crumb-border-color: darken($crumb-bg, $crumb-function-factor) !default; +$crumb-radius: $global-radius !default; + +// We use these to set various text styles for breadcrumbs. +$crumb-font-size: emCalc(11px) !default; +$crumb-font-color: $primary-color !default; +$crumb-font-color-current: #333 !default; +$crumb-font-color-unavailable: #999 !default; +$crumb-font-transform: uppercase !default; +$crumb-link-decor: underline !default; + +// We use these to control the slash between breadcrumbs +$crumb-slash-color: #aaa !default; +$crumb-slash: "/" !default; + +// +// Breakcrumb Mixins +// + +// We use this mixin to create a container around our breadcrumbs +@mixin crumb-container { + display: block; + padding: $crumb-padding; + overflow: hidden; + margin-#{$default-float}: 0; + list-style: none; + border-style: $crumb-border-style; + border-width: $crumb-border-size; + + // We control which background color and border come through. + background-color: $crumb-bg; + border-color: $crumb-border-color; +} + +// We use this mixin to create breadcrumb styles from list items. +@mixin crumbs { + + // A normal state will make the links look and act like clickable breadcrumbs. + margin: 0; + padding: 0 $crumb-side-padding 0 0; + float: $default-float; + + &:hover a, + &:focus a { text-decoration: $crumb-link-decor; } + + a, + span { + font-size: $crumb-font-size; + padding-#{$default-float}: $crumb-side-padding; + text-transform: $crumb-font-transform; + color: $crumb-font-color; + } + + // Current is for the link of the current page + &.current { + a { + cursor: default; + color: $crumb-font-color-current; + } + + &:hover a, + &:focus a { text-decoration: none; } + } + + // Unavailable removed color and link styles so it looks inactive. + &.unavailable { + a { color: $crumb-font-color-unavailable; } + + &:hover a, + a:focus { + text-decoration: none; + color: $crumb-font-color-unavailable; + cursor: default; + } + } + + &:before { + content: "#{$crumb-slash}"; + color: $crumb-slash-color; + position: relative; + top: 1px; + } + &:first-child a, + &:first-child span { padding-#{$default-float}: 0; } + &:first-child:before { content: " "; } + +} + + +@if $include-html-nav-classes { + + /* Breadcrumbs */ + .breadcrumbs { + @include crumb-container; + @include radius($crumb-radius); + + li { + @include crumbs; + } + } + +} diff --git a/content/css/zurb-foundation/foundation/components/_button-groups.scss b/content/css/zurb-foundation/foundation/components/_button-groups.scss new file mode 100644 index 0000000..85dd47c --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_button-groups.scss @@ -0,0 +1,76 @@ +// +// Button Group Variables +// + +// Sets the margin for the right side by default, and the left margin if right-to-left direction is used +$button-bar-margin-opposite: emCalc(10px) !default; + +// +// Button Group Mixins +// + +// We use this to add styles for a button group container +@mixin button-group-container($styles:true, $float:false) { + @if $styles { + list-style: none; + margin: 0; + @include clearfix(); + } + @if $float { + float: #{$default-float}; + margin-#{$opposite-direction}: $button-bar-margin-opposite; + & div { overflow: hidden; } + } +} + +// We use this to control styles for button groups +@mixin button-group-style($radius:false, $even:false, $float:$default-float) { + + // We use this to control the flow, or remove those styles completely. + @if $float { + margin: 0 0 0 -1px; + float: $float; + // Make sure the first child doesn't get the negative margin. + &:first-child { margin-#{$default-float}: 0; } + } + + // We use these to control left and right radius on first/last buttons in the group. + @if $radius == true { + &:first-child, &:first-child > a, &:first-child > button { @include side-radius($default-float, $button-radius); } + &:last-child, &:last-child > a, &:last-child > button { @include side-radius($opposite-direction, $button-radius); } + } + @else if $radius { + &:first-child, &:first-child > a, &:first-child > button { @include side-radius($default-float, $radius); } + &:last-child, &:last-child > a, &:last-child > button { @include side-radius($opposite-direction, $radius); } + } + + // We use this to make the buttons even width across their container + @if $even { + width: percentage((100/$even) / 100); + .button { width: 100%; } + } + +} + +// Only include these CSS classes if $include-html-classes: true +@if $include-html-button-classes { + + /* Button Groups */ + .button-group { @include button-group-container; + + &> * { @include button-group-style(); } + + &.radius > * { @include button-group-style($radius:$button-radius, $float:null); } + &.round > * { @include button-group-style($radius:$button-round, $float:null); } + + @for $i from 2 through 8 { + &.even#{-$i} li { @include button-group-style($even:$i, $float:null); } + } + } + + .button-bar { + @include clearfix; + .button-group { @include button-group-container($styles:false,$float:true); } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_buttons.scss b/content/css/zurb-foundation/foundation/components/_buttons.scss new file mode 100644 index 0000000..5dd33b1 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_buttons.scss @@ -0,0 +1,219 @@ +// +// Button Variables +// + +// We use these to build padding for buttons. +$button-med: emCalc(12px) !default; +$button-tny: emCalc(7px) !default; +$button-sml: emCalc(9px) !default; +$button-lrg: emCalc(16px) !default; + +// We use this to control the display property. +$button-display: inline-block !default; +$button-margin-bottom: emCalc(20px) !default; + +// We use these to control button text styles. +$button-font-family: inherit !default; +$button-font-color: #fff !default; +$button-font-color-alt: #333 !default; +$button-font-med: emCalc(16px) !default; +$button-font-tny: emCalc(11px) !default; +$button-font-sml: emCalc(13px) !default; +$button-font-lrg: emCalc(20px) !default; +$button-font-weight: bold !default; +$button-font-align: center !default; + +// We use these to control various hover effects. +$button-function-factor: 10% !default; + +// We use these to control button border styles. +$button-border-width: 1px !default; +$button-border-style: solid !default; +$button-border-color: darken($primary-color, $button-function-factor) !default; + +// We use this to set the default radius used throughout the core. +$button-radius: $global-radius !default; +$button-round: $global-rounded !default; + +// We use this to set default opacity for disabled buttons. +$button-disabled-opacity: 0.6 !default; + + +// +// Button Mixins +// + +// We use this mixin to create a default button base. +@mixin button-base($style:true, $display:$button-display) { + @if $style { + border-style: $button-border-style; + border-width: $button-border-width; + cursor: pointer; + font-family: $button-font-family; + font-weight: $button-font-weight; + line-height: 1; + margin: 0 0 $button-margin-bottom; + position: relative; + text-decoration: none; + text-align: $button-font-align; + } + @if $display { display: $display; } +} + +// We use this mixin to add button size styles +@mixin button-size($padding:$button-med, $full-width:false, $is-input:false) { + + // We control which padding styles come through, + // these can be turned off by setting $padding:false + @if $padding { + padding-top: $padding; + padding-#{$opposite-direction}: $padding * 2; + padding-bottom: $padding + emCalc(1px); + padding-#{$default-float}: $padding * 2; + + // We control the font-size based on mixin input. + @if $padding == $button-med { font-size: $button-font-med; } + @else if $padding == $button-tny { font-size: $button-font-tny; } + @else if $padding == $button-sml { font-size: $button-font-sml; } + @else if $padding == $button-lrg { font-size: $button-font-lrg; } + @else { font-size: $padding - emCalc(2px); } + } + + // We can set $full-width:true to remove side padding extend width. + @if $full-width { + padding-top: $padding; + padding-#{$opposite-direction}: 0px; + padding-bottom: $padding + emCalc(1px); + padding-#{$default-float}: 0px; + width: 100%; + } + + // 's and 's take on strange padding. We added this to help fix that. + @if $is-input == $button-lrg { + padding-top: $is-input + emCalc(.5px); + padding-bottom: $is-input + emCalc(.5px); + } + @else if $is-input { + padding-top: $is-input + emCalc(1px); + padding-bottom: $is-input; + } +} + +// We use this mixin to add button color styles +@mixin button-style($bg:$primary-color, $radius:false, $disabled:false) { + + // We control which background styles are used, + // these can be removed by setting $bg:false + @if $bg { + // This find the lightness percentage of the background color. + $bg-lightness: lightness($bg); + + background-color: $bg; + border-color: darken($bg, $button-function-factor); + &:hover, + &:focus { background-color: darken($bg, $button-function-factor); } + + // We control the text color for you based on the background color. + @if $bg-lightness > 70% { + color: $button-font-color-alt; + &:hover, + &:focus { color: $button-font-color-alt; } + } + @else { + color: $button-font-color; + &:hover, + &:focus { color: $button-font-color; } + } + } + + // We can set $disabled:true to create a disabled transparent button. + @if $disabled { + cursor: default; + opacity: $button-disabled-opacity; + -webkit-box-shadow: none; + box-shadow: none; + &:hover, + &:focus { background-color: $bg; } + } + + // We can control how much button radius us used. + @if $radius == true { @include radius($button-radius); } + @else if $radius { @include radius($radius); } + +} + +// We use this to quickly create buttons with a single mixin. As @jaredhardy puts it, "the kitchen sink mixin" +@mixin button($padding:$button-med, $bg:$primary-color, $radius:false, $full-width:false, $disabled:false, $is-input:false, $is-prefix:false) { + @include button-base; + @include button-size($padding, $full-width, $is-input); + @include button-style($bg, $radius, $disabled); +} + + +// +// Button Classes +// + +// Only include these classes if the variable is true, otherwise they'll be left out. +@if $include-html-button-classes { + + // Default styles applied outside of media query + button, .button { + @include button-base; + @include button-size; + @include button-style; + + &.secondary { @include button-style($bg:$secondary-color); } + &.success { @include button-style($bg:$success-color); } + &.alert { @include button-style($bg:$alert-color); } + + &.large { @include button-size($padding:$button-lrg); } + &.small { @include button-size($padding:$button-sml); } + &.tiny { @include button-size($padding:$button-tny); } + &.expand { @include button-size(false,$full-width:true); } + + &.left-align { text-align: left; text-indent: emCalc(12px); } + &.right-align { text-align: right; padding-right: emCalc(12px); } + + &.disabled, &[disabled] { @include button-style($bg:$primary-color, $disabled:true); + &.secondary { @include button-style($bg:$secondary-color, $disabled:true); } + &.success { @include button-style($bg:$success-color, $disabled:true); } + &.alert { @include button-style($bg:$alert-color, $disabled:true); } + } + + } + + input.button, + button.button { + @include button-size($padding:false, $is-input:$button-med); + &.tiny { @include button-size($padding:false, $is-input:$button-tny); } + &.small { @include button-size($padding:false, $is-input:$button-sml); } + &.large { @include button-size($padding:false, $is-input:$button-lrg); } + } + + // Styles for any browser or device that support media queries + @media only screen { + + .button { + @include inset-shadow(); + @include single-transition(background-color); + + &.large { @include button-size($padding:false, $full-width:false); } + &.small { @include button-size($padding:false, $full-width:false); } + &.tiny { @include button-size($padding:false, $full-width:false); } + + &.radius { @include button-style($bg:false, $radius:true); } + &.round { @include button-style($bg:false, $radius:$button-round); } + } + + } + + // Additional styles for screens larger than 768px + @media #{$small} { + .button { + @include button-base($style:false, $display:inline-block); + @include button-size($padding:false, $full-width:false); + } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_clearing.scss b/content/css/zurb-foundation/foundation/components/_clearing.scss new file mode 100644 index 0000000..7aec02a --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_clearing.scss @@ -0,0 +1,211 @@ +// +// Clearing Variables +// + +// We use these to set the background colors for parts of Clearing. +$clearing-bg: #111 !default; +$clearing-caption-bg: $clearing-bg !default; +$clearing-carousel-bg: #111 !default; +$clearing-img-bg: $clearing-bg !default; + +// We use these to style the close button +$clearing-close-color: #fff !default; +$clearing-close-size: 40px !default; + +// We use these to style the arrows +$clearing-arrow-size: 16px !default; +$clearing-arrow-color: $clearing-close-color !default; + +// We use these to style captions +$clearing-caption-font-color: #fff !default; +$clearing-caption-padding: 10px 30px !default; + +// We use these to make the image and carousel height and style +$clearing-active-img-height: 75% !default; +$clearing-carousel-height: 150px !default; +$clearing-carousel-thumb-width: 175px !default; +$clearing-carousel-thumb-active-border: 4px solid rgb(255,255,255) !default; + + +// We decided to not create a mixin for Clearing because it relies +// on predefined classes and structure to work properly. +// The variables above should give enough control. + +/* Clearing Styles */ +[data-clearing] { + @include clearfix; + margin-bottom: 0; +} + +.clearing-blackout { + background: $clearing-bg; + position: fixed; + width: 100%; + height: 100%; + top: 0; + #{$default-float}: 0; + z-index: 998; + + .clearing-close { display: block; } +} + +.clearing-container { + position: relative; + z-index: 998; + height: 100%; + overflow: hidden; + margin: 0; +} + +.visible-img { + height: 95%; + position: relative; + + img { + position: absolute; + #{$default-float}: 50%; + top: 50%; + margin-#{$default-float}: -50%; + max-height: 100%; + max-width: 100%; + } +} + +.clearing-caption { + color: $clearing-caption-font-color; + line-height: 1.3; + margin-bottom: 0; + text-align: center; + bottom: 0; + background: $clearing-caption-bg; + width: 100%; + padding: $clearing-caption-padding; + position: absolute; + #{$default-float}: 0; +} + +.clearing-close { + z-index: 999; + padding-#{$default-float}: 20px; + padding-top: 10px; + font-size: $clearing-close-size; + line-height: 1; + color: $clearing-close-color; + display: none; + + &:hover, + &:focus { color: #ccc; } +} + +.clearing-assembled .clearing-container { height: 100%; + .carousel > ul { display: none; } +} + + +// Large screen overrides +@media #{$small} { + .clearing-main-prev, + .clearing-main-next { + position: absolute; + height: 100%; + width: 40px; + top: 0; + & > span { + position: absolute; + top: 50%; + display: block; + width: 0; + height: 0; + border: solid $clearing-arrow-size; + } + } + .clearing-main-prev { + #{$default-float}: 0; + & > span { + #{$default-float}: 5px; + border-color: transparent; + border-#{$opposite-direction}-color: $clearing-arrow-color; + } + } + .clearing-main-next { + #{$opposite-direction}: 0; + & > span { + border-color: transparent; + border-#{$default-float}-color: $clearing-arrow-color; + } + } + + .clearing-main-prev.disabled, + .clearing-main-next.disabled { opacity: 0.5; } + + // If you want to show a lightbox, but only have a single image come through as the thumbnail + .clearing-feature ~ li { display: none; } + + .clearing-assembled .clearing-container { + + .carousel { + background: $clearing-carousel-bg; + height: $clearing-carousel-height; + margin-top: 5px; + + & > ul { + display: block; + z-index: 999; + width: 200%; + height: 100%; + margin-#{$default-float}: 0; + position: relative; + #{$default-float}: 0; + + li { + display: block; + width: $clearing-carousel-thumb-width; + height: inherit; + padding: 0; + float: $default-float; + overflow: hidden; + margin-#{$opposite-direction}: 1px; + position: relative; + cursor: pointer; + opacity: 0.4; + + &.fix-height { + img { + min-height: 100%; + height: 100%; + max-width: none; + } + } + + a.th { + border: none; + -webkit-box-shadow: none; + box-shadow: none; + display: block; + } + + img { + cursor: pointer !important; + min-width: 100% !important; + } + + &.visible { opacity: 1; } + } + } + } + + .visible-img { + background: $clearing-img-bg; + overflow: hidden; + height: $clearing-active-img-height; + } + } + + .clearing-close { + position: absolute; + top: 10px; + #{$opposite-direction}: 20px; + padding-#{$default-float}: 0; + padding-top: 0; + } +} diff --git a/content/css/zurb-foundation/foundation/components/_custom-forms.scss b/content/css/zurb-foundation/foundation/components/_custom-forms.scss new file mode 100644 index 0000000..e5d9000 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_custom-forms.scss @@ -0,0 +1,240 @@ +// +// Custom Form Variables +// + +// We use these to control the basic form styles input styles +$custom-form-border-color: #ccc !default; +$custom-form-bg: #fff !default; +$custom-form-bg-disabled: #ddd !default; +$custom-form-check-color: #222 !default; + +// We use these to style the custom select form element. +$custom-select-bg: #fff !default; +$custom-select-fade-to-color: #f3f3f3 !default; +$custom-select-border-color: #ddd !default; +$custom-select-triangle-color: #aaa !default; +$custom-select-triangle-color-open: #222 !default; +$custom-select-height: emCalc(13px) + ($form-spacing * 1.5) !default; +$custom-select-margin-bottom: emCalc(20px) !default; +$custom-select-font-color-selected: #141414 !default; +$custom-select-disabled-color: #888 !default; + +// We use these to control the style of the custom select dropdown element. +$custom-dropdown-height: 200px !default; +$custom-dropdown-bg: #fff !default; +$custom-dropdown-border-color: darken(#fff, 20%) !default; +$custom-dropdown-border-width: 1px !default; +$custom-dropdown-border-style: solid !default; +$custom-dropdown-font-color: #555 !default; +$custom-dropdown-font-size: emCalc(14px) !default; +$custom-dropdown-color-selected: #eeeeee !default; +$custom-dropdown-font-color-selected: #000 !default; +$custom-dropdown-shadow: 0 2px 2px 0px rgba(0,0,0,0.1) !default; +$custom-dropdown-offset-top: auto !default; +$custom-dropdown-list-padding: emCalc(4px) !default; +$custom-dropdown-default-float-padding: emCalc(6px) !default; +$custom-dropdown-opposite-padding: emCalc(38px) !default; +$custom-dropdown-list-item-min-height: emCalc(24px) !default; +$custom-dropdown-width-small: 134px !default; +$custom-dropdown-width-medium: 254px !default; +$custom-dropdown-width-large: 434px !default; + +// We decided not to make a mixin for the custom forms because +// they rely on a very specific class naming structure. +// We may look at updating this in the future. + +// Only include these classes if the variable is true, otherwise they'll be left out. +@if $include-html-button-classes { + + /* Custom Checkbox and Radio Inputs */ + form.custom { + + .custom { + display: inline-block; + width: 16px; + height: 16px; + position: relative; + top: 2px; + border: solid 1px $custom-form-border-color; + background: $custom-form-bg; + + &.radio { @include radius(1000px); } + + &.checkbox { + &:before { + content: ""; + display: block; + line-height: 0.8; + height: 14px; + width: 14px; + text-align: center; + position: absolute; + top: 0; + #{$default-float}: 0; + font-size: 14px; + color: #fff; + } + } + + &.radio.checked { + &:before { + content: ""; + display: block; + width: 8px; + height: 8px; + @include radius(1000px); + background: $custom-form-check-color; + position: relative; + top: 3px; + #{$default-float}: 3px; + } + } + + &.checkbox.checked { + &:before { + content: "\00d7"; + color: $custom-form-check-color; + } + } + } + } + + /* Custom Select Options and Dropdowns */ + form.custom { + .custom.dropdown { + display: block; + position: relative; + top: 0; + height: $custom-select-height; + margin-bottom: $custom-select-margin-bottom; + margin-top: 0px; + padding: 0px; + width: 100%; + background: $custom-dropdown-bg; + background: -moz-linear-gradient(top, $custom-dropdown-bg 0%, $custom-select-fade-to-color 100%); + background: -webkit-linear-gradient(top, $custom-dropdown-bg 0%,$custom-select-fade-to-color 100%); + background: linear-gradient(to bottom, $custom-dropdown-bg 0%,$custom-select-fade-to-color 100%); + -webkit-box-shadow: none; + box-shadow: none; + font-size: $custom-dropdown-font-size; + vertical-align: top; + + ul { + overflow-y: auto; + max-height: $custom-dropdown-height; + } + + .current { + cursor:default; + white-space: nowrap; + line-height: $custom-select-height - emCalc(1px); + color: $input-font-color; + text-decoration: none; + overflow: hidden; + display: block; + margin-#{$default-float}: $form-spacing / 2; + margin-#{$opposite-direction}: $custom-select-height; + } + + .selector { + cursor:default; + position: absolute; + width: $form-spacing * 2.5; + height: $custom-select-height; + display: block; + #{$opposite-direction}: 0; + top: 0; + &:after { + content: ""; + display: block; + @include css-triangle(5px, $custom-select-triangle-color, top); + position: absolute; + #{$default-float}: ($form-spacing * 2.5) / 2 - emCalc(5px); + top: 50%; + margin-top: -3px; + } + } + + &:hover, &.open { + a.selector { + &:after { @include css-triangle(5px, $custom-select-triangle-color-open, top); } + } + } + + .disabled { + color: $custom-select-disabled-color; + &:hover { + background: transparent; + color: $custom-select-disabled-color; + &:after { display: none; } + } + } + + &.open ul { + display: block; + z-index: 10; + min-width:100%; + @include box-sizing(content-box); + } + + &.small { max-width: $custom-dropdown-width-small; } + &.medium { max-width: $custom-dropdown-width-medium; } + &.large { max-width: $custom-dropdown-width-large; } + &.expand { width: 100% !important; } + + &.open.small ul { min-width: $custom-dropdown-width-small; @include box-sizing(border-box); } + &.open.medium ul { min-width: $custom-dropdown-width-medium; @include box-sizing(border-box); } + &.open.large ul { min-width: $custom-dropdown-width-large; @include box-sizing(border-box); } + } + + .custom.dropdown ul { + position: absolute; + width: auto; + display: none; + margin: 0; + #{$default-float}: -$input-border-width; + top: $custom-dropdown-offset-top; + -webkit-box-shadow: $custom-dropdown-shadow; + box-shadow: $custom-dropdown-shadow; + margin: 0; + padding: 0; + background: $custom-dropdown-bg; + border: $custom-dropdown-border-style $custom-dropdown-border-width $custom-dropdown-border-color; + font-size: $em-base; + + li { + color: $custom-dropdown-font-color; + font-size: $custom-dropdown-font-size; + cursor: default; + padding-top: $custom-dropdown-list-padding; + padding-bottom: $custom-dropdown-list-padding; + padding-#{$default-float}: $custom-dropdown-default-float-padding; + padding-#{$opposite-direction}: $custom-dropdown-opposite-padding; + min-height: $custom-dropdown-list-item-min-height; + line-height: $custom-dropdown-list-item-min-height; + margin: 0; + white-space: nowrap; + list-style: none; + + &.selected { + background: $custom-dropdown-color-selected; + color: $custom-dropdown-font-color-selected; + } + &:hover { + background-color: darken($custom-dropdown-color-selected, 4%); + color: $custom-dropdown-font-color-selected; + } + &.selected:hover { + background: $custom-dropdown-color-selected; + cursor: default; + color: $custom-dropdown-font-color-selected; + } + } + + &.show { display: block; } + } + + /* Custom input, disabled */ + .custom.disabled { background-color: $custom-form-bg-disabled; } + } +} diff --git a/content/css/zurb-foundation/foundation/components/_dropdown-buttons.scss b/content/css/zurb-foundation/foundation/components/_dropdown-buttons.scss new file mode 100644 index 0000000..4bc9112 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_dropdown-buttons.scss @@ -0,0 +1,114 @@ +// +// Dropdown Button Variables +// + +// We use these to set the color of the pip in dropdown buttons +$dropdown-button-pip-color: #fff !default; +$dropdown-button-pip-color-alt: #333 !default; + +// We use these to style tiny dropdown buttons +$dropdown-button-padding-tny: $button-tny * 5 !default; +$dropdown-button-pip-size-tny: $button-tny !default; +$dropdown-button-pip-opposite-tny: $button-tny * 2 !default; +$dropdown-button-pip-top-tny: -$button-tny / 2 + emCalc(1px) !default; + +// We use these to style small dropdown buttons +$dropdown-button-padding-sml: $button-sml * 5 !default; +$dropdown-button-pip-size-sml: $button-sml !default; +$dropdown-button-pip-opposite-sml: $button-sml * 2 !default; +$dropdown-button-pip-top-sml: -$button-sml / 2 + emCalc(1px) !default; + +// We use these to style medium dropdown buttons +$dropdown-button-padding-med: $button-med * 4 + emCalc(3px) !default; +$dropdown-button-pip-size-med: $button-med - emCalc(3px) !default; +$dropdown-button-pip-opposite-med: $button-med * 2 !default; +$dropdown-button-pip-top-med: -$button-med / 2 + emCalc(2px) !default; + +// We use these to style large dropdown buttons +$dropdown-button-padding-lrg: $button-lrg * 4 !default; +$dropdown-button-pip-size-lrg: $button-lrg - emCalc(6px) !default; +$dropdown-button-pip-opposite-lrg: $button-lrg + emCalc(12px) !default; +$dropdown-button-pip-top-lrg: -$button-lrg / 2 + emCalc(3px) !default; + +// +// Dropdown Button Mixin +// + +// We use this mixin to build off of the button mixin and add dropdown button styles +@mixin dropdown-button($padding:medium, $pip-color:#fff, $base-style:true) { + + // We add in base styles, but they can be negated by setting to 'false'. + @if $base-style { + position: relative; + + // This creates the base styles for the triangle pip + &:before { + position: absolute; + content: ""; + width: 0; + height: 0; + display: block; + border-style: solid; + border-color: $dropdown-button-pip-color transparent transparent transparent; + top: 50%; + } + } + + // If we're dealing with tiny buttons, use these styles + @if $padding == tiny { + padding-#{$opposite-direction}: $dropdown-button-padding-tny; + &:before { + border-width: $dropdown-button-pip-size-tny; + #{$opposite-direction}: $dropdown-button-pip-opposite-tny; + margin-top: $dropdown-button-pip-top-tny; + } + } + + // If we're dealing with small buttons, use these styles + @if $padding == small { + padding-#{$opposite-direction}: $dropdown-button-padding-sml; + &:before { + border-width: $dropdown-button-pip-size-sml; + #{$opposite-direction}: $dropdown-button-pip-opposite-sml; + margin-top: $dropdown-button-pip-top-sml; + } + } + + // If we're dealing with default (medium) buttons, use these styles + @if $padding == medium { + padding-#{$opposite-direction}: $dropdown-button-padding-med; + &:before { + border-width: $dropdown-button-pip-size-med; + #{$opposite-direction}: $dropdown-button-pip-opposite-med; + margin-top: $dropdown-button-pip-top-med; + } + } + + // If we're dealing with large buttons, use these styles + @if $padding == large { + padding-#{$opposite-direction}: $dropdown-button-padding-lrg; + &:before { + border-width: $dropdown-button-pip-size-lrg; + #{$opposite-direction}: $dropdown-button-pip-opposite-lrg; + margin-top: $dropdown-button-pip-top-lrg; + } + } + + // We can control the pip color. We didn't use logic in this case, just set it and forget it. + @if $pip-color { + &:before { border-color: $pip-color transparent transparent transparent; } + } +} + + +@if $include-html-button-classes { + + /* Dropdown Button */ + .dropdown.button { @include dropdown-button; + &.tiny { @include dropdown-button(tiny,$base-style:false); } + &.small { @include dropdown-button(small,$base-style:false); } + &.large { @include dropdown-button(large,$base-style:false); } + &.secondary:before { border-color: $dropdown-button-pip-color-alt transparent transparent transparent; } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_dropdown.scss b/content/css/zurb-foundation/foundation/components/_dropdown.scss new file mode 100644 index 0000000..0428be7 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_dropdown.scss @@ -0,0 +1,145 @@ +// +// Dropdown Variables +// + +// We use these to controls height and width styles. +$f-dropdown-max-width: 200px !default; +$f-dropdown-height: auto !default; +$f-dropdown-max-height: none !default; +$f-dropdown-margin-top: 2px !default; + +// We use this to control the background color +$f-dropdown-bg: #fff !default; + +// We use this to set the border styles for dropdowns. +$f-dropdown-border-style: solid !default; +$f-dropdown-border-width: 1px !default; +$f-dropdown-border-color: darken(#fff, 20%) !default; + +// We use these to style the triangle pip. +$f-dropdown-triangle-size: 6px !default; +$f-dropdown-triangle-color: #fff !default; +$f-dropdown-triangle-side-offset: 10px !default; + +// We use these to control styles for the list elements. +$f-dropdown-list-style: none !default; +$f-dropdown-font-color: #555 !default; +$f-dropdown-font-size: emCalc(14px) !default; +$f-dropdown-list-padding: emCalc(5px) emCalc(10px) !default; +$f-dropdown-line-height: emCalc(18px) !default; +$f-dropdown-list-hover-bg: #eeeeee !default; +$dropdown-mobile-default-float: 0 !default; + +// We use this to control the styles for when the dropdown has custom content. +$f-dropdown-content-padding: emCalc(20px) !default; + +// +// Dropdown Mixins +// + +// NOTE: Make default max-width change between list and content types. Can add more width with classes, maybe .small, .medium, .large, etc.; + +// We use this to style the dropdown container element. +@mixin dropdown-container($content:list, $triangle:true, $max-width:$f-dropdown-max-width) { + position: absolute; + top: -9999px; + list-style: $f-dropdown-list-style; + + *:first-child { margin-top: 0; } + *:last-child { margin-bottom: 0; } + + @if $content == list { + width: 100%; + max-height: $f-dropdown-max-height; + height: $f-dropdown-height; + background: $f-dropdown-bg; + border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color; + font-size: $em-base; + z-index: 99; + } + @else if $content == content { + padding: $f-dropdown-content-padding; + width: 100%; + height: $f-dropdown-height; + max-height: $f-dropdown-max-height; + background: $f-dropdown-bg; + border: $f-dropdown-border-style $f-dropdown-border-width $f-dropdown-border-color; + font-size: $em-base; + z-index: 99; + } + + @if $triangle { + margin-top: $f-dropdown-margin-top; + + &:before { + @include css-triangle($f-dropdown-triangle-size, $f-dropdown-triangle-color, bottom); + position: absolute; + top: -($f-dropdown-triangle-size * 2); + #{$default-float}: $f-dropdown-triangle-side-offset; + z-index: 99; + } + &:after { + @include css-triangle($f-dropdown-triangle-size + 1, $f-dropdown-border-color, bottom); + position: absolute; + top: -(($f-dropdown-triangle-size + 1) * 2); + #{$default-float}: $f-dropdown-triangle-side-offset - 1; + z-index: 98; + } + + &.right:before { + left: auto; + right: $f-dropdown-triangle-side-offset; + } + &.right:after { + left: auto; + right: $f-dropdown-triangle-side-offset - 1; + } + } + + @if $max-width { max-width: $max-width; } + @else { max-width: $f-dropdown-max-width; } + +} + +// We use this to style the list elements or content inside the dropdown. +@mixin dropdown-style { + font-size: $f-dropdown-font-size; + cursor: pointer; + padding: $f-dropdown-list-padding; + line-height: $f-dropdown-line-height; + margin: 0; + + &:hover, + &:focus { background: $f-dropdown-list-hover-bg; } + + a { color: $f-dropdown-font-color; } +} + + +@if $include-html-nav-classes { + + @media only screen and (max-width: 767px) { + .f-dropdown { + max-width: 100%; + #{$default-float}: $dropdown-mobile-default-float; + } + } + + /* Foundation Dropdowns */ + .f-dropdown { + @include dropdown-container(content); + // max-width: none; + + li { @include dropdown-style; } + + // You can also put custom content in these dropdowns + &.content { @include dropdown-container(content, $triangle:false); } + + // Sizes + &.tiny { max-width: 200px; } + &.small { max-width: 300px; } + &.medium { max-width: 500px; } + &.large { max-width: 800px; } + } + +} diff --git a/content/css/zurb-foundation/foundation/components/_flex-video.scss b/content/css/zurb-foundation/foundation/components/_flex-video.scss new file mode 100644 index 0000000..cd11c3d --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_flex-video.scss @@ -0,0 +1,45 @@ +// +// Flex Video Variables +// + +// We use these to control video container padding and margins +$flex-video-padding-top: emCalc(25px) !default; +$flex-video-padding-bottom: 67.5% !default; +$flex-video-margin-bottom: emCalc(16px) !default; + +// We use this to control widescreen bottom padding +$flex-video-widescreen-padding-bottom: 57.25% !default; + +// +// Flex Video Mixins +// + +@mixin flex-video-container { + position: relative; + padding-top: $flex-video-padding-top; + padding-bottom: $flex-video-padding-bottom; + height: 0; + margin-bottom: $flex-video-margin-bottom; + overflow: hidden; + + &.widescreen { padding-bottom: $flex-video-widescreen-padding-bottom; } + &.vimeo { padding-top: 0; } + + iframe, + object, + embed, + video { + position: absolute; + top: 0; + #{$default-float}: 0; + width: 100%; + height: 100%; + } +} + +@if $include-html-media-classes { + + /* Flex Video */ + .flex-video { @include flex-video-container; } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_forms.scss b/content/css/zurb-foundation/foundation/components/_forms.scss new file mode 100644 index 0000000..2f0890e --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_forms.scss @@ -0,0 +1,337 @@ +// +// Form Variables +// + +// We use this to set the base for lots of form spacing and positioning styles +$form-spacing: emCalc(16px) !default; + +// We use these to style the labels in different ways +$label-pointer: pointer !default; +$label-font-size: emCalc(14px) !default; +$label-font-weight: 500 !default; +$label-font-color: lighten(#000, 30%) !default; +$label-bottom-margin: emCalc(3px) !default; +$input-font-family: inherit !default; +$input-font-color: rgba(0,0,0,0.75) !default; +$input-font-size: emCalc(14px) !default; +$input-bg-color: #fff !default; +$input-focus-bg-color: darken(#fff, 2%) !default; +$input-border-color: darken(#fff, 20%) !default; +$input-focus-border-color: darken(#fff, 40%) !default; +$input-border-style: solid !default; +$input-border-width: 1px !default; +$input-disabled-bg: #ddd !default; +$input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1) !default; + +// We use these to style the fieldset border and spacing. +$fieldset-border-style: solid !default; +$fieldset-border-width: 1px !default; +$fieldset-border-color: #ddd !default; +$fieldset-padding: emCalc(20px) !default; +$fieldset-margin: emCalc(18px) 0 !default; + +// We use these to style the legends when you use them +$legend-bg: #fff !default; +$legend-font-weight: bold !default; +$legend-padding: 0 emCalc(3px) !default; + +// We use these to style the prefix and postfix input elements +$input-prefix-bg: darken(#fff, 5%) !default; +$input-prefix-border-color: darken(#fff, 20%) !default; +$input-prefix-border-size: 1px !default; +$input-prefix-border-type: solid !default; +$input-prefix-overflow: hidden !default; +$input-prefix-font-color: #333 !default; +$input-prefix-font-color-alt: #fff !default; + +// We use these to style the error states for inputs and labels +$input-error-message-padding: emCalc(6px) emCalc(4px) !default; +$input-error-message-top: -($form-spacing) - emCalc(5px) !default; +$input-error-message-font-size: emCalc(12px) !default; +$input-error-message-font-weight: bold !default; +$input-error-message-font-color: #fff !default; +$input-error-message-font-color-alt: #333 !default; + + +// +// Form Mixins +// + +// We use this mixin to give us form styles for rows inside of forms +@mixin form-row-base { + .row { margin: 0 -$form-spacing / 2; + + .column, + .columns { padding: 0 $form-spacing / 2; } + + // Use this to collapse the margins of a form row + &.collapse { margin: 0; + + .column, + .columns { padding: 0; } + + } + } + input.column, + input.columns { padding-#{$default-float}: $form-spacing / 2; } +} + +// We use this mixin to give all basic form elements their style +@mixin form-element() { + background-color: $input-bg-color; + font-family: $input-font-family; + border: $input-border-width $input-border-style $input-border-color; + -webkit-box-shadow: $input-box-shadow; + box-shadow: $input-box-shadow; + color: $input-font-color; + display: block; + font-size: $input-font-size; + margin: 0 0 $form-spacing 0; + padding: $form-spacing / 2; + height: emCalc(13px) + ($form-spacing * 1.5); + width: 100%; + @include box-sizing(border-box); + + // Basic focus styles + &:focus { + background: $input-focus-bg-color; + border-color: $input-focus-border-color; + outline: none; + } + + // Disabled background input background color + &[disabled] { background-color: $input-disabled-bg; } +} + +// We use this mixin to create form labels +@mixin form-label($alignment:false, $base-style:true) { + + // Control whether or not the base styles come through. + @if $base-style { + font-size: $label-font-size; + color: $label-font-color; + cursor: $label-pointer; + display: block; + font-weight: $label-font-weight; + margin-bottom: $label-bottom-margin; + } + + // Alignment options + @if $alignment == right { + float: none; + text-align: right; + } + @else if $alignment == inline { + margin: 0 0 $form-spacing 0; + padding: $form-spacing / 2 + emCalc($input-border-width * 2) 0; + } +} + +// We use this mixin to create postfix/prefix form Labels +@mixin prefix-postfix-base { + display: block; + position: relative; + z-index: 2; + text-align: center; + width: 100%; + padding-top: 0; + padding-bottom: 0; + border-style: $input-prefix-border-type; + border-width: $input-prefix-border-size; + overflow: $input-prefix-overflow; + font-size: $label-font-size; + height: ($label-font-size + ($form-spacing * 1.5) - emCalc(1px)); + line-height: ($label-font-size + ($form-spacing * 1.5) - emCalc(1px)); +} + +// We use this mixin to create prefix label styles +@mixin prefix($bg:$input-prefix-bg,$is-button:false) { + + @if $bg { + $bg-lightness: lightness($bg); + background: $bg; + border-color: darken($bg, 10%); + border-#{$opposite-direction}: none; + + // Control the font color based on background brightness + @if $bg-lightness > 70% or $bg == yellow { color: $input-prefix-font-color; } + @else { color: $input-prefix-font-color-alt; } + } + + @if $is-button { + padding-#{$default-float}: 0; + padding-#{$opposite-direction}: 0; + padding-top: 0; + padding-bottom: 0; + text-align: center; + line-height: emCalc(34px); + } + +} + +// We use this mixin to create postfix label styles +@mixin postfix($bg:$input-prefix-bg, $is-button:false) { + + @if $bg { + $bg-lightness: lightness($bg); + background: $bg; + border-color: darken($bg, 15%); + border-#{$default-float}: none; + + // Control the font color based on background brightness + @if $bg-lightness > 70% or $bg == yellow { color: $input-prefix-font-color; } + @else { color: $input-prefix-font-color-alt; } + } + + @if $is-button { + padding-#{$default-float}: 0; + padding-#{$opposite-direction}: 0; + padding-top: 0; + padding-bottom: 0; + text-align: center; + line-height: emCalc(34px); + } + +} + +// We use this mixin to style fieldsets +@mixin fieldset { + border: $fieldset-border-style $fieldset-border-width $fieldset-border-color; + padding: $fieldset-padding; + margin: $fieldset-margin; + + // and legend styles + legend { + font-weight: $legend-font-weight; + background: $legend-bg; + padding: $legend-padding; + margin: 0; + margin-#{$default-float}: emCalc(-3px); + } +} + +// We use this mixin to control border and background color of error inputs +@mixin form-error-color($color:$alert-color) { + border-color: $color; + background-color: rgba($color, 0.1); + + // Go back to normal on focus + &:focus { + background: $input-focus-bg-color; + border-color: $input-focus-border-color; + } +} + +// We use this simple mixin to style labels for error inputs +@mixin form-label-error-color($color:$alert-color) { color: $color; } + +// We use this mixin to create error message styles +@mixin form-error-message($bg:$alert-color) { + display: block; + padding: $input-error-message-padding; + margin-top: $input-error-message-top; + margin-bottom: $form-spacing; + font-size: $input-error-message-font-size; + font-weight: $input-error-message-font-weight; + + // We can control the text color based on the brightness of the background. + $bg-lightness: lightness($bg); + background: $bg; + @if $bg-lightness < 70% or $bg == yellow { color: $input-error-message-font-color; } + @else { color: $input-error-message-font-color-alt; } +} + +// Only include these classes if the variable is true, otherwise they'll be left out. +@if $include-html-form-classes { + /* Standard Forms */ + form { margin: 0 0 $form-spacing; } + + /* Using forms within rows, we need to set some defaults */ + form .row { @include form-row-base; } + + /* Label Styles */ + label { @include form-label; + &.right { @include form-label(right,false); } + &.inline { @include form-label(inline,false); } + } + + /* Attach elements to the beginning or end of an input */ + .prefix, + .postfix { @include prefix-postfix-base; } + + /* Adjust padding, alignment and radius if pre/post element is a button */ + .postfix.button { @include button-size(false,false,false); @include postfix(false,true); } + .prefix.button { @include button-size(false,false,false); @include prefix(false,true); } + .prefix.button.radius { @include side-radius($default-float, $global-radius); } + .postfix.button.radius { @include side-radius($opposite-direction, $global-radius); } + .prefix.button.round { @include side-radius($default-float, 1000px); } + .postfix.button.round { @include side-radius($opposite-direction, 1000px); } + + /* Separate prefix and postfix styles when on span so buttons keep their own */ + span.prefix { @include prefix(); + &.radius { @include side-radius($default-float, $global-radius); } + } + span.postfix { @include postfix(); + &.radius { @include side-radius($opposite-direction, $global-radius); } + } + + /* Input groups will automatically style first and last elements of the group */ + .input-group { + &.radius { + &>*:first-child, &>*:first-child * { + @include side-radius($default-float, $global-radius); + } + &>*:last-child, &>*:last-child * { + @include side-radius($opposite-direction, $global-radius); + } + } + &.round { + &>*:first-child, &>*:first-child * { + @include side-radius($default-float, $button-round); + } + &>*:last-child, &>*:last-child * { + @include side-radius($opposite-direction, $button-round); + } + } + } + + /* We use this to get basic styling on all basic form elements */ + input[type="text"], + input[type="password"], + input[type="date"], + input[type="datetime"], + input[type="datetime-local"], + input[type="month"], + input[type="week"], + input[type="email"], + input[type="number"], + input[type="search"], + input[type="tel"], + input[type="time"], + input[type="url"], + textarea { + @include form-element; + @include single-transition(all, 0.15s, linear); + } + + /* We add basic fieldset styling */ + fieldset { + @include fieldset; + } + + /* Error Handling */ + .error input, + input.error, + .error textarea, + textarea.error { + @include form-error-color; + } + + .error label, + label.error { @include form-label-error-color; } + + .error small, + small.error { + @include form-error-message; + } +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_global.scss b/content/css/zurb-foundation/foundation/components/_global.scss new file mode 100644 index 0000000..3cb6a82 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_global.scss @@ -0,0 +1,70 @@ +// Set box-sizing globally to handle padding and border widths +*, +*:before, +*:after { + @include box-sizing(border-box); +} + +html, +body { font-size: $base-font-size; } + +// Default body styles +body { + background: $body-bg; + color: $body-font-color; + padding: 0; + margin: 0; + font-family: $body-font-family; + font-weight: $body-font-weight; + font-style: $body-font-style; + line-height: 1; + position: relative; +} + +// Override outline from normalize, we don't like it +a:focus { outline: none; } + +// Grid Defaults to get images and embeds to work properly +img, +object, +embed { max-width: 100%; height: auto; } + +object, +embed { height: 100%; } +img { -ms-interpolation-mode: bicubic; } + +#map_canvas, +.map_canvas { + img, + embed, + object { max-width: none !important; + } +} + +// Miscellaneous useful HTML classes +.left { float: left !important; } +.right { float: right !important; } +.text-left { text-align: left !important; } +.text-right { text-align: right !important; } +.text-center { text-align: center !important; } +.text-justify { text-align: justify !important; } +.hide { display: none; } + +// Font smoothing +// Antialiased font smoothing works best for light text on a dark background. +// Apply to single elements instead of globally to body. +// Note this only applies to webkit-based desktop browsers on the Mac. +.antialiased { -webkit-font-smoothing: antialiased; } + +// Get rid of gap under images by making them display: inline-block; by default +img { display: inline-block; } + +// +// Global resets for forms +// + +// Make sure textarea takes on height automatically +textarea { height: auto; min-height: 50px; } + +// Make select elements 100% width by default +select { width: 100%; } \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_grid.scss b/content/css/zurb-foundation/foundation/components/_grid.scss new file mode 100644 index 0000000..15fcc1c --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_grid.scss @@ -0,0 +1,168 @@ +// +// Grid Variables +// +$row-width: emCalc(1000px) !default; +$column-gutter: emCalc(30px) !default; +$total-columns: 12 !default; + +// +// Grid Mixins +// + +// For creating container, nested, and collapsed rows. +@mixin grid-row($behavior: false) { + + // use @include grid-row(nest); to include a nested row + @if $behavior == nest { + width: auto; + margin-#{$default-float}: -($column-gutter/2); + margin-#{$opposite-direction}: -($column-gutter/2); + margin-top: 0; + margin-bottom: 0; + max-width: none; + } + + // use @include grid-row(collapse); to collapsed a container row margins + @else if $behavior == collapse { + width: 100%; + margin: 0; + max-width: $row-width; + } + + // use @include grid-row(nest-collapse); to collapse outer margins on a nested row + @else if $behavior == nest-collapse { + width: auto; + margin: 0; + max-width: none; + } + + // use @include grid-row; to use a container row + @else { + width: 100%; + margin-#{$default-float}: auto; + margin-#{$opposite-direction}: auto; + margin-top: 0; + margin-bottom: 0; + max-width: $row-width; + } + + // Clearfix for all rows + @include clearfix(); + +} + + +// For creating columns - @include these inside a media query to control small vs. large grid layouts +@mixin grid-column($columns:false, $last-column:false, $center:false, $offset:false, $push:false, $pull:false, $collapse:false, $float:$default-float) { + + position: relative; + + // Gutter padding whenever a column isn't set to collapse + @if $collapse == false { + padding-#{$default-float}: $column-gutter / 2; + padding-#{$opposite-direction}: $column-gutter / 2; + } + + // If a column number is given, calculate width + @if $columns { + width: gridCalc($columns, $total-columns); + + // If last column, float naturally instead of to the right + @if $last-column { float: $opposite-direction; } + + // if collapsed, get rid of gutter padding + @else if $collapse { padding-#{$default-float}: 0; padding-#{$opposite-direction}: 0; } + + } + + @if $collapse { padding-#{$default-float}: 0; padding-#{$opposite-direction}: 0; } + + // If offset, calculate appropriate margins + @if $offset { margin-#{$default-float}: gridCalc($offset, $total-columns); } + + // Source Ordering, adds left/right depending on which you use. + @if $push { #{$default-float}: gridCalc($push, $total-columns); #{$opposite-direction}: auto; } + @if $pull { #{$opposite-direction}: gridCalc($pull, $total-columns); #{$default-float}: auto; } + + // If centered, get rid of float and add appropriate margins + @if $center { + margin-#{$default-float}: auto; + margin-#{$opposite-direction}: auto; + float: none !important; + } + + @if $float { + @if $float == left or true { float: $default-float; } + @else if $float == right { float: $opposite-direction; } + @else { float: none; } + } + +} + + +/* Grid HTML Classes */ +@if $include-html-grid-classes { + + .row { + @include grid-row; + + .column, + .columns { @include grid-column($columns:$total-columns); } + + &.collapse { + .column, + .columns { @include grid-column($collapse:true); } + } + + .row { @include grid-row($behavior:nest); + &.collapse { @include grid-row($behavior:nest-collapse); } + } + } + + @media only screen { + + .row .column, + .row .columns { @include grid-column($columns:false); } + + @for $i from 1 through $total-columns { + .row .small#{-$i} { @include grid-column($columns:$i,$collapse:null,$float:false); } + } + + @for $i from 1 through $total-columns - 2 { + .row .small-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); } + } + + [class*="column"] + [class*="column"]:last-child { float: $opposite-direction; } + [class*="column"] + [class*="column"].end { float: $default-float; } + + .column.small-centered, + .columns.small-centered { @include grid-column($center:true, $collapse:null, $float:false); } + } + + /* Styles for screens that are atleast 768px; */ + @media #{$small} { + + @for $i from 1 through $total-columns { + .row .large#{-$i} { @include grid-column($columns:$i,$collapse:null,$float:false); } + } + + @for $i from 1 through $total-columns - 2 { + .row .large-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); } + } + + @for $i from 2 through $total-columns - 2 { + .push#{-$i} { @include grid-column($push:$i, $collapse:null, $float:false); } + .pull#{-$i} { @include grid-column($pull:$i, $collapse:null, $float:false); } + } + + @for $i from 2 through $total-columns - 2 { + .small-push#{-$i} { #{$default-float}: inherit; } + .small-pull#{-$i} { #{$opposite-direction}: inherit; } + } + + .column.large-centered, + .columns.large-centered { @include grid-column($center:true, $collapse:null, $float:false); } + + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_inline-lists.scss b/content/css/zurb-foundation/foundation/components/_inline-lists.scss new file mode 100644 index 0000000..4d1dbf5 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_inline-lists.scss @@ -0,0 +1,52 @@ +// +// Inline List Variables +// + +// We use this to control the margins and padding of the inline list. +$inline-list-top-margin: 0 !default; +$inline-list-opposite-margin: 0 !default; +$inline-list-bottom-margin: emCalc(17px) !default; +$inline-list-default-float-margin: emCalc(-22px) !default; + +$inline-list-padding: 0 !default; + +// We use this to control the overflow of the inline list. +$inline-list-overflow: hidden !default; + +// We use this to control the list items +$inline-list-display: block !default; + +// We use this to control any elments within list items +$inline-list-children-display: block !default; + +// +// Inline List Mixins +// + +// We use this mixin to create inline lists +@mixin inline-list { + margin: $inline-list-top-margin auto $inline-list-bottom-margin auto; + margin-#{$default-float}: $inline-list-default-float-margin; + margin-#{$opposite-direction}: $inline-list-opposite-margin; + padding: $inline-list-padding; + list-style: none; + overflow: $inline-list-overflow; + + & > li { + list-style: none; + float: $default-float; + margin-#{$default-float}: emCalc(22px); + display: $inline-list-display; + &>* { display: $inline-list-children-display; } + } +} + + +@if $include-html-grid-classes { + + /* Inline Lists */ + .inline-list { + @include inline-list(); + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_joyride.scss b/content/css/zurb-foundation/foundation/components/_joyride.scss new file mode 100644 index 0000000..4358b9e --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_joyride.scss @@ -0,0 +1,212 @@ +// +// Joyride Variables +// + +// Controlling default Joyride styles +$joyride-tip-bg: rgb(0,0,0) !default; +$joyride-tip-default-width: 300px !default; +$joyride-tip-padding: emCalc(18px) emCalc(20px) emCalc(24px) !default; +$joyride-tip-border: solid 1px #555 !default; +$joyride-tip-radius: 4px !default; +$joyride-tip-position-offset: 22px !default; + +// Here, we're setting the tip dont styles +$joyride-tip-font-color: #fff !default; +$joyride-tip-font-size: emCalc(14px) !default; +$joyride-tip-header-weight: bold !default; + +// This changes the nub size +$joyride-tip-nub-size: 14px !default; + +// This adjusts the styles for the timer when its enabled +$joyride-tip-timer-width: 50px !default; +$joyride-tip-timer-height: 3px !default; +$joyride-tip-timer-color: #666 !default; + +// This changes up the styles for the close button +$joyride-tip-close-color: #777 !default; +$joyride-tip-close-size: 30px !default; +$joyride-tip-close-weight: normal !default; + +// When Joyride is filling the screen, we use this style for the bg +$joyride-screenfill: rgba(0,0,0,0.5) !default; + + +// We decided not to make a mixin for this because it relies on predefined classes to work properly. + +/* Foundation Joyride */ +.joyride-list { display: none; } + +/* Default styles for the container */ +.joyride-tip-guide { + display: none; + position: absolute; + background: $joyride-tip-bg; + color: $joyride-tip-font-color; + z-index: 101; + top: 0; + #{$default-float}: 2.5%; + font-family: inherit; + font-weight: normal; + width: 95%; +} + +.lt-ie9 .joyride-tip-guide { + max-width:800px; + #{$default-float}: 50%; + margin-#{$default-float}:-400px; +} + +.joyride-content-wrapper { + width: 100%; + + padding: $joyride-tip-padding; + + .button { margin-bottom: 0 !important; } +} + +/* Add a little css triangle pip, older browser just miss out on the fanciness of it */ +.joyride-tip-guide { + .joyride-nub { + display: block; + position: absolute; + #{$default-float}: $joyride-tip-position-offset; + width: 0; + height: 0; + border: solid $joyride-tip-nub-size; + + &.top { + border-color: $joyride-tip-bg; + border-top-color: transparent !important; + border-#{$default-float}-color: transparent !important; + border-#{$opposite-direction}-color: transparent !important; + top: -($joyride-tip-nub-size*2); + bottom: none; + } + &.bottom { + border-color: $joyride-tip-bg !important; + border-bottom-color: transparent !important; + border-#{$default-float}-color: transparent !important; + border-#{$opposite-direction}-color: transparent !important; + bottom: -($joyride-tip-nub-size*2); + bottom: none; + } + + &.right { right: -($joyride-tip-nub-size*2); } + &.left { left: -($joyride-tip-nub-size*2); } + } +} + +/* Typography */ +.joyride-tip-guide h1, +.joyride-tip-guide h2, +.joyride-tip-guide h3, +.joyride-tip-guide h4, +.joyride-tip-guide h5, +.joyride-tip-guide h6 { + line-height: 1.25; + margin: 0; + font-weight: $joyride-tip-header-weight; + color: $joyride-tip-font-color; +} +.joyride-tip-guide p { + margin: 0 0 emCalc(18px) 0; + font-size: $joyride-tip-font-size; + line-height: 1.3; +} + +.joyride-timer-indicator-wrap { + width: $joyride-tip-timer-width; + height: $joyride-tip-timer-height; + border: $joyride-tip-border; + position: absolute; + #{$opposite-direction}: emCalc(17px); + bottom: emCalc(16px); +} +.joyride-timer-indicator { + display: block; + width: 0; + height: inherit; + background: $joyride-tip-timer-color; +} + +.joyride-close-tip { + position: absolute; + #{$opposite-direction}: 12px; + top: 10px; + color: $joyride-tip-close-color !important; + text-decoration: none; + font-size: $joyride-tip-close-size; + font-weight: $joyride-tip-close-weight; + line-height: .5 !important; + + &:hover, + &:focus { color: #eee !important; } +} + +.joyride-modal-bg { + position: fixed; + height: 100%; + width: 100%; + background: transparent; + background: $joyride-screenfill; + z-index: 100; + display: none; + top: 0; + #{$default-float}: 0; + cursor: pointer; +} + +.joyride-expose-wrapper { + background-color: #ffffff; + position: absolute; + border-radius: 3px; + z-index: 102; + -moz-box-shadow: 0px 0px 30px #ffffff; + -webkit-box-shadow: 0px 0px 15px #ffffff; + box-shadow: 0px 0px 15px #ffffff; +} + +.joyride-expose-cover { + background: transparent; + border-radius: 3px; + position: absolute; + z-index: 9999; + top: 0px; + left: 0px; +} + + +/* Styles for screens that are atleast 768px; */ +@media #{$small} { + .joyride-tip-guide { width: $joyride-tip-default-width; #{$default-float}: inherit; + .joyride-nub { + &.bottom { + border-color: $joyride-tip-bg !important; + border-bottom-color: transparent !important; + border-#{$default-float}-color: transparent !important; + border-#{$opposite-direction}-color: transparent !important; + bottom: -($joyride-tip-nub-size*2); + bottom: none; + } + &.right { + border-color: $joyride-tip-bg !important; + border-top-color: transparent !important; + border-right-color: transparent !important; border-bottom-color: transparent !important; + top: $joyride-tip-position-offset; + bottom: none; + left: auto; + right: -($joyride-tip-nub-size*2); + } + &.left { + border-color: $joyride-tip-bg !important; + border-top-color: transparent !important; + border-left-color: transparent !important; + border-bottom-color: transparent !important; + top: $joyride-tip-position-offset; + left: -($joyride-tip-nub-size*2); + right: auto; bottom: none; + } + } + } +} diff --git a/content/css/zurb-foundation/foundation/components/_keystrokes.scss b/content/css/zurb-foundation/foundation/components/_keystrokes.scss new file mode 100644 index 0000000..04f39cb --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_keystrokes.scss @@ -0,0 +1,56 @@ +// +// Keystroke Variables +// + +// We use these to control text styles. +$keystroke-font: "Consolas", "Menlo", "Courier", monospace !default; +$keystroke-font-size: emCalc(15px) !default; +$keystroke-font-color: #222 !default; +$keystroke-font-color-alt: #fff !default; +$keystroke-function-factor: 7% !default; + +// We use this to control keystroke padding. +$keystroke-padding: emCalc(2px) emCalc(4px) emCalc(0px) !default; + +// We use these to control background and border styles. +$keystroke-bg: darken(#fff, $keystroke-function-factor) !default; +$keystroke-border-style: solid !default; +$keystroke-border-width: 1px !default; +$keystroke-border-color: darken($keystroke-bg, $keystroke-function-factor) !default; +$keystroke-radius: $global-radius !default; + +// +// Keystroke Mixins +// + +// We use this mixin to create keystroke styles. +@mixin keystroke($bg:$keystroke-bg) { + // This find the lightness percentage of the background color. + $bg-lightness: lightness($bg); + + background-color: $bg; + border-color: darken($bg, $keystroke-function-factor); + + // We adjust the font color based on the brightness of the background. + @if $bg-lightness > 70% { color: $keystroke-font-color; } + @else { color: $keystroke-font-color-alt; } + + border-style: $keystroke-border-style; + border-width: $keystroke-border-width; + margin: 0; + font-family: $keystroke-font; + font-size: $keystroke-font-size; + padding: $keystroke-padding; +} + + +@if $include-html-media-classes { + + /* Keystroke Characters */ + .keystroke, + kbd { + @include keystroke; + @include radius($keystroke-radius); + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_labels.scss b/content/css/zurb-foundation/foundation/components/_labels.scss new file mode 100644 index 0000000..f190c3d --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_labels.scss @@ -0,0 +1,82 @@ +// +// Label Variables +// + +// We use these to style the labels +$label-padding: emCalc(3px) emCalc(10px) emCalc(4px) !default; +$label-radius: $global-radius !default; + +// We use these to style the label text +$label-font-sizing: emCalc(14px) !default; +$label-font-weight: bold !default; + +// +// Label Mixins +// + +// We use this mixin to create a default label base. +@mixin label-base { + font-weight: $label-font-weight; + text-align: center; + text-decoration: none; + line-height: 1; + white-space: nowrap; + display: inline-block; + position: relative; +} + +// We use this mixin to add label size styles. +@mixin label-size($padding:$label-padding, $text-size:$label-font-sizing) { + @if $padding { padding: $padding; } + @if $text-size { font-size: $text-size; } +} + +// We use this mixin to add label styles. +@mixin label-style($bg:$primary-color, $radius:false) { + + // We control which background color comes through + @if $bg { + + // This find the lightness percentage of the background color. + $bg-lightness: lightness($bg); + + background-color: $bg; + + // We control the text color for you based on the background color. + @if $bg-lightness < 70% { color: #fff; } + @else { color: #333; } + } + + // We use this to control the radius on labels. + @if $radius == true { @include radius($label-radius); } + @else if $radius { @include radius($radius); } + +} + +// We use this to add close buttons to alerts +@mixin label($padding:$label-padding, $text-size:$label-font-sizing, $bg:$primary-color, $radius:false) { + + @include label-base; + @include label-size($padding, $text-size); + @include label-style($bg, $radius); +} + + +@if $include-html-label-classes { + + /* Labels */ + .label { + @include label-base; + @include label-size; + @include label-style; + + + &.radius { @include label-style(false, true); } + &.round { @include label-style(false, $radius:1000px); } + + &.alert { @include label-style($alert-color); } + &.success { @include label-style($success-color); } + &.secondary { @include label-style($secondary-color); } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_magellan.scss b/content/css/zurb-foundation/foundation/components/_magellan.scss new file mode 100644 index 0000000..db33715 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_magellan.scss @@ -0,0 +1,21 @@ +// +// Magellan Variables +// +$magellan-bg: #fff !default; +$magellan-padding: 10px !default; + +@if $include-html-magellan-classes { + + [data-magellan-expedition] { + background: $magellan-bg; + z-index: 50; + min-width: 100%; + padding: $magellan-padding; + + .sub-nav { + margin-bottom: 0; + dd { margin-bottom: 0; } + } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_orbit.scss b/content/css/zurb-foundation/foundation/components/_orbit.scss new file mode 100644 index 0000000..e8e073b --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_orbit.scss @@ -0,0 +1,204 @@ +// Orbit Settings + +// We use these to control the caption styles +$orbit-container-bg: #f5f5f5 !default; +$orbit-caption-bg-old-browser: #000 !default; +$orbit-caption-bg-old: rgb(0,0,0) !default; +$orbit-caption-bg: rgba(0,0,0,0.6) !default; +$orbit-caption-font-color: #fff !default; + +// We use these to control the left/right nav styles +$orbit-nav-bg-old: rgb(0,0,0) !default; +$orbit-nav-bg: rgba(0,0,0,0.6) !default; + +// We use these to control the timer styles +$orbit-timer-bg-old: rgb(0,0,0) !default; +$orbit-timer-bg: rgba(0,0,0,0.6) !default; + +// We use these to control the bullet nav styles +$orbit-bullet-nav-color: #999 !default; +$orbit-bullet-nav-color-active: #222 !default; + +// We use thes to controls the style of slide numbers +$orbit-slide-number-bg: rgb(0,0,0) !default; +$orbit-slide-number-font-color: #fff !default; +$orbit-slide-number-padding: emCalc(5px) !default; + +// Margin for when Orbit is stacked on small screens +$stack-on-small-margin-bottom: emCalc(20px) !default; + + +.orbit-container { + overflow: hidden; + width: 100%; + position: relative; + background: $orbit-container-bg; + + .orbit-slides-container { + list-style: none; + margin: 0; + padding: 0; + position: relative; + + img { display: block; } + + &>* { + position: relative; + float: $default-float; + height: 100%; + + .orbit-caption { + position: absolute; + bottom: 0; + background-color: $orbit-caption-bg-old; + background-color: $orbit-caption-bg; + color: #fff; + width: 100%; + padding: 10px 14px; + font-size: emCalc(14px); + + * { color: $orbit-caption-font-color; } + } + } + } + + .orbit-slide-number { + position: absolute; + top: 10px; + #{$default-float}: 10px; + font-size: 12px; + span { font-weight: 700; } + } + + .orbit-timer { + position: absolute; + top: 10px; + #{$opposite-direction}: 10px; + height: 6px; + width: 100px; + .orbit-progress { + height: 100%; + background-color: $orbit-timer-bg-old; + background-color: $orbit-timer-bg; + display: block; + width: 0%; + } + + & > span { + display: none; + position: absolute; + top: 10px; + #{$opposite-direction}: 0px; + width: 11px; + height: 14px; + border: solid 4px #000; + border-top: none; + border-bottom: none; + } + + &.paused { + & > span { + #{$opposite-direction}: -6px; + top: 9px; + width: 11px; + height: 14px; + border: solid 8px; + border-color: transparent transparent transparent #000; + } + } + } + + &:hover .orbit-timer > span { display: block; } + + // Let's get those controls to be right in the center on each side + .orbit-prev, + .orbit-next { + position: absolute; + top: 50%; + margin-top: -25px; + background-color: $orbit-nav-bg-old; + background-color: $orbit-nav-bg; + width: 50px; + height: 60px; + line-height: 50px; + color: white; + text-indent: -9999px !important; + + & > span { + position: absolute; + top: 50%; + margin-top: -16px; + display: block; + width: 0; + height: 0; + border: solid 16px; + } + } + .orbit-prev { #{$default-float}: 0; + & > span { + border-color: transparent; + border-#{$opposite-direction}-color: #fff; + } + &:hover > span { + border-#{$opposite-direction}-color: #ccc; + } + } + .orbit-next { #{$opposite-direction}: 0; + & > span { + border-color: transparent; + border-#{$default-float}-color: #fff; + #{$default-float}: 50%; + margin-#{$default-float}: -8px; + } + &:hover > span { + border-#{$default-float}-color: #ccc; + } + } +} + +.orbit-bullets { + margin: 0 auto 30px auto; + overflow: hidden; + position: relative; + top: 10px; + + li { + display: block; + width: 18px; + height: 18px; + background: #fff; + float: $default-float; + margin-#{$opposite-direction}: 6px; + border: solid 2px #000; + @include radius(1000px); + + &.active { + background: #000; + } + + &:last-child { margin-#{$opposite-direction}: 0; } + } +} + +.touch { + .orbit-container { + .orbit-prev, + .orbit-next { display: none; } + } + + .orbit-bullets { display: none; } +} + + +@media #{$small} { + + .touch { + .orbit-container { + .orbit-prev, + .orbit-next { display: inherit; } + } + + .orbit-bullets { display: block; } + } + +} diff --git a/content/css/zurb-foundation/foundation/components/_pagination.scss b/content/css/zurb-foundation/foundation/components/_pagination.scss new file mode 100644 index 0000000..373ab9f --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_pagination.scss @@ -0,0 +1,99 @@ +// +// Pagination Variables +// + +// We use these to control the pagination container +$pagination-height: emCalc(24px) !default; +$pagination-margin: emCalc(-5px) !default; + +// We use these to set the list-item properties +$pagination-li-float: $default-float; +$pagination-li-height: emCalc(24px) !default; +$pagination-li-font-color: #222 !default; +$pagination-li-font-size: emCalc(14px) !default; +$pagination-li-margin: emCalc(5px) !default; + +// We use these for the pagination anchor links +$pagination-link-pad: emCalc(1px) emCalc(7px) emCalc(1px) !default; +$pagination-link-font-color: #999 !default; +$pagination-link-active-bg: darken(#fff, 10%) !default; + +// We use these for disabled anchor links +$pagination-link-unavailable-cursor: default !default; +$pagination-link-unavailable-font-color: #999 !default; +$pagination-link-unavailable-bg-active: transparent !default; + +// We use these for currently selected anchor links +$pagination-link-current-background: $primary-color !default; +$pagination-link-current-font-color: #fff !default; +$pagination-link-current-font-weight: bold !default; +$pagination-link-current-cursor: default !default; +$pagination-link-current-active-bg: $primary-color !default; + +// +// Pagination Mixin +// + +// We use this mixin to set the properties for the creating Foundation pagination +@mixin pagination($center:false, $base-style:true) { + + @if $base-style { + display: block; + height: $pagination-height; + margin-#{$default-float}: $pagination-margin; + + li { + display: block; + float: $pagination-li-float; + height: $pagination-li-height; + color: $pagination-li-font-color; + font-size: $pagination-li-font-size; + margin-#{$default-float}: $pagination-li-margin; + + a { + display: block; + padding: $pagination-link-pad; + color: $pagination-link-font-color; + } + + &:hover a, + a:focus { background: $pagination-link-active-bg; } + + &.unavailable a { + cursor: $pagination-link-unavailable-cursor; + color: $pagination-link-unavailable-font-color; + } + + &.unavailable:hover a, &.unavailable a:focus { background: $pagination-link-unavailable-bg-active; } + + &.current a { + background: $pagination-link-current-background; + color: $pagination-link-current-font-color; + font-weight: $pagination-link-current-font-weight; + cursor: $pagination-link-current-cursor; + + &:hover, + &:focus { background: $pagination-link-current-active-bg; } + } + } + } + + @if $center { + & { text-align: center; + ul > li { + float: none; + display: inline-block; + } + } + } +} + + + + +@if $include-html-nav-classes { + + /* Pagination */ + .pagination { @include pagination; } + .pagination-centered { @include pagination(true,false); } +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_panels.scss b/content/css/zurb-foundation/foundation/components/_panels.scss new file mode 100644 index 0000000..7fac32e --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_panels.scss @@ -0,0 +1,76 @@ +// +// Panel Variables +// + +// We use these to control the background and border styles +$panel-bg: darken(#fff, 5%) !default; +$panel-border-style: solid !default; +$panel-border-size: 1px !default; + +// We use this % to control how much we darken things on hover +$panel-function-factor: 10% !default; +$panel-border-color: darken($panel-bg, $panel-function-factor) !default; + +// We use these to set default inner padding and bottom margin +$panel-margin-bottom: emCalc(20px) !default; +$panel-padding: emCalc(20px) !default; + +// We use these to set default font colors +$panel-font-color: #333 !default; +$panel-font-color-alt: #fff !default; + + +// +// Panel Mixins +// + +// We use this mixin to create panels. +@mixin panel($bg:$panel-bg, $padding:$panel-padding) { + + @if $bg { + $bg-lightness: lightness($bg); + + border-style: $panel-border-style; + border-width: $panel-border-size; + border-color: darken($bg, $panel-function-factor); + margin-bottom: $panel-margin-bottom; + padding: $padding; + + background: $bg; + + // We set the font color based on the darkness of the bg. + @if $bg-lightness >= 50% and $bg == blue { h1,h2,h3,h4,h5,h6,p { color: $panel-font-color-alt; } } + @else if $bg-lightness >= 50% { h1,h2,h3,h4,h5,h6,p { color: $panel-font-color; } } + @else { h1,h2,h3,h4,h5,h6,p { color: $panel-font-color-alt; } } + + // Respect the padding, fool. + &>:first-child { margin-top: 0; } + &>:last-child { margin-bottom: 0; } + + // reset header line-heights for panels + h1,h2,h3,h4,h5,h6 { + line-height: 1; margin-bottom: emCalc(20px) / 2; + &.subheader { line-height: 1.4; } + } + } +} + +// Only include these classes if the option exists +@if $include-html-panel-classes { + + /* Panels */ + .panel { @include panel; + + &.callout { + @include panel($primary-color); + @include inset-shadow($active:false); + } + + &.radius { + @include panel($bg:false); + @include radius; + } + + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_pricing-tables.scss b/content/css/zurb-foundation/foundation/components/_pricing-tables.scss new file mode 100644 index 0000000..3bd1793 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_pricing-tables.scss @@ -0,0 +1,130 @@ +// +// Pricing Table Variables +// + +// We use this to control the border color +$price-table-border: solid 1px #ddd !default; + +// We use this to control the bottom margin of the pricing table +$price-table-margin-bottom: emCalc(20px) !default; + +// We use these to control the title styles +$price-title-bg: #ddd !default; +$price-title-padding: emCalc(15px) emCalc(20px) !default; +$price-title-align: center !default; +$price-title-color: #333 !default; +$price-title-weight: bold !default; +$price-title-size: emCalc(16px) !default; + +// We use these to control the price styles +$price-money-bg: #eee !default; +$price-money-padding: emCalc(15px) emCalc(20px) !default; +$price-money-align: center !default; +$price-money-color: #333 !default; +$price-money-weight: normal !default; +$price-money-size: emCalc(20px) !default; + +// We use these to control the description styles +$price-bg: #fff !default; +$price-desc-color: #777 !default; +$price-desc-padding: emCalc(15px) !default; +$price-desc-align: center !default; +$price-desc-font-size: emCalc(12px) !default; +$price-desc-weight: normal !default; +$price-desc-line-height: 1.4 !default; +$price-desc-bottom-border: dotted 1px #ddd !default; + +// We use these to control the list item styles +$price-item-color: #333 !default; +$price-item-padding: emCalc(15px) !default; +$price-item-align: center !default; +$price-item-font-size: emCalc(14px) !default; +$price-item-weight: normal !default; +$price-item-bottom-border: dotted 1px #ddd !default; + +// We use these to control the CTA area styles +$price-cta-bg: #f5f5f5 !default; +$price-cta-align: center !default; +$price-cta-padding: emCalc(20px) emCalc(20px) 0 !default; + +// +// Pricing Table Mixins +// + +// We use this to create the container element for the pricing tables +@mixin pricing-table-container { + border: $price-table-border; + margin-#{$default-float}: 0; + margin-bottom: $price-table-margin-bottom; + + & * { + list-style: none; + line-height: 1; + } +} + +// We use this mixin to create the pricing table title styles +@mixin pricing-table-title { + background-color: $price-title-bg; + padding: $price-title-padding; + text-align: $price-title-align; + color: $price-title-color; + font-weight: $price-title-weight; + font-size: $price-title-size; +} + +// We use this mixin to control the pricing table price styles +@mixin pricing-table-price { + background-color: $price-money-bg; + padding: $price-money-padding; + text-align: $price-money-align; + color: $price-money-color; + font-weight: $price-money-weight; + font-size: $price-money-size; +} + +// We use this mixin to create the description styles for the pricing table +@mixin pricing-table-description { + background-color: $price-bg; + padding: $price-desc-padding; + text-align: $price-desc-align; + color: $price-desc-color; + font-size: $price-desc-font-size; + font-weight: $price-desc-weight; + line-height: $price-desc-line-height; + border-bottom: $price-desc-bottom-border; +} + +// We use this mixin to style the bullet items in the pricing table +@mixin pricing-table-bullet { + background-color: $price-bg; + padding: $price-item-padding; + text-align: $price-item-align; + color: $price-item-color; + font-size: $price-item-font-size; + font-weight: $price-item-weight; + border-bottom: $price-item-bottom-border; +} + +// We use this mixin to style the CTA area of the pricing tables +@mixin pricing-table-cta { + background-color: $price-cta-bg; + text-align: $price-cta-align; + padding: $price-cta-padding; +} + + +@if $include-html-pricing-classes { + + /* Pricing Tables */ + .pricing-table { + @include pricing-table-container; + + .title { @include pricing-table-title; } + .price { @include pricing-table-price; } + .description { @include pricing-table-description; } + .bullet-item { @include pricing-table-bullet; } + .cta-button { @include pricing-table-cta; } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_progress-bars.scss b/content/css/zurb-foundation/foundation/components/_progress-bars.scss new file mode 100644 index 0000000..256cfe2 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_progress-bars.scss @@ -0,0 +1,70 @@ +// +// Progress Bar Variables +// + +// We use this to se the prog bar height +$progress-bar-height: emCalc(25px) !default; +$progress-bar-color: transparent !default; + +// We use these to control the border styles +$progress-bar-border-color: darken(#fff, 20%) !default; +$progress-bar-border-size: 1px !default; +$progress-bar-border-style: solid !default; +$progress-bar-border-radius: $global-radius !default; + +// We use these to control the margin & padding +$progress-bar-pad: emCalc(2px) !default; +$progress-bar-margin-bottom: emCalc(10px) !default; + +// We use these to set the meter colors +$progress-meter-color: $primary-color !default; +$progress-meter-secondary-color: $secondary-color !default; +$progress-meter-success-color: $success-color !default; +$progress-meter-alert-color: $alert-color !default; + + +// +// Progress Bar Mixins +// + +// We use this to set up the progress bar container +@mixin progress-container { + background-color: $progress-bar-color; + height: $progress-bar-height; + border: $progress-bar-border-size $progress-bar-border-style $progress-bar-border-color; + padding: $progress-bar-pad; + margin-bottom: $progress-bar-margin-bottom; +} + +@mixin progress-meter($bg:$progress-meter-color) { + background: $bg; + height: 100%; + display: block; +} + + +@if $include-html-media-classes { + + /* Progress Bar */ + .progress { + @include progress-container; + + // Meter + .meter { + @include progress-meter; + } + &.secondary .meter { @include progress-meter($bg:$progress-meter-secondary-color); } + &.success .meter { @include progress-meter($bg:$progress-meter-success-color); } + &.alert .meter { @include progress-meter($bg:$progress-meter-alert-color); } + + &.radius { @include radius($global-radius); + .meter { @include radius($global-radius - 1); } + } + + &.round { @include radius(1000px); + .meter { @include radius(999px); } + } + + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_reveal.scss b/content/css/zurb-foundation/foundation/components/_reveal.scss new file mode 100644 index 0000000..2758b18 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_reveal.scss @@ -0,0 +1,131 @@ +// NEED TO FINISH THE LOGIC HERE + +// +// Reveal Variables +// + +// We use these to control the style of the reveal overlay. +$reveal-overlay-bg: rgba(#000, .45) !default; +$reveal-overlay-bg-old: #000 !default; + +// We use these to control the style of the modal itself. +$reveal-modal-bg: #fff !default; +$reveal-position-top: 50px !default; +$reveal-default-width: 80% !default; +$reveal-modal-padding: emCalc(20px) !default; +$reveal-box-shadow: 0 0 10px rgba(#000,.4) !default; + +// We use these to style the reveal close button +$reveal-close-font-size: emCalc(22px) !default; +$reveal-close-top: emCalc(8px) !default; +$reveal-close-side: emCalc(11px) !default; +$reveal-close-color: #aaa !default; +$reveal-close-weight: bold !default; + +// We use these to control the modal border +$reveal-border-style: solid !default; +$reveal-border-width: 1px !default; +$reveal-border-color: #666 !default; + +// +// Reveal Mixins +// + +// We use this to create the reveal background overlay styles +@mixin reveal-bg { + position: fixed; + height: 100%; + width: 100%; + background: $reveal-overlay-bg-old; + background: $reveal-overlay-bg; + z-index: 98; + display: none; + top: 0; + #{$default-float}: 0; +} + +// We use this mixin to create the structure of a reveal modal +@mixin reveal-modal-base($base-style:true, $width:$reveal-default-width) { + @if $base-style { + visibility: hidden; + display: none; + position: absolute; + #{$default-float}: 50%; + z-index: 99; + height: auto; + background-color: #fff; + + // Make sure rows don't have a min-width on them + .column, + .columns { min-width: 0; } + + // Get rid of margin from first and last element inside modal + & > :first-child { margin-top: 0; } + & > :last-child { margin-bottom: 0; } + } + + @if $width { + margin-#{$default-float}: -($width / 2); + width: $width; + } +} + +// We use this to style the reveal modal defaults +@mixin reveal-modal-style($bg:$reveal-modal-bg, $padding:$reveal-modal-padding, $border:true, $border-style:$reveal-border-style, $border-width:$reveal-border-width, $border-color:$reveal-border-color, $box-shadow:true, $top-offset:$reveal-position-top) { + + @if $bg { background-color: $bg; } + @if $padding { padding: $padding; } + + @if $border { border: $border-style $border-width $border-color; } + + // We can choose whether or not to include the default box-shadow. + @if $box-shadow { + -webkit-box-shadow: $reveal-box-shadow; + box-shadow: $reveal-box-shadow; + } + + @if $top-offset { top: $top-offset; } +} + +// We use this to create a close button for the reveal modal +@mixin reveal-close($color:$reveal-close-color) { + font-size: $reveal-close-font-size; + line-height: 1; + position: absolute; + top: $reveal-close-top; + #{$opposite-direction}: $reveal-close-side; + color: $color; + font-weight: $reveal-close-weight; + cursor: pointer; +} + +@if $include-html-reveal-classes { + // Reveal Modals + .reveal-modal-bg { @include reveal-bg; } + + .reveal-modal { + @include reveal-modal-base; + @include reveal-modal-style; + + .close-reveal-modal { @include reveal-close; } + } + + // Large Screen Styles + @media #{$small} { + + .reveal-modal { + @include reveal-modal-style(false, emCalc(30px), false, $box-shadow: false, $top-offset: emCalc(100px)); + + &.small { @include reveal-modal-base(false, 30%); } + &.medium { @include reveal-modal-base(false, 40%); } + &.large { @include reveal-modal-base(false, 60%); } + &.xlarge { @include reveal-modal-base(false, 70%); } + &.expand { @include reveal-modal-base(false, 95%); } + } + } + + // Reveal Print Styles + @media print { + div:not(.reveal-modal) { display: none; } + } +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_section.scss b/content/css/zurb-foundation/foundation/components/_section.scss new file mode 100644 index 0000000..a2a97ac --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_section.scss @@ -0,0 +1,249 @@ +// +// Section Variables +// + +// We use these to set padding and hover factor +$section-padding: emCalc(15px) !default; +$section-function-factor: 10% !default; + +// These style the titles +$section-title-color: #333 !default; +$section-title-bg: #efefef !default; +$section-title-bg-active: darken($section-title-bg, $section-function-factor) !default; +$section-title-bg-active-tabs: #fff !default; + +// Want to control border size, here ya go! +$section-border-size: 1px !default; +$section-border-style: solid !default; +$section-border-color: #ccc !default; + +// Control the color of the background and some size options +$section-content-bg: #fff !default; +$section-vertical-nav-min-width: emCalc(200px) !default; +$section-bottom-margin: emCalc(20px) !default; + + +// +// Section Mixins +// + +// We use this mixin to create the basic container styles for sections when they act like accordions +@mixin section-container($base-style:true, $section-type:accordion) { + + // We can set this to false to not include these styles to avoid repeated CSS on classes. + @if $base-style { + width: 100%; + display: block; + margin-bottom: $section-bottom-margin; + } + + // Accordion container border styles + @if $section-type == accordion { + border: $section-border-size $section-border-style $section-border-color; + border-top: none; + } + + // Tabs container border styles + @else if $section-type == tabs { + border: 0; + position: relative; + } + + // Vertical Nav container border styles + @else if $section-type == vertical-nav { + + } + + // Horizontal Nav container border styles + @else if $section-type == horizontal-nav { + position: relative; + background: $section-title-bg; + border: $section-border-size $section-border-style $section-border-color; + } +} + +// We use this mixin to create the styles for sections as accordions. +@mixin section($section-type:accordion) { + + // Accordion styles + @if $section-type == accordion { + + border-top: $section-border-size $section-border-style $section-border-color; + position: relative; + + .title { + top: 0; + cursor: pointer; + width: 100%; + margin: 0; + background-color: $section-title-bg; + + a { + padding: $section-padding; + display: inline-block; + color: $section-title-color; + font-size: emCalc(14px); + white-space: nowrap; + width: 100%; + } + &:hover { background-color: darken($section-title-bg, $section-function-factor/2); } + } + + .content { + display: none; + padding: $section-padding; + background-color: $section-content-bg; + + &>*:last-child { margin-bottom: 0; } + &>*:first-child { padding-top: 0; } + &>*:last-child { padding-bottom: 0; } + } + + + &.active { + .content { display: block; } + .title { background: $section-title-bg-active; } + } + + + } + + // Tab Styles + @else if $section-type == tabs { + padding-top: 0; + border: 0; + position: static; + + .title { + width: auto; + border: $section-border-size $section-border-style $section-border-color; + border-#{$opposite-direction}: 0; + border-bottom: 0; + position: absolute; + z-index: 1; + + a { width: 100%; } + } + &:last-child .title { border-#{$opposite-direction}: $section-border-size $section-border-style $section-border-color; } + + .content { + border: $section-border-size $section-border-style $section-border-color; + position: absolute; + z-index: 10; + top: -1px; + } + + &.active { + + .title { + background-color: $section-title-bg-active-tabs; + z-index: 11; + border-bottom: 0; + } + .content { position: relative; } + } + } + + // Vertical Nav Styles + @else if $section-type == vertical-nav { + + padding-top: 0 !important; + + .title a { display: block; width: 100%; } + + .content { display: none; } + + &.active { + .content { + display: block; + position: absolute; + #{$default-float}: 100%; + top: -1px; + z-index: 999; + min-width: $section-vertical-nav-min-width; + border: $section-border-size $section-border-style $section-border-color; + } + } + } + + // Horizontal Nav Styles + @else if $section-type == horizontal-nav { + padding-top: 0; + border: 0; + position: static; + + .title { + width: auto; + border: $section-border-size $section-border-style $section-border-color; + border-#{$default-float}: 0; + top: -1px; + position: absolute; + z-index: 1; + + a { width: 100%; } + } + + .content { display: none; } + + &.active { + .content { + display: block; + position: absolute; + z-index: 999; + #{$default-float}: 0; + top: -2px; + min-width: $section-vertical-nav-min-width; + border: $section-border-size $section-border-style $section-border-color; + } + } + } +} + + +@if $include-html-section-classes { + + /* Sections */ + .section-container, .section-container.auto { + @include section-container; + + section, + .section { + @include section; + } + } + + .section-container.tabs { + @include section-container(false, tabs); + + section, + .section { @include section(tabs); } + } + + @media #{$small} { + + .section-container.auto { + @include section-container(false, tabs); + + section, + .section { @include section(tabs); } + } + .section-container.accordion .section { + padding-top: 0 !important; + } + + .section-container.vertical-nav { + @include section-container(false); + + section, + .section { @include section(vertical-nav); } + } + + .section-container.horizontal-nav { + @include section-container(false, horizontal-nav); + + section, + .section { @include section(horizontal-nav); } + } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_side-nav.scss b/content/css/zurb-foundation/foundation/components/_side-nav.scss new file mode 100644 index 0000000..ca87bd8 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_side-nav.scss @@ -0,0 +1,68 @@ +// +// Side Nav Variables +// + +// We use this to control padding. +$side-nav-padding: emCalc(14px) 0 !default; + +// We use these to control list styles. +$side-nav-list-type: none !default; +$side-nav-list-position: inside !default; +$side-nav-list-margin: 0 0 emCalc(7px) 0 !default; + +// We use these to control link styles. +$side-nav-link-color: $primary-color !default; +$side-nav-link-color-active: lighten(#000, 30%) !default; +$side-nav-font-size: emCalc(14px) !default; +$side-nav-font-weight: bold !default; + +// We use these to control border styles +$side-nav-divider-size: 1px !default; +$side-nav-divider-style: solid !default; +$side-nav-divider-color: darken(#fff, 10%) !default; + + +// +// Side Nav Mixins +// + + +// We use this to style the side-nav +@mixin side-nav($divider-color:$side-nav-divider-color, $font-size:$side-nav-font-size, $link-color:$side-nav-link-color) { + display: block; + margin: 0; + padding: $side-nav-padding; + list-style-type: $side-nav-list-type; + list-style-position: $side-nav-list-position; + + li { + margin: $side-nav-list-margin; + font-size: $font-size; + + a { + display: block; + color: $link-color; + } + + &.active a { + color: $side-nav-link-color-active; + font-weight: $side-nav-font-weight; + } + + &.divider { + border-top: $side-nav-divider-size $side-nav-divider-style; + height: 0; + padding: 0; + list-style: none; + border-top-color: $divider-color; + } + } +} + + +@if $include-html-nav-classes { + + /* Side Nav */ + .side-nav { @include side-nav; } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_split-buttons.scss b/content/css/zurb-foundation/foundation/components/_split-buttons.scss new file mode 100644 index 0000000..5f9de22 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_split-buttons.scss @@ -0,0 +1,159 @@ +// +// Split Button Variables +// + +// We use these to control different shared styles for Split Buttons +$split-button-function-factor: 15% !default; +$split-button-pip-color: #fff !default; +$split-button-pip-color-alt: #333 !default; +$split-button-active-bg-tint: rgba(0,0,0,0.1) !default; + +// We use these to control tiny split buttons +$split-button-padding-tny: $button-tny * 9 !default; +$split-button-span-width-tny: $button-tny * 6.5 !default; +$split-button-pip-size-tny: $button-tny !default; +$split-button-pip-top-tny: $button-tny * 2 !default; +$split-button-pip-default-float-tny: emCalc(-5px) !default; + +// We use these to control small split buttons +$split-button-padding-sml: $button-sml * 7 !default; +$split-button-span-width-sml: $button-sml * 5 !default; +$split-button-pip-size-sml: $button-sml !default; +$split-button-pip-top-sml: $button-sml * 1.5 !default; +$split-button-pip-default-float-sml: emCalc(-9px) !default; + +// We use these to control medium split buttons +$split-button-padding-med: $button-med * 6.4 !default; +$split-button-span-width-med: $button-med * 4 !default; +$split-button-pip-size-med: $button-med - emCalc(3px) !default; +$split-button-pip-top-med: $button-med * 1.5 !default; +$split-button-pip-default-float-med: emCalc(-9px) !default; + +// We use these to control large split buttons +$split-button-padding-lrg: $button-lrg * 6 !default; +$split-button-span-width-lrg: $button-lrg * 3.75 !default; +$split-button-pip-size-lrg: $button-lrg - emCalc(6px) !default; +$split-button-pip-top-lrg: $button-lrg + emCalc(5px) !default; +$split-button-pip-default-float-lrg: emCalc(-9px) !default; + + +// +// Split Button Mixin +// + +// We use this mixin to create split buttons that build upon the button mixins +@mixin split-button($padding:medium, $pip-color:$split-button-pip-color, $span-border:$primary-color, $base-style:true) { + + // With this, we can control whether or not the base styles come through. + @if $base-style { + position: relative; + + // Styling for the split arrow clickable area + span { + display: block; + height: 100%; + position: absolute; + #{$opposite-direction}: 0; + top: 0; + border-#{$default-float}: solid 1px; + + // Building the triangle pip indicator + &:before { + position: absolute; + content: ""; + width: 0; + height: 0; + display: block; + border-style: solid; + + #{$default-float}: 50%; + } + + &:active { background-color: $split-button-active-bg-tint; } + } + } + + // Control the border color for the span area of the split button + @if $span-border { + span { border-#{$default-float}-color: darken($span-border, $split-button-function-factor); } + } + + // Style of the button and clickable area for tiny sizes + @if $padding == tiny { + padding-#{$opposite-direction}: $split-button-padding-tny; + + span { width: $split-button-span-width-tny; + &:before { + border-width: $split-button-pip-size-tny; + top: $split-button-pip-top-tny; + margin-#{$default-float}: $split-button-pip-default-float-tny; + } + } + } + + // Style of the button and clickable area for small sizes + @else if $padding == small { + padding-#{$opposite-direction}: $split-button-padding-sml; + + span { width: $split-button-span-width-sml; + &:before { + border-width: $split-button-pip-size-sml; + top: $split-button-pip-top-sml; + margin-#{$default-float}: $split-button-pip-default-float-sml; + } + } + } + + // Style of the button and clickable area for default (medium) sizes + @else if $padding == medium { + padding-#{$opposite-direction}: $split-button-padding-med; + + span { width: $split-button-span-width-med; + &:before { + border-width: $split-button-pip-size-med; + top: $split-button-pip-top-med; + margin-#{$default-float}: $split-button-pip-default-float-med; + } + } + } + + // Style of the button and clickable area for large sizes + @else if $padding == large { + padding-#{$opposite-direction}: $split-button-padding-lrg; + + span { width: $split-button-span-width-lrg; + &:before { + border-width: $split-button-pip-size-lrg; + top: $split-button-pip-top-lrg; + margin-#{$default-float}: $split-button-pip-default-float-lrg; + } + } + } + + // Control the color of the triangle pip + @if $pip-color { + span:before { border-color: $pip-color transparent transparent transparent; } + } +} + + +@if $include-html-button-classes { + + /* Split Buttons */ + .split.button { @include split-button; + + &.secondary { @include split-button(false, $split-button-pip-color, $secondary-color, false); } + &.alert { @include split-button(false, false, $alert-color, false); } + &.success { @include split-button(false, false, $success-color, false); } + + &.tiny { @include split-button(tiny, false, false, false); } + &.small { @include split-button(small, false, false, false); } + &.large { @include split-button(large, false, false, false); } + + &.secondary { @include split-button(false, $split-button-pip-color-alt, false, false); } + + &.radius span { @include side-radius($opposite-direction, $global-radius); } + &.round span { @include side-radius($opposite-direction, 1000px); } + } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_sub-nav.scss b/content/css/zurb-foundation/foundation/components/_sub-nav.scss new file mode 100644 index 0000000..bc45827 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_sub-nav.scss @@ -0,0 +1,67 @@ +// +// Sub Nav Variables +// + +// We use these to control margin and padding +$sub-nav-list-margin: emCalc(-4px) 0 emCalc(18px) !default; +$sub-nav-list-padding-top: emCalc(4px) !default; + +// We use this to control the definition +$sub-nav-font-size: emCalc(14px) !default; +$sub-nav-font-color: #999 !default; +$sub-nav-font-weight: normal !default; +$sub-nav-text-decoration: none !default; +$sub-nav-border-radius: 1000px !default; + +// We use these to control the active item styles +$sub-nav-active-font-weight: bold !default; +$sub-nav-active-bg: $primary-color !default; +$sub-nav-active-color: #fff !default; +$sub-nav-active-padding: emCalc(3px) emCalc(9px) !default; +$sub-nav-active-cursor: default !default; + +// +// Sub Nav Mixins +// + +@mixin sub-nav($font-color:$sub-nav-font-color, $font-size:$sub-nav-font-size, $active-bg:$sub-nav-active-bg) { + display: block; + width: auto; + overflow: hidden; + margin: $sub-nav-list-margin; + padding-top: $sub-nav-list-padding-top; + margin-#{$opposite-direction}: 0; + margin-#{$default-float}: emCalc(-9px); + + dt, + dd { + float: $default-float; + display: inline; + margin-#{$default-float}: emCalc(9px); + margin-bottom: emCalc(10px); + font-weight: $sub-nav-font-weight; + font-size: $font-size; + + a { + color: $font-color; + text-decoration: $sub-nav-text-decoration; } + + &.active a { + @include radius($sub-nav-border-radius); + font-weight: $sub-nav-active-font-weight; + background: $active-bg; + padding: $sub-nav-active-padding; + cursor: $sub-nav-active-cursor; + color: $sub-nav-active-color; + } + } + +} + + +@if $include-html-nav-classes { + + /* Side Nav */ + .sub-nav { @include sub-nav; } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_switch.scss b/content/css/zurb-foundation/foundation/components/_switch.scss new file mode 100644 index 0000000..054fb89 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_switch.scss @@ -0,0 +1,249 @@ +// +// Switch Variables +// + +// Controlling border styles and background colors for the switch container +$switch-border-color: darken(#fff, 20%) !default; +$switch-border-style: solid !default; +$switch-border-width: 1px !default; +$switch-bg: #fff !default; + +// We use these to control the switch heights for our default classes +$switch-height-tny: 22px !default; +$switch-height-sml: 28px !default; +$switch-height-med: 36px !default; +$switch-height-lrg: 44px !default; +$switch-bottom-margin: emCalc(20px) !default; + +// We use these to control default font sizes for our classes. +$switch-font-size-tny: 11px !default; +$switch-font-size-sml: 12px !default; +$switch-font-size-med: 14px !default; +$switch-font-size-lrg: 17px !default; +$switch-label-side-padding: 6px !default; + +// We use these to style the switch-paddle +$switch-paddle-bg: #fff !default; +$switch-paddle-fade-to-color: darken($switch-paddle-bg, 10%) !default; +$switch-paddle-border-color: darken($switch-paddle-bg, 35%) !default; +$switch-paddle-border-width: 1px !default; +$switch-paddle-border-style: solid !default; +$switch-paddle-transition-speed: .1s !default; +$switch-paddle-transition-ease: ease-out !default; +$switch-positive-color: lighten($success-color, 50%) !default; +$switch-negative-color: #f5f5f5 !default; + +// Outline Style for tabbing through switches +$switch-label-outline: 1px dotted #888 !default; + + +// +// Switch Mixins +// + +// We use this mixin to create the base styles for our switch element. +@mixin switch-base($transition-speed:$switch-paddle-transition-speed, $transition-ease:$switch-paddle-transition-ease) { + + // Default position and structure for switch container. + position: relative; + width: 100%; + padding: 0; + display: block; + overflow: hidden; + border-style: $switch-border-style; + border-width: $switch-border-width; + margin-bottom: $switch-bottom-margin; + + // Default label styles for type and transition + label { + position: relative; + #{$default-float}: 0; + z-index: 2; + float: $default-float; + width: 50%; + height: 100%; + margin: 0; + font-weight: bold; + text-align: $default-float; + + // Transition for the switch label to follow paddle + @include single-transition(all, $transition-speed, $transition-ease); + } + + // So that we don't need to recreate the form with any JS, we use the + // existing radio button, but we cleverly position and hide it. + input { + position: absolute; + z-index: 3; + opacity: 0; + width: 100%; + height: 100%; + + // Hover and focus styles for the paddle + &:hover, + &:focus { + cursor: pointer; + } + } + + // The toggle area for radio switches. We call is a paddle. + & > span { + position: absolute; + top: -1px; + #{$default-float}: -1px; + z-index: 1; + display: block; + padding: 0; + border-width: $switch-paddle-border-width; + border-style: $switch-paddle-border-style; + + // Transition for the switch paddle + @include single-transition(all, $transition-speed, $transition-ease); + } + + // When a label isn't :checked, we hide it as it slides away. + input:not(:checked) + label { opacity: 0; } + + // Controlling the position of the labels as they are toggled. + input:checked { display: none !important; } + input { #{$default-float}: 0; display: block !important; } + + // Left Label alignment and position changes, including fixes for while inside a custom form + input:first-of-type + label, + input:first-of-type + span + label { #{$default-float}: -50%; } + input:first-of-type:checked + label, + input:first-of-type:checked + span + label { #{$default-float}: 0%; } + + // Right Label alignment and position changes, including fixes for while inside a custom form + input:last-of-type + label, + input:last-of-type + span + label {#{$opposite-direction}: -50%; #{$default-float}: auto; text-align: $opposite-direction; } + input:last-of-type:checked + label, + input:last-of-type:checked + span + label { #{$opposite-direction}: 0%; #{$default-float}: auto; } + + // Hiding custom form spans since we auto-create them + span.custom { display: none !important; } + + // Bugfix for older Webkit, including mobile Webkit. Adapted from: + // http://css-tricks.com/webkit-sibling-bug/ + -webkit-animation: webkitSiblingBugfix infinite 1s; + +} + +// We use this mixin to create the size styles for switches. +@mixin switch-size($height:$switch-height-med, $font-size:$switch-font-size-med, $line-height:2.3em) { + + height: $height; + + label { + padding: 0 emCalc($switch-label-side-padding); + line-height: $line-height; + font-size: emCalc($font-size); + } + + input { + // Move the paddle to the right position + &:first-of-type:checked ~ span { + #{$default-float}: 100%; + margin-#{$default-float}: emCalc(-$height + 1px); + } + } + + & > span { + width: emCalc($height); + height: emCalc($height); + } + +} + +// We use this mixin to add color and other fanciness to the switches. +@mixin switch-style($paddle-bg:$switch-paddle-bg, $positive-color:$switch-positive-color, $negative-color:$switch-negative-color, $radius:false, $base-style:true) { + + @if $base-style { + background: $switch-bg; + border-color: $switch-border-color; + + & > span { + border-color: darken($paddle-bg, 30%); + background: $paddle-bg; + background: -moz-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 5%) 100%); + background: -webkit-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 5%) 100%); + background: linear-gradient(to bottom, $paddle-bg 0%, darken($paddle-bg, 5%) 100%); + + // Building the alternating colored sides of the switch + -webkit-box-shadow: 2px 0 10px 0 rgba(0,0,0,0.07), + 1000px 0 0 1000px $positive-color, + -2px 0 10px 0 rgba(0,0,0,0.07), + -1000px 0 0 1000px $negative-color; + box-shadow: 2px 0 10px 0 rgba(0,0,0,0.07), + 1000px 0 0 980px $positive-color, + -2px 0 10px 0 rgba(0,0,0,0.07), + -1000px 0 0 1000px $negative-color; + } + + &:hover, + &:focus { + & > span { + background: $paddle-bg; + background: -moz-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 10%) 100%); + background: -webkit-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 10%) 100%); + background: linear-gradient(to bottom, $paddle-bg 0%, darken($paddle-bg, 10%) 100%); + } + } + + &:active { background: transparent; } + } + + // Setting up the radius for switches + @if $radius == true { + @include radius(4px); + & > span { @include radius(3px); } + } + @else if $radius { + @include radius($radius); + & > span { @include radius($radius - 1px); } + } + +} + +// We use this to quickly create switches with a single mixin +@mixin switch($transition-speed:$switch-paddle-transition-speed, $transition-ease:$switch-paddle-transition-ease, $height:$switch-height-med, $font-size:$switch-font-size-med, $line-height:2.3em, $paddle-bg:$switch-paddle-bg, $positive-color:$switch-positive-color, $negative-color:$switch-negative-color, $radius:false, $base-style:true) { + @include switch-base($transition-speed, $transition-ease); + @include switch-size($height, $font-size, $line-height); + @include switch-style($paddle-bg, $positive-color, $negative-color, $radius, $base-style); +} + +@if $include-html-button-classes { + + /* Foundation Switches */ + @media only screen { + + // Containing element for the radio switch + div.switch { + @include switch; + + // Large radio switches + &.large { @include switch-size($switch-height-lrg, $switch-font-size-lrg); } + + // Small radio switches + &.small { @include switch-size($switch-height-sml, $switch-font-size-sml, 2.1em); } + + // Tiny radio switches + &.tiny { @include switch-size($switch-height-tny, $switch-font-size-tny, 1.9em); } + + // Add a radius to the switch + &.radius { @include radius(4px); + & > span { @include radius(3px); } + } + + // Make the switch completely round, like a pill + &.round { @include radius(1000px); + & > span { @include radius(999px); } + label { padding: 0 emCalc($switch-label-side-padding + 3px); } + } + + } + + @-webkit-keyframes webkitSiblingBugfix { from { position: relative; } to { position: relative; } } + + } +} diff --git a/content/css/zurb-foundation/foundation/components/_tables.scss b/content/css/zurb-foundation/foundation/components/_tables.scss new file mode 100644 index 0000000..cd5df3a --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_tables.scss @@ -0,0 +1,80 @@ +// +// Table Variables +// + +// These control the background color for the table and even rows +$table-bg: #fff !default; +$table-even-row-bg: #f9f9f9 !default; + +// These control the table cell border style +$table-border-style: solid !default; +$table-border-size: 1px !default; +$table-border-color: #ddd !default; + +// These control the table head styles +$table-head-bg: #f5f5f5 !default; +$table-head-font-size: emCalc(14px) !default; +$table-head-font-color: #222 !default; +$table-head-font-weight: bold !default; +$table-head-padding: emCalc(8px) emCalc(10px) emCalc(10px) !default; + +// These control the row padding and font styles +$table-row-padding: emCalc(9px) emCalc(10px) !default; +$table-row-font-size: emCalc(14px) !default; +$table-row-font-color: #222 !default; +$table-line-height: emCalc(18px) !default; + +// These are for controlling the display and margin of tables +$table-display: table-cell !default; +$table-margin-bottom: emCalc(20px) !default; + + +// +// Table Mixin +// +@mixin table { + background: $table-bg; + margin-bottom: $table-margin-bottom; + border: $table-border-style $table-border-size $table-border-color; + + thead, + tfoot { + background: $table-head-bg; + font-weight: $table-head-font-weight; + + tr { + th, + td { + padding: $table-head-padding; + font-size: $table-head-font-size; + color: $table-head-font-color; + text-align: $default-float; + } + } + } + + tr { + th, + td { + padding: $table-row-padding; + font-size: $table-row-font-size; + color: $table-row-font-color; + } + + &.even, + &.alt, + &:nth-of-type(even) { background: $table-even-row-bg; } + } + + thead tr th, + tfoot tr th, + tbody tr td, + tr td, + tfoot tr td { display: $table-display; line-height: $table-line-height; } +} + + +/* Tables */ +table { + @include table; +} \ No newline at end of file diff --git a/content/css/zurb-foundation/foundation/components/_thumbs.scss b/content/css/zurb-foundation/foundation/components/_thumbs.scss new file mode 100644 index 0000000..8087a62 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_thumbs.scss @@ -0,0 +1,45 @@ +// +// Image Thumbnail Variables +// + +// We use these to control border styles +$thumb-border-style: solid !default; +$thumb-border-width: 4px !default; +$thumb-border-color: #fff !default; +$thumb-box-shadow: 0 0 0 1px rgba(#000,.2) !default; +$thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5) !default; + +// Radius and transition speed for thumbs +$thumb-radius: $global-radius !default; +$thumb-transition-speed: 200ms !default; + +// +// Image Thumbnail Mixins +// + +// We use this to create image thumbnail styles. +@mixin thumb($border-width:$thumb-border-width, $box-shadow:$thumb-box-shadow, $box-shadow-hover:$thumb-box-shadow-hover) { + display: inline-block; + border: $thumb-border-style $border-width $thumb-border-color; + -webkit-box-shadow: $box-shadow; + box-shadow: $box-shadow; + + &:hover, + &:focus { -webkit-box-shadow: $box-shadow-hover; box-shadow: $box-shadow-hover; } +} + + +// If html classes are turned on we'll include these classes. +@if $include-html-media-classes { + + /* Image Thumbnails */ + .th { + @include thumb; + @include single-transition(all,$thumb-transition-speed,ease-out); + + &.radius { @include radius($thumb-radius); } + } + +} + + diff --git a/content/css/zurb-foundation/foundation/components/_tooltips.scss b/content/css/zurb-foundation/foundation/components/_tooltips.scss new file mode 100644 index 0000000..c61ec08 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_tooltips.scss @@ -0,0 +1,113 @@ +// +// Tooltip Variables +// +$has-tip-border-bottom: dotted 1px #ccc !default; +$has-tip-font-weight: bold !default; +$has-tip-font-color: #333 !default; +$has-tip-border-bottom-hover: dotted 1px darken($primary-color, 20%) !default; +$has-tip-font-color-hover: $primary-color !default; +$has-tip-cursor-type: help !default; + +$tooltip-padding: emCalc(8px) !default; +$tooltip-bg: #000 !default; +$tooltip-font-size: emCalc(15px) !default; +$tooltip-font-weight: bold !default; +$tooltip-font-color: #fff !default; +$tooltip-line-height: 1.3 !default; +$tooltip-close-font-size: emCalc(10px) !default; +$tooltip-close-font-weight: normal !default; +$tooltip-close-font-color: #888 !default; +$tooltip-font-size-sml: emCalc(14px) !default; +$tooltip-radius: $global-radius !default; +$tooltip-pip-size: 5px !default; + + +/* Tooltips */ + +.has-tip { + border-bottom: $has-tip-border-bottom; + cursor: $has-tip-cursor-type; + font-weight: $has-tip-font-weight; + color: $has-tip-font-color; + + &:hover, + &:focus { + border-bottom: $has-tip-border-bottom-hover; + color: $has-tip-font-color-hover; + } + + &.tip-left, + &.tip-right { float: none !important; } +} + +.tooltip { + display: none; + position: absolute; + z-index: 999; + font-weight: $tooltip-font-weight; + font-size: $tooltip-font-size; + line-height: $tooltip-line-height; + padding: $tooltip-padding; + max-width: 85%; + #{$default-float}: 50%; + width: 100%; + color: $tooltip-font-color; + background: $tooltip-bg; + @include radius($tooltip-radius); + + &>.nub { + display: block; + #{$default-float}: $tooltip-pip-size; + position: absolute; + width: 0; + height: 0; + border: solid $tooltip-pip-size; + border-color: transparent transparent $tooltip-bg transparent; + top: -($tooltip-pip-size * 2); + } + + &.opened { + color: $has-tip-font-color-hover !important; + border-bottom: $has-tip-border-bottom-hover !important; + } +} + +.tap-to-close { + display: block; + font-size: $tooltip-close-font-size; + color: $tooltip-close-font-color; + font-weight: $tooltip-close-font-weight; +} + +@media #{$small} { + .tooltip { + &>.nub { + border-color: transparent transparent $tooltip-bg transparent; + top: -($tooltip-pip-size * 2); + } + &.tip-top>.nub { + border-color: $tooltip-bg transparent transparent transparent; + top: auto; + bottom: -($tooltip-pip-size * 2); + } + + &.tip-left, + &.tip-right { float: none !important; } + + &.tip-left>.nub { + border-color: transparent transparent transparent $tooltip-bg; + right: -($tooltip-pip-size * 2); + left: auto; + top: 50%; + margin-top: -$tooltip-pip-size; + } + &.tip-right>.nub { + border-color: transparent $tooltip-bg transparent transparent; + right: auto; + left: -($tooltip-pip-size * 2); + top: 50%; + margin-top: -$tooltip-pip-size; + } + + } +} diff --git a/content/css/zurb-foundation/foundation/components/_top-bar.scss b/content/css/zurb-foundation/foundation/components/_top-bar.scss new file mode 100644 index 0000000..d77efe2 --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_top-bar.scss @@ -0,0 +1,459 @@ +// +// Top Bar Variables +// + +// Background color for the top bar +$topbar-bg: #111 !default; + +// Height and margin +$topbar-height: 45px !default; +$topbar-margin-bottom: emCalc(30px) !default; + +// Control Input height for top bar +$topbar-input-height: 2.45em !default; + +// Controlling the styles for the title in the top bar +$topbar-title-weight: bold !default; +$topbar-title-font-size: emCalc(17px) !default; + +// Set the link colors and styles for top-level nav +$topbar-link-color: #fff !default; +$topbar-link-weight: bold !default; +$topbar-link-font-size: emCalc(13px) !default; + +// Style the top bar dropdown elements +$topbar-dropdown-bg: #333 !default; +$topbar-dropdown-link-color: #fff !default; +$topbar-dropdown-toggle-size: 5px !default; +$topbar-dropdown-toggle-color: #fff !default; +$topbar-dropdown-toggle-alpha: 0.5 !default; +$dropdown-label-color: #555 !default; + +// Top menu icon styles +$topbar-menu-link-transform: uppercase !default; +$topbar-menu-link-font-size: emCalc(13px) !default; +$topbar-menu-link-weight: bold !default; +$topbar-menu-link-color: #fff !default; +$topbar-menu-icon-color: #fff !default; +$topbar-menu-link-color-toggled: #888 !default; +$topbar-menu-icon-color-toggled: #888 !default; + +// Transitions and breakpoint styles +$topbar-transition-speed: 300ms !default; +$topbar-breakpoint: emCalc(940px) !default; // Change to 9999px for always mobile layout +$topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !default; + + +/* Wrapped around .top-bar to contain to grid width */ +.contain-to-grid { + width: 100%; + background: $topbar-bg; +} + +// Wrapped around .top-bar to make it fixed at the top +.fixed { + width: 100%; + #{$default-float}: 0; + position: fixed; + top: 0; + z-index: 99; +} + +.top-bar { + overflow: hidden; + height: $topbar-height; + line-height: $topbar-height; + position: relative; + background: $topbar-bg; + margin-bottom: $topbar-margin-bottom; + + // Topbar Global list Styles + ul { + margin-bottom: 0; + list-style: none; + } + + .row { max-width: none; } + + form, + input { margin-bottom: 0; } + + input { height: $topbar-input-height; } + + .button { padding-top: .5em; padding-bottom: .5em; margin-bottom: 0; } + + // Title Area + .title-area { position: relative; } + + .name { + height: $topbar-height; + margin: 0; + font-size: $em-base; + + h1 { + line-height: $topbar-height; + font-size: $topbar-title-font-size; + margin: 0; + a { + font-weight: $topbar-title-weight; + color: $topbar-link-color; + width: 50%; + display: block; + padding: 0 $topbar-height / 3; + } + } + } + + // Menu toggle button on small devices + .toggle-topbar { + position: absolute; + #{$opposite-direction}: 0; + top: 0; + + a { + color: $topbar-link-color; + text-transform: $topbar-menu-link-transform; + font-size: $topbar-menu-link-font-size; + font-weight: $topbar-menu-link-weight; + position: relative; + display: block; + padding: 0 $topbar-height / 3; + height: $topbar-height; + line-height: $topbar-height; + } + + // Adding the class "menu-icon" will add the 3-line icon people love and adore. + &.menu-icon { + #{$opposite-direction}: $topbar-height / 3; + top: 50%; + margin-top: -16px; + padding-#{$default-float}: 40px; + + a { + text-indent: -48px; + width: 34px; + height: 34px; + line-height: 33px; + padding: 0; + color: $topbar-menu-link-color; + + span { + position: absolute; + #{$opposite-direction}: 0; + display: block; + width: 16px; + height: 0; + // Shh, don't tell, but box-shadows create the menu icon :) + -webkit-box-shadow: 0 10px 0 1px $topbar-menu-icon-color, + 0 16px 0 1px $topbar-menu-icon-color, + 0 22px 0 1px $topbar-menu-icon-color; + + box-shadow: 0 10px 0 1px $topbar-menu-icon-color, + 0 16px 0 1px $topbar-menu-icon-color, + 0 22px 0 1px $topbar-menu-icon-color; + } + } + } + } + + // Change things up when the top-bar is expanded + &.expanded { + height: auto; + background: transparent; + + .title-area { background: $topbar-bg; } + + .toggle-topbar { + a { color: $topbar-menu-link-color-toggled; + span { + // Shh, don't tell, but box-shadows create the menu icon :) + -webkit-box-shadow: 0 10px 0 1px $topbar-menu-icon-color-toggled, + 0 16px 0 1px $topbar-menu-icon-color-toggled, + 0 22px 0 1px $topbar-menu-icon-color-toggled; + + box-shadow: 0 10px 0 1px $topbar-menu-icon-color-toggled, + 0 16px 0 1px $topbar-menu-icon-color-toggled, + 0 22px 0 1px $topbar-menu-icon-color-toggled; + } + } + } + } + +} + +// Right and Left Navigation that stacked by default +.top-bar-section { + #{$default-float}: 0; + position: relative; + width: auto; + @include single-transition($default-float, $topbar-transition-speed); + + ul { + width: 100%; + height: auto; + display: block; + background: $topbar-dropdown-bg; + font-size: $em-base; + margin: 0; + } + + .divider { + border-bottom: solid 1px lighten($topbar-dropdown-bg, 10%); + border-top: solid 1px darken($topbar-dropdown-bg, 10%); + clear: both; + height: 1px; + width: 100%; + } + + ul li { + & > a { + display: block; + width: 100%; + color: $topbar-link-color; + padding: 12px 0 12px 0; + padding-#{$default-float}: $topbar-height / 3; + font-size: $topbar-link-font-size; + font-weight: $topbar-link-weight; + background: $topbar-dropdown-bg; + height: $topbar-height; + + &:hover { background: darken($topbar-dropdown-bg, 3%); } + + + &.button { + background: $primary-color; + font-size: $topbar-link-font-size; + &:hover { + background: darken($primary-color, 10%); + } + } + &.button.secondary { + background: $secondary-color; + &:hover { + background: darken($secondary-color, 10%); + } + } + &.button.success { + background: $success-color; + &:hover { + background: darken($success-color, 10%); + } + } + &.button.alert { + background: $alert-color; + &:hover { + background: darken($alert-color, 10%); + } + } + + } + + // Apply the active link color when it has that class + &.active > a { background: darken($topbar-dropdown-bg, 3%); } + } + + // Add some extra padding for list items contains buttons + .has-form { padding: $topbar-height / 3; } + + // Styling for list items that have a dropdown within them. + .has-dropdown { + position: relative; + + & > a { + &:after { + @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), $default-float); + margin-#{$opposite-direction}: $topbar-height / 3; + margin-top: -($topbar-dropdown-toggle-size / 2) - 2; + position: absolute; + top: 22px; + #{$opposite-direction}: 0; + } + } + + &.moved { position: static; + & > .dropdown { + visibility: visible; + } + } + } + + // Styling elements inside of dropdowns + .dropdown { + position: absolute; + #{$default-float}: 100%; + top: 0; + visibility: hidden; + z-index: 99; + + li { width: 100%; + a { + font-weight: normal; + padding: 8px $topbar-height / 3; + } + + &.title h5 { margin-bottom: 0; + a { + color: $topbar-link-color; + line-height: $topbar-height / 2; + display: block; + } + } + } + + label { + padding: 8px $topbar-height / 3 2px; + margin-bottom: 0; + text-transform: uppercase; + color: $dropdown-label-color; + font-weight: bold; + font-size: emCalc(10px); + } + } +} + +// Element that controls breakpoint, no need to change this ever +.top-bar-js-breakpoint { + width: $topbar-breakpoint !important; + visibility: hidden; +} +.js-generated { display: block; } + + +// Top Bar styles intended for screen sizes above the breakpoint. +@media #{$topbar-media-query} { + .top-bar { background: $topbar-bg; @include clearfix; overflow: visible; + .toggle-topbar { display: none; } + + .title-area { float: $default-float; } + .name h1 a { width: auto; } + + input, + .button { + line-height: 2em; + font-size: emCalc(14px); + height: 2em; + padding: 0 10px; + position: relative; + top: 8px; + } + + &.expanded { background: $topbar-bg; } + } + + .contain-to-grid .top-bar { max-width: $row-width; margin: 0 auto; } + + .top-bar-section { + @include single-transition(none,0,0); + #{$default-float}: 0 !important; + + ul { + width: auto; + height: auto !important; + display: inline; + + li { + float: $default-float; + .js-generated { display: none; } + } + } + + li { + a:not(.button) { + padding: 0 $topbar-height / 3; + line-height: $topbar-height; + background: $topbar-bg; + &:hover { background: darken($topbar-dropdown-bg, 30%); } + } + } + + .has-dropdown { + & > a { + padding-#{$opposite-direction}: $topbar-dropdown-toggle-size * 7 !important; + + &:after { + @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), top); + margin-top: -($topbar-dropdown-toggle-size / 2); + } + } + + &.moved { position: relative; + & > .dropdown { visibility: hidden; } + } + + &:hover, + &:active { + & > .dropdown { + visibility: visible; + } + } + + .dropdown li.has-dropdown { + & > a { + &:after { + border: none; + content: "\00bb"; + margin-top: -7px; + #{$opposite-direction}: 5px; + } + } + } + + } + + .dropdown { + #{$default-float}: 0; + top: auto; + background: transparent; + min-width: 100%; + + li { + a { + color: $topbar-dropdown-link-color; + line-height: 1; + white-space: nowrap; + padding: 7px $topbar-height / 3; + background: lighten($topbar-bg, 5%); + } + + label { + white-space: nowrap; + background: lighten($topbar-bg, 5%); + } + + // Second Level Dropdowns + .dropdown { + #{$default-float}: 100%; + top: 0; + } + } + } + + & > ul > .divider { + border-bottom: none; + border-top: none; + border-#{$opposite-direction}: solid 1px lighten($topbar-bg, 10%); + border-#{$default-float}: solid 1px darken($topbar-bg, 10%); + clear: none; + height: $topbar-height; + width: 0px; + } + + .has-form { + background: $topbar-bg; + padding: 0 $topbar-height / 3; + height: $topbar-height; + } + + // Position overrides for ul.right + ul.right { + li .dropdown { + left: auto; + right: 0; + + li .dropdown { right: 100%; } + } + } + + } + +} diff --git a/content/css/zurb-foundation/foundation/components/_type.scss b/content/css/zurb-foundation/foundation/components/_type.scss new file mode 100644 index 0000000..1d9436d --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_type.scss @@ -0,0 +1,422 @@ +// +// Typography Variables +// + +// We use these to control header font styles +$header-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !default; +$header-font-weight: bold !default; +$header-font-style: normal !default; +$header-font-color: #222 !default; +$header-line-height: 1.4 !default; +$header-top-margin: .2em !default; +$header-bottom-margin: .5em !default; +$header-text-rendering: optimizeLegibility !default; + +// We use these to control header font sizes +$h1-font-size: emCalc(44px) !default; +$h2-font-size: emCalc(37px) !default; +$h3-font-size: emCalc(27px) !default; +$h4-font-size: emCalc(23px) !default; +$h5-font-size: emCalc(18px) !default; +$h6-font-size: 1em !default; + +// These control how subheaders are styled. +$subheader-line-height: 1.4 !default; +$subheader-font-color: lighten($header-font-color, 30%) !default; +$subheader-font-weight: 300 !default; +$subheader-top-margin: .2em !default; +$subheader-bottom-margin: .5em !default; + +// A general styling +$small-font-size: 60% !default; +$small-font-color: lighten($header-font-color, 30%) !default; + +// We use these to style paragraphs +$paragraph-font-family: inherit !default; +$paragraph-font-weight: normal !default; +$paragraph-font-size: 1em !default; +$paragraph-line-height: 1.6 !default; +$paragraph-margin-bottom: emCalc(20px) !default; +$paragraph-aside-font-size: emCalc(14px) !default; +$paragraph-aside-line-height: 1.35 !default; +$paragraph-aside-font-style: italic !default; +$paragraph-text-rendering: optimizeLegibility !default; + +// We use these to style tags +$code-color: darken($alert-color, 15%) !default; +$code-font-family: Consolas, 'Liberation Mono', Courier, monospace !default; +$code-font-weight: bold !default; + +// We use these to style anchors +$anchor-text-decoration: none !default; +$anchor-font-color: $primary-color !default; +$anchor-font-color-hover: darken($primary-color, 5%) !default; + +// We use these to style the element +$hr-border-width: 1px !default; +$hr-border-style: solid !default; +$hr-border-color: #ddd !default; +$hr-margin: emCalc(20px) !default; + +// We use these to style lists +$list-style-position: outside !default; +$list-side-margin: emCalc(20px) !default; +$definition-list-header-weight: bold !default; +$definition-list-header-margin-bottom: .3em !default; +$definition-list-margin-bottom: emCalc(12px) !default; + +// We use these to style blockquotes +$blockquote-font-color: lighten($header-font-color, 30%) !default; +$blockquote-padding: emCalc(9px) emCalc(20px) 0 emCalc(19px) !default; +$blockquote-border: 1px solid #ddd !default; +$blockquote-cite-font-size: emCalc(13px) !default; +$blockquote-cite-font-color: lighten($header-font-color, 20%) !default; +$blockquote-cite-link-color: $blockquote-cite-font-color !default; + +// Acronym styles +$acronym-underline: 1px dotted #ddd !default; + +// We use these to control padding and margin +$microformat-padding: emCalc(10px) emCalc(12px) !default; +$microformat-margin: 0 0 emCalc(20px) 0 !default; + +// We use these to control the border styles +$microformat-border-width: 1px !default; +$microformat-border-style: solid !default; +$microformat-border-color: #ddd !default; + +// We use these to control full name font styles +$microformat-fullname-font-weight: bold !default; +$microformat-fullname-font-size: emCalc(15px) !default; + +// We use this to control the summary font styles +$microformat-summary-font-weight: bold !default; + +// We use this to control abbr padding +$microformat-abbr-padding: 0 emCalc(1px) !default; + +// We use this to control abbr font styles +$microformat-abbr-font-weight: bold !default; +$microformat-abbr-font-decoration: none !default; + + +// +// Typography Placeholders +// +%lead { + font-size: $paragraph-font-size + emCalc(3.5px); + line-height: 1.6; +} + +%subheader { + line-height: $subheader-line-height; + color: $subheader-font-color; + font-weight: $subheader-font-weight; + margin-top: $subheader-top-margin; + margin-bottom: $subheader-bottom-margin; +} + + +/* Typography resets */ +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +pre, +form, +p, +blockquote, +th, +td { + margin:0; + padding:0; + direction: $text-direction; +} + +/* Default Link Styles */ +a { + color: $anchor-font-color; + text-decoration: $anchor-text-decoration; + line-height: inherit; + + &:hover, + &:focus { color: $anchor-font-color-hover; } + + img { border:none; } +} + +/* Default paragraph styles */ +p { + font-family: $paragraph-font-family; + font-weight: $paragraph-font-weight; + font-size: $paragraph-font-size; + line-height: $paragraph-line-height; + margin-bottom: $paragraph-margin-bottom; + text-rendering: $paragraph-text-rendering; + + &.lead { @extend %lead; } + + & aside { + font-size: $paragraph-aside-font-size; + line-height: $paragraph-aside-line-height; + font-style: $paragraph-aside-font-style; + } +} + +/* Default header styles */ +h1, h2, h3, h4, h5, h6 { + font-family: $header-font-family; + font-weight: $header-font-weight; + font-style: $header-font-style; + color: $header-font-color; + text-rendering: $header-text-rendering; + margin-top: $header-top-margin; + margin-bottom: $header-bottom-margin; + line-height: $header-line-height - emCalc(3px); + + small { + font-size: $small-font-size; + color: $small-font-color; + line-height: 0; + } +} + +h1 { font-size: $h1-font-size - emCalc(10px); } +h2 { font-size: $h2-font-size - emCalc(10px); } +h3 { font-size: $h3-font-size - emCalc(5px); } +h4 { font-size: $h4-font-size - emCalc(5px); } +h5 { font-size: $h5-font-size; } +h6 { font-size: $h6-font-size; } + +.subheader { @extend %subheader; } + +hr { + border: $hr-border-style $hr-border-color; + border-width: $hr-border-width 0 0; + clear: both; + margin: $hr-margin 0 ($hr-margin - emCalc(1px)); + height: 0; +} + +/* Helpful Typography Defaults */ +em, +i { + font-style: italic; + line-height: inherit; +} + +strong, +b { + font-weight: bold; + line-height: inherit; +} + +small { + font-size: $small-font-size; + line-height: inherit; +} + +code { + font-family: $code-font-family; + font-weight: $code-font-weight; + color: $code-color; +} + +/* Lists */ +ul, +ol, +dl { + font-size: $paragraph-font-size; + line-height: $paragraph-line-height; + margin-bottom: $paragraph-margin-bottom; + list-style-position: $list-style-position; + font-family: $paragraph-font-family; +} + +/* Unordered Lists */ +ul { + li { + ul, + ol { + margin-#{$default-float}: $list-side-margin; + margin-bottom: 0; + font-size: 1em; /* Override nested font-size change */ + } + } + &.square, + &.circle, + &.disc { + li ul { list-style: inherit; } + } + + &.square { list-style-type: square; } + &.circle { list-style-type: circle; } + &.disc { list-style-type: disc; } + &.no-bullet { list-style: none; } +} + +/* Ordered Lists */ +ol { + li { + ul, + ol { + margin-#{$default-float}: $list-side-margin; + margin-bottom: 0; + } + } +} + +/* Definition Lists */ +dl { + dt { + margin-bottom: $definition-list-header-margin-bottom; + font-weight: $definition-list-header-weight; + } + dd { margin-bottom: $definition-list-margin-bottom; } +} + +/* Abbreviations */ +abbr, +acronym { + text-transform: uppercase; + font-size: 90%; + color: $body-font-color; + border-bottom: $acronym-underline; + cursor: help; +} +abbr { + text-transform: none; +} + +/* Blockquotes */ +blockquote { + margin: 0 0 $paragraph-margin-bottom; + padding: $blockquote-padding; + border-#{$default-float}: $blockquote-border; + + cite { + display: block; + font-size: $blockquote-cite-font-size; + color: $blockquote-cite-font-color; + &:before { + content: "\2014 \0020"; + } + + a, + a:visited { + color: $blockquote-cite-link-color; + } + } +} +blockquote, +blockquote p { + line-height: $paragraph-line-height; + color: $blockquote-font-color; +} + +/* Microformats */ +.vcard { + display: inline-block; + margin: $microformat-margin; + border: $microformat-border-width $microformat-border-style $microformat-border-color; + padding: $microformat-padding; + + li { + margin: 0; + display: block; + } + .fn { + font-weight: $microformat-fullname-font-weight; + font-size: $microformat-fullname-font-size; + } +} + +.vevent { + .summary { font-weight: $microformat-summary-font-weight; } + + abbr { + cursor: default; + text-decoration: $microformat-abbr-font-decoration; + font-weight: $microformat-abbr-font-weight; + border: none; + padding: $microformat-abbr-padding; + } +} + + +@media #{$small} { + h1,h2,h3,h4,h5,h6 { line-height: $header-line-height; } + h1 { font-size: $h1-font-size; } + h2 { font-size: $h2-font-size; } + h3 { font-size: $h3-font-size; } + h4 { font-size: $h4-font-size; } +} + +// Only include these styles if you want them. +@if $include-print-styles { + /* + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) + */ + .print-only { display: none !important; } + @media print { + * { + background: transparent !important; + color: #000 !important; /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { text-decoration: underline;} + a[href]:after { content: " (" attr(href) ")"; } + + abbr[title]:after { content: " (" attr(title) ")"; } + + // Don't show links for images, or javascript/internal links + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { content: ""; } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { display: table-header-group; /* h5bp.com/t */ } + + tr, + img { page-break-inside: avoid; } + + img { max-width: 100% !important; } + + @page { margin: 0.5cm; } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { page-break-after: avoid; } + + .hide-on-print { display: none !important; } + .print-only { display: block !important; } + .hide-for-print { display: none !important; } + .show-for-print { display: inherit !important; } + } +} diff --git a/content/css/zurb-foundation/foundation/components/_visibility.scss b/content/css/zurb-foundation/foundation/components/_visibility.scss new file mode 100644 index 0000000..1fcc26f --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_visibility.scss @@ -0,0 +1,320 @@ +// +// Foundation Visibility Classes +// +@if $include-html-visibility-classes { + + /* Foundation Visibility HTML Classes */ + .show-for-small, + .show-for-medium-down, + .show-for-large-down { display: inherit !important; } + + .show-for-medium, + .show-for-medium-up, + .show-for-large, + .show-for-large-up, + .show-for-xlarge { display: none !important; } + + .hide-for-medium, + .hide-for-medium-up, + .hide-for-large, + .hide-for-large-up, + .hide-for-xlarge { display: inherit !important; } + + .hide-for-small, + .hide-for-medium-down, + .hide-for-large-down { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table; } + } + thead { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-header-group !important; } + } + tbody { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-row-group !important; } + } + tr { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-row !important; } + } + td, + th { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-cell !important; } + } + + /* Medium Displays: 768px - 1279px */ + @media #{$small} { + .show-for-medium, + .show-for-medium-up { display: inherit !important; } + + .show-for-small { display: none !important; } + + .hide-for-small { display: inherit !important; } + + .hide-for-medium, + .hide-for-medium-up { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table; } + } + thead { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-header-group !important; } + } + tbody { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-row-group !important; } + } + tr { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-row !important; } + } + td, + th { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-cell !important; } + } + } + + /* Large Displays: 1280px - 1440px */ + @media #{$medium} { + .show-for-large, + .show-for-large-up { display: inherit !important; } + + .show-for-medium, + .show-for-medium-down { display: none !important; } + + .hide-for-medium, + .hide-for-medium-down { display: inherit !important; } + + .hide-for-large, + .hide-for-large-up { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table; } + } + thead { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-header-group !important; } + } + tbody { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-row-group !important; } + } + tr { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-row !important; } + } + td, + th { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-cell !important; } + } + } + + /* X-Large Displays: 1400px and up */ + @media #{$large} { + .show-for-xlarge { display: inherit !important; } + + .show-for-large, + .show-for-large-down { display: none !important; } + + .hide-for-large, + .hide-for-large-down { display: inherit !important; } + + .hide-for-xlarge { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table; } + } + thead { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-header-group !important; } + } + tbody { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-row-group !important; } + } + tr { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-row !important; } + } + td, + th { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-cell !important; } + } + } + + + /* Orientation targeting */ + .show-for-landscape, + .hide-for-portrait { display: inherit !important; } + .hide-for-landscape, + .show-for-portrait { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.hide-for-landscape, + &.show-for-portrait { display: table; } + } + thead { + &.hide-for-landscape, + &.show-for-portrait { display: table-header-group !important; } + } + tbody { + &.hide-for-landscape, + &.show-for-portrait { display: table-row-group !important; } + } + tr { + &.hide-for-landscape, + &.show-for-portrait { display: table-row !important; } + } + td, + th { + &.hide-for-landscape, + &.show-for-portrait { display: table-cell !important; } + } + + @media #{$landscape} { + .show-for-landscape, + .hide-for-portrait { display: inherit !important; } + .hide-for-landscape, + .show-for-portrait { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-landscape, + &.hide-for-portrait { display: table; } + } + thead { + &.show-for-landscape, + &.hide-for-portrait { display: table-header-group !important; } + } + tbody { + &.show-for-landscape, + &.hide-for-portrait { display: table-row-group !important; } + } + tr { + &.show-for-landscape, + &.hide-for-portrait { display: table-row !important; } + } + td, + th { + &.show-for-landscape, + &.hide-for-portrait { display: table-cell !important; } + } + } + + @media #{$portrait} { + .show-for-portrait, + .hide-for-landscape { display: inherit !important; } + .hide-for-portrait, + .show-for-landscape { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-portrait, + &.hide-for-landscape { display: table; } + } + thead { + &.show-for-portrait, + &.hide-for-landscape { display: table-header-group !important; } + } + tbody { + &.show-for-portrait, + &.hide-for-landscape { display: table-row-group !important; } + } + tr { + &.show-for-portrait, + &.hide-for-landscape { display: table-row !important; } + } + td, + th { + &.show-for-portrait, + &.hide-for-landscape { display: table-cell !important; } + } + } + + /* Touch-enabled device targeting */ + .show-for-touch { display: none !important; } + .hide-for-touch { display: inherit !important; } + .touch .show-for-touch { display: inherit !important; } + .touch .hide-for-touch { display: none !important; } + + /* Specific visilbity for tables */ + table.hide-for-touch { display: table; } + .touch table.show-for-touch { display: table; } + thead.hide-for-touch { display: table-header-group !important; } + .touch thead.show-for-touch { display: table-header-group !important; } + tbody.hide-for-touch { display: table-row-group !important; } + .touch tbody.show-for-touch { display: table-row-group !important; } + tr.hide-for-touch { display: table-row !important; } + .touch tr.show-for-touch { display: table-row !important; } + td.hide-for-touch { display: table-cell !important; } + .touch td.show-for-touch { display: table-cell !important; } + th.hide-for-touch { display: table-cell !important; } + .touch th.show-for-touch { display: table-cell !important; } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/normalize.scss b/content/css/zurb-foundation/normalize.scss new file mode 100644 index 0000000..559de6a --- /dev/null +++ b/content/css/zurb-foundation/normalize.scss @@ -0,0 +1,396 @@ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ + +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined in IE 8/9. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * Correct `inline-block` display not defined in IE 8/9. + */ + +audio, +canvas, +video { + display: inline-block; +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +[hidden] { + display: none; +} + +/* ========================================================================== + Base + ========================================================================== */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* ========================================================================== + Links + ========================================================================== */ + +/** + * Address `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* ========================================================================== + Typography + ========================================================================== */ + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari 5 and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Correct font family set oddly in Safari 5 and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +/** + * Improve readability of pre-formatted text in all browsers. + */ + +pre { + white-space: pre-wrap; +} + +/** + * Set consistent quote types. + */ + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9. + */ + +img { + border: 0; +} + +/** + * Correct overflow displayed oddly in IE 9. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + Figures + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari 5. + */ + +figure { + margin: 0; +} + +/* ========================================================================== + Forms + ========================================================================== */ + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + */ + +button, +input, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/* ========================================================================== + Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/content/fonts/slkscr-webfont-eot.eot b/content/fonts/slkscr-webfont-eot.eot new file mode 100755 index 0000000..b136c7e Binary files /dev/null and b/content/fonts/slkscr-webfont-eot.eot differ diff --git a/content/fonts/slkscr-webfont-svg.svg b/content/fonts/slkscr-webfont-svg.svg new file mode 100755 index 0000000..dd9eeb5 --- /dev/null +++ b/content/fonts/slkscr-webfont-svg.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/fonts/slkscr-webfont-ttf.ttf b/content/fonts/slkscr-webfont-ttf.ttf new file mode 100755 index 0000000..73f2dd3 Binary files /dev/null and b/content/fonts/slkscr-webfont-ttf.ttf differ diff --git a/content/fonts/slkscr-webfont-woff.woff b/content/fonts/slkscr-webfont-woff.woff new file mode 100755 index 0000000..e9214af Binary files /dev/null and b/content/fonts/slkscr-webfont-woff.woff differ diff --git a/content/img/appstore-badge.png b/content/img/appstore-badge.png new file mode 100644 index 0000000..c2c95c5 Binary files /dev/null and b/content/img/appstore-badge.png differ diff --git a/content/img/appstore-badge@2x.png b/content/img/appstore-badge@2x.png new file mode 100644 index 0000000..7b10ef5 Binary files /dev/null and b/content/img/appstore-badge@2x.png differ diff --git a/content/img/closelabel.png b/content/img/closelabel.png new file mode 100644 index 0000000..c339e59 Binary files /dev/null and b/content/img/closelabel.png differ diff --git a/content/img/hero.png b/content/img/hero.png new file mode 100644 index 0000000..b7f03b0 Binary files /dev/null and b/content/img/hero.png differ diff --git a/content/img/hero@2x.png b/content/img/hero@2x.png new file mode 100644 index 0000000..d240de0 Binary files /dev/null and b/content/img/hero@2x.png differ diff --git a/content/img/loading.gif b/content/img/loading.gif new file mode 100755 index 0000000..f864d5f Binary files /dev/null and b/content/img/loading.gif differ diff --git a/content/img/logo-alpha.png b/content/img/logo-alpha.png new file mode 100644 index 0000000..2e73da9 Binary files /dev/null and b/content/img/logo-alpha.png differ diff --git a/content/img/logo-alpha@2x.png b/content/img/logo-alpha@2x.png new file mode 100644 index 0000000..19f19e1 Binary files /dev/null and b/content/img/logo-alpha@2x.png differ diff --git a/content/img/logo.png b/content/img/logo.png new file mode 100644 index 0000000..5d11666 Binary files /dev/null and b/content/img/logo.png differ diff --git a/content/img/logo@2x.png b/content/img/logo@2x.png new file mode 100644 index 0000000..a60e7a5 Binary files /dev/null and b/content/img/logo@2x.png differ diff --git a/content/img/screenshot-binary-deep.png b/content/img/screenshot-binary-deep.png new file mode 100644 index 0000000..6f9cb2c Binary files /dev/null and b/content/img/screenshot-binary-deep.png differ diff --git a/content/img/screenshot-binary-deep@2x.png b/content/img/screenshot-binary-deep@2x.png new file mode 100644 index 0000000..6f9cb2c Binary files /dev/null and b/content/img/screenshot-binary-deep@2x.png differ diff --git a/content/index.haml b/content/index.haml index ce72971..36ac1d8 100644 --- a/content/index.haml +++ b/content/index.haml @@ -1,14 +1,14 @@ --- title: Ariejan's Blog --- -.content_wrap.nobg - %section#middle_content - - #posts +.row + .large-8.push-2.columns + %section#posts - articles_by_year(sorted_articles).each do |year, articles| - %ol.posts - - articles.each do |article| - %li - %span.date= get_short_date(article) - – - = link_to article[:title], article.path, title: article[:title] + %h2.year= year + - articles.each do |article| + .post-listing + %h3.title= link_to article[:title], article.path, title: article[:title] + .summary + %p Written by Ariejan de Vroom on #{get_pretty_date(article)}. + = article[:summary] diff --git a/content/js/_jquery.js b/content/js/_jquery.js deleted file mode 100644 index a39aba7..0000000 --- a/content/js/_jquery.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @package WordPress - * @subpackage Pacifico - * @since Pacifico 1.0 - */ - -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ - - -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;ca",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o=""+""+"",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="t",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"",""],thead:[1,"",""],tr:[2,"",""],td:[3,"",""],col:[2,"",""],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div",""]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>$2>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/'},pp_settings);var matchedObjects=this,percentBased=false,pp_dimensions,pp_open,pp_contentHeight,pp_contentWidth,pp_containerHeight,pp_containerWidth,windowHeight=$(window).height(),windowWidth=$(window).width(),pp_slideshow;doresize=true,scroll_pos=_get_scroll();$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){_center_overlay();_resize_overlay();});if(pp_settings.keyboard_shortcuts){$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){if(typeof $pp_pic_holder!='undefined'){if($pp_pic_holder.is(':visible')){switch(e.keyCode){case 37:$.prettyPhoto.changePage('previous');e.preventDefault();break;case 39:$.prettyPhoto.changePage('next');e.preventDefault();break;case 27:if(!settings.modal) -$.prettyPhoto.close();e.preventDefault();break;};};};});};$.prettyPhoto.initialize=function(){settings=pp_settings;if(settings.theme=='pp_default')settings.horizontal_padding=16;if(settings.ie6_fallback&&$.browser.msie&&parseInt($.browser.version)==6)settings.theme="light_square";theRel=$(this).attr('rel');galleryRegExp=/\[(?:.*)\]/;isSet=(galleryRegExp.exec(theRel))?true:false;pp_images=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return $(n).attr('href');}):$.makeArray($(this).attr('href'));pp_titles=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return($(n).find('img').attr('alt'))?$(n).find('img').attr('alt'):"";}):$.makeArray($(this).find('img').attr('alt'));pp_descriptions=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return($(n).attr('title'))?$(n).attr('title'):"";}):$.makeArray($(this).attr('title'));set_position=jQuery.inArray($(this).attr('href'),pp_images);rel_index=(isSet)?set_position:$("a[rel^='"+theRel+"']").index($(this));_build_overlay(this);if(settings.allow_resize) -$(window).bind('scroll.prettyphoto',function(){_center_overlay();});$.prettyPhoto.open();return false;} -$.prettyPhoto.open=function(event){if(typeof settings=="undefined"){settings=pp_settings;if($.browser.msie&&$.browser.version==6)settings.theme="light_square";pp_images=$.makeArray(arguments[0]);pp_titles=(arguments[1])?$.makeArray(arguments[1]):$.makeArray("");pp_descriptions=(arguments[2])?$.makeArray(arguments[2]):$.makeArray("");isSet=(pp_images.length>1)?true:false;set_position=0;_build_overlay(event.target);} -if($.browser.msie&&$.browser.version==6)$('select').css('visibility','hidden');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden');_checkPosition($(pp_images).size());$('.pp_loaderIcon').show();if($ppt.is(':hidden'))$ppt.css('opacity',0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find('.currentTextHolder').text((set_position+1)+settings.counter_separator_label+$(pp_images).size());if(pp_descriptions[set_position]!=""){$pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position]));}else{$pp_pic_holder.find('.pp_description').hide();} -movie_width=(parseFloat(getParam('width',pp_images[set_position])))?getParam('width',pp_images[set_position]):settings.default_width.toString();movie_height=(parseFloat(getParam('height',pp_images[set_position])))?getParam('height',pp_images[set_position]):settings.default_height.toString();percentBased=false;if(movie_height.indexOf('%')!=-1){movie_height=parseFloat(($(window).height()*parseFloat(movie_height)/100)-150);percentBased=true;} -if(movie_width.indexOf('%')!=-1){movie_width=parseFloat(($(window).width()*parseFloat(movie_width)/100)-150);percentBased=true;} -$pp_pic_holder.fadeIn(function(){(settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined")?$ppt.html(unescape(pp_titles[set_position])):$ppt.html(' ');imgPreloader="";skipInjection=false;switch(_getFileType(pp_images[set_position])){case'image':imgPreloader=new Image();nextImage=new Image();if(isSet&&set_position<$(pp_images).size()-1)nextImage.src=pp_images[set_position+1];prevImage=new Image();if(isSet&&pp_images[set_position-1])prevImage.src=pp_images[set_position-1];$pp_pic_holder.find('#pp_full_res')[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]);imgPreloader.onload=function(){pp_dimensions=_fitToViewport(imgPreloader.width,imgPreloader.height);_showContent();};imgPreloader.onerror=function(){alert('Image cannot be loaded. Make sure the path is correct and image exist.');$.prettyPhoto.close();};imgPreloader.src=pp_images[set_position];break;case'youtube':pp_dimensions=_fitToViewport(movie_width,movie_height);movie='http://www.youtube.com/embed/'+getParam('v',pp_images[set_position]);(getParam('rel',pp_images[set_position]))?movie+="?rel="+getParam('rel',pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case'vimeo':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=pp_images[set_position];var regExp=/http:\/\/(www\.)?vimeo.com\/(\d+)/;var match=movie_id.match(regExp);movie='http://player.vimeo.com/video/'+match[2]+'?title=0&byline=0&portrait=0';if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=pp_dimensions['width']+'/embed/?moog_width='+pp_dimensions['width'];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie);break;case'quicktime':pp_dimensions=_fitToViewport(movie_width,movie_height);pp_dimensions['height']+=15;pp_dimensions['contentHeight']+=15;pp_dimensions['containerHeight']+=15;toInject=settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case'flash':pp_dimensions=_fitToViewport(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf('flashvars')+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf('?'));toInject=settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars);break;case'iframe':pp_dimensions=_fitToViewport(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf('iframe')-1);toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url);break;case'ajax':doresize=false;pp_dimensions=_fitToViewport(movie_width,movie_height);doresize=true;skipInjection=true;$.get(pp_images[set_position],function(responseHTML){toInject=settings.inline_markup.replace(/{content}/g,responseHTML);$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();});break;case'custom':pp_dimensions=_fitToViewport(movie_width,movie_height);toInject=settings.custom_markup;break;case'inline':myClone=$(pp_images[set_position]).clone().append('').css({'width':settings.default_width}).wrapInner('').appendTo($('body')).show();doresize=false;pp_dimensions=_fitToViewport($(myClone).width(),$(myClone).height());doresize=true;$(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html());break;};if(!imgPreloader&&!skipInjection){$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();};});return false;};$.prettyPhoto.changePage=function(direction){currentGalleryPage=0;if(direction=='previous'){set_position--;if(set_position<0)set_position=$(pp_images).size()-1;}else if(direction=='next'){set_position++;if(set_position>$(pp_images).size()-1)set_position=0;}else{set_position=direction;};rel_index=set_position;if(!doresize)doresize=true;$('.pp_contract').removeClass('pp_contract').addClass('pp_expand');_hideContent(function(){$.prettyPhoto.open();});};$.prettyPhoto.changeGalleryPage=function(direction){if(direction=='next'){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0;}else if(direction=='previous'){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage;}else{currentGalleryPage=direction;};slide_speed=(direction=='next'||direction=='previous')?settings.animation_speed:0;slide_to=currentGalleryPage*(itemsPerPage*itemWidth);$pp_gallery.find('ul').animate({left:-slide_to},slide_speed);};$.prettyPhoto.startSlideshow=function(){if(typeof pp_slideshow=='undefined'){$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){$.prettyPhoto.stopSlideshow();return false;});pp_slideshow=setInterval($.prettyPhoto.startSlideshow,settings.slideshow);}else{$.prettyPhoto.changePage('next');};} -$.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});clearInterval(pp_slideshow);pp_slideshow=undefined;} -$.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;$.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find('object,embed').css('visibility','hidden');$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){$(this).remove();});$pp_overlay.fadeOut(settings.animation_speed,function(){if($.browser.msie&&$.browser.version==6)$('select').css('visibility','visible');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible');$(this).remove();$(window).unbind('scroll.prettyphoto');settings.callback();doresize=true;pp_open=false;delete settings;});};function _showContent(){$('.pp_loaderIcon').hide();projectedTop=scroll_pos['scrollTop']+((windowHeight/2)-(pp_dimensions['containerHeight']/2));if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find('.pp_content').animate({height:pp_dimensions['contentHeight'],width:pp_dimensions['contentWidth']},settings.animation_speed);$pp_pic_holder.animate({'top':projectedTop,'left':(windowWidth/2)-(pp_dimensions['containerWidth']/2),width:pp_dimensions['containerWidth']},settings.animation_speed,function(){$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']);$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed);if(isSet&&_getFileType(pp_images[set_position])=="image"){$pp_pic_holder.find('.pp_hoverContainer').show();}else{$pp_pic_holder.find('.pp_hoverContainer').hide();} -if(pp_dimensions['resized']){$('a.pp_expand,a.pp_contract').show();}else{$('a.pp_expand').hide();} -if(settings.autoplay_slideshow&&!pp_slideshow&&!pp_open)$.prettyPhoto.startSlideshow();if(settings.deeplinking) -setHashtag();settings.changepicturecallback();pp_open=true;});_insert_gallery();};function _hideContent(callback){$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden');$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){$('.pp_loaderIcon').show();callback();});};function _checkPosition(setCount){(setCount>1)?$('.pp_nav').show():$('.pp_nav').hide();};function _fitToViewport(width,height){resized=false;_getDimensions(width,height);imageWidth=width,imageHeight=height;if(((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight))&&doresize&&settings.allow_resize&&!percentBased){resized=true,fitting=false;while(!fitting){if((pp_containerWidth>windowWidth)){imageWidth=(windowWidth-200);imageHeight=(height/width)*imageWidth;}else if((pp_containerHeight>windowHeight)){imageHeight=(windowHeight-200);imageWidth=(width/height)*imageHeight;}else{fitting=true;};pp_containerHeight=imageHeight,pp_containerWidth=imageWidth;};_getDimensions(imageWidth,imageHeight);if((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight)){_fitToViewport(pp_containerWidth,pp_containerHeight)};};return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(pp_containerHeight),containerWidth:Math.floor(pp_containerWidth)+(settings.horizontal_padding*2),contentHeight:Math.floor(pp_contentHeight),contentWidth:Math.floor(pp_contentWidth),resized:resized};};function _getDimensions(width,height){width=parseFloat(width);height=parseFloat(height);$pp_details=$pp_pic_holder.find('.pp_details');$pp_details.width(width);detailsHeight=parseFloat($pp_details.css('marginTop'))+parseFloat($pp_details.css('marginBottom'));$pp_details=$pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({'position':'absolute','top':-10000});detailsHeight+=$pp_details.height();detailsHeight=(detailsHeight<=34)?36:detailsHeight;if($.browser.msie&&$.browser.version==7)detailsHeight+=8;$pp_details.remove();$pp_title=$pp_pic_holder.find('.ppt');$pp_title.width(width);titleHeight=parseFloat($pp_title.css('marginTop'))+parseFloat($pp_title.css('marginBottom'));$pp_title=$pp_title.clone().appendTo($('body')).css({'position':'absolute','top':-10000});titleHeight+=$pp_title.height();$pp_title.remove();pp_contentHeight=height+detailsHeight;pp_contentWidth=width;pp_containerHeight=pp_contentHeight+titleHeight+$pp_pic_holder.find('.pp_top').height()+$pp_pic_holder.find('.pp_bottom').height();pp_containerWidth=width;} -function _getFileType(itemSrc){if(itemSrc.match(/youtube\.com\/watch/i)){return'youtube';}else if(itemSrc.match(/vimeo\.com/i)){return'vimeo';}else if(itemSrc.match(/\b.mov\b/i)){return'quicktime';}else if(itemSrc.match(/\b.swf\b/i)){return'flash';}else if(itemSrc.match(/\biframe=true\b/i)){return'iframe';}else if(itemSrc.match(/\bajax=true\b/i)){return'ajax';}else if(itemSrc.match(/\bcustom=true\b/i)){return'custom';}else if(itemSrc.substr(0,1)=='#'){return'inline';}else{return'image';};};function _center_overlay(){if(doresize&&typeof $pp_pic_holder!='undefined'){scroll_pos=_get_scroll();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=(windowHeight/2)+scroll_pos['scrollTop']-(contentHeight/2);if(projectedTop<0)projectedTop=0;if(contentHeight>windowHeight) -return;$pp_pic_holder.css({'top':projectedTop,'left':(windowWidth/2)+scroll_pos['scrollLeft']-(contentwidth/2)});};};function _get_scroll(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};};};function _resize_overlay(){windowHeight=$(window).height(),windowWidth=$(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height($(document).height()).width(windowWidth);};function _insert_gallery(){if(isSet&&settings.overlay_gallery&&_getFileType(pp_images[set_position])=="image"&&(settings.ie6_fallback&&!($.browser.msie&&parseInt($.browser.version)==6))){itemWidth=52+5;navWidth=(settings.theme=="facebook"||settings.theme=="pp_default")?50:30;itemsPerPage=Math.floor((pp_dimensions['containerWidth']-100-navWidth)/itemWidth);itemsPerPage=(itemsPerPage";};toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find('#pp_full_res').after(toInject);$pp_gallery=$('.pp_pic_holder .pp_gallery'),$pp_gallery_li=$pp_gallery.find('li');$pp_gallery.find('.pp_arrow_next').click(function(){$.prettyPhoto.changeGalleryPage('next');$.prettyPhoto.stopSlideshow();return false;});$pp_gallery.find('.pp_arrow_previous').click(function(){$.prettyPhoto.changeGalleryPage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_content').hover(function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn();},function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut();});itemWidth=52+5;$pp_gallery_li.each(function(i){$(this).find('a').click(function(){$.prettyPhoto.changePage(i);$.prettyPhoto.stopSlideshow();return false;});});};if(settings.slideshow){$pp_pic_holder.find('.pp_nav').prepend('Play') -$pp_pic_holder.find('.pp_nav .pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});} -$pp_pic_holder.attr('class','pp_pic_holder '+settings.theme);$pp_overlay.css({'opacity':0,'height':$(document).height(),'width':$(window).width()}).bind('click',function(){if(!settings.modal)$.prettyPhoto.close();});$('a.pp_close').bind('click',function(){$.prettyPhoto.close();return false;});$('a.pp_expand').bind('click',function(e){if($(this).hasClass('pp_expand')){$(this).removeClass('pp_expand').addClass('pp_contract');doresize=false;}else{$(this).removeClass('pp_contract').addClass('pp_expand');doresize=true;};_hideContent(function(){$.prettyPhoto.open();});return false;});$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){$.prettyPhoto.changePage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){$.prettyPhoto.changePage('next');$.prettyPhoto.stopSlideshow();return false;});_center_overlay();};if(!pp_alreadyInitialized&&getHashtag()){pp_alreadyInitialized=true;hashIndex=getHashtag();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf('/'));setTimeout(function(){$("a[rel^='"+hashRel+"']:eq("+hashIndex+")").trigger('click');},50);} -return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize);};function getHashtag(){url=location.href;hashtag=(url.indexOf('#!')!=-1)?decodeURI(url.substring(url.indexOf('#!')+2,url.length)):false;return hashtag;};function setHashtag(){if(typeof theRel=='undefined')return;location.hash='!'+theRel+'/'+rel_index+'/';};function getParam(name,url){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^]*)";var regex=new RegExp(regexS);var results=regex.exec(url);return(results==null)?"":results[1];}})(jQuery);var pp_alreadyInitialized=false; \ No newline at end of file diff --git a/content/js/_jquery_script.js b/content/js/_jquery_script.js deleted file mode 100644 index 5ed0fd9..0000000 --- a/content/js/_jquery_script.js +++ /dev/null @@ -1,551 +0,0 @@ -/** - * @package Site Template - * @subpackage Willbridge HTML - * @since Willbridge HTML 1.0 - * - * Template Scripts - * Created by CMSMasters - * - */ - -/* - * Responsive Content Slider v1.0.1 - jQuery Content Slider - * - * (c) Copyright Steven "cmsmasters" Masters - * http://cmsmastrs.net/ - * For sale on ThemeForest.net - */ - - -(function(a){a.fn.cmsmsResponsiveContentSlider=function(b){var c={sliderWidth:1e3,sliderHeight:500,animationSpeed:500,animationEffect:"slide",animationEasing:"easeInOutExpo",pauseTime:5e3,activeSlide:1,touchControls:true,pauseOnHover:true,arrowNavigation:true,arrowNavigationHover:false,slidesNavigation:true,slidesNavigationHover:false,afterSliderLoad:function(){},beforeSlideChange:function(){},afterSlideChange:function(){}},d=this,e=d.wrap('').parent(),f=undefined,g={};g={init:function(){g.options=a.extend({},c,b);g.el=d;g.vars={};g.vars.oldSlide=undefined;g.vars.newSlide=undefined;g.vars.active_sl_numb=g.options.activeSlide==="random"?0:Number(g.options.activeSlide-1);g.vars.ifWNumber=typeof g.options.sliderWidth==="number"?true:false;g.vars.ifHNumber=typeof g.options.sliderHeight==="number"?true:false;g.vars.autoHeight=g.options.sliderHeight==="auto"?true:false;g.vars.inPause=true;g.vars.inAnimation=true;g.vars.mouseClicked=false;if(g.options.pauseTime!==0){g.vars.countdown=Math.round(g.options.pauseTime/50);g.vars.countMax=Math.round(g.options.pauseTime/50)}else{g.vars.countdown=-1;g.vars.countMax=-1}if(!g.vars.autoHeight){e.css({height:g.options.sliderHeight})}g.setSliderVars();g.preloadSlider()},setSliderVars:function(){g.vars.sliderWidth=g.vars.ifWNumber?g.options.sliderWidth+"px":g.options.sliderWidth;g.vars.sliderHeight=g.vars.ifHNumber?g.options.sliderHeight+"px":g.options.sliderHeight;g.vars.slides=g.el.find(">li");g.vars.sl_count=g.vars.slides.length;g.vars.first_sl=g.vars.slides.first();g.vars.last_sl=g.vars.slides.eq(g.vars.sl_count-1)},preloadSlider:function(){var b=g.vars.slides.find("img:eq(0)"),c=b.length;if(b.length>0){b.each(function(){var b=new Image,d=a(this).attr("src");b.src=d;a(this).addClass("cmsms_img");var e=setInterval(function(){if(isImageOk(b)||isImageOk(b)==="stop"){clearInterval(e);c-=1;if(c===0){g.buildSlider();g.buildControls();g.attachEvents();g.afterSliderLoad()}}},50)})}else{g.buildSlider();g.buildControls();g.attachEvents();g.afterSliderLoad()}},buildSlider:function(){g.vars.slides.addClass("cmsmsContentSlide").css({left:g.vars.sliderWidth});if(g.options.activeSlide==="random"){g.vars.active_sl_numb=parseInt(Math.random()*g.vars.sl_count)}g.el.css({background:"none"});e.css({width:g.vars.sliderWidth,padding:0,opacity:0});if(g.vars.autoHeight){g.vars.slides.css({height:"auto"});g.setSlideHeight(g.vars.slides.eq(g.vars.active_sl_numb),false)}g.vars.slides.eq(g.vars.active_sl_numb).css({left:0,zIndex:2}).addClass("active");e.animate({opacity:1},g.options.animationSpeed/2,g.options.animationEasing);g.vars.inPause=false;g.vars.inAnimation=false},buildControls:function(){if(g.options.slidesNavigation){e.append('');g.vars.slidesNav=e.find("ul.cmsms_slides_nav");if(g.options.slidesNavigationHover){g.vars.slidesNav.css({opacity:0})}for(var a=0;a'+(a+1)+"")}g.vars.slidesNav.find(">li").eq(g.vars.active_sl_numb).addClass("active");g.vars.slidesNavButton=g.vars.slidesNav.find(">li>a")}if(g.options.arrowNavigation){e.parent().prepend(''+'');g.vars.prevSlideButton=e.parent().find(".cmsms_content_prev_slide");g.vars.nextSlideButton=e.parent().find(".cmsms_content_next_slide");if(g.options.arrowNavigationHover){g.vars.prevSlideButton.css({left:"-100px",opacity:0});g.vars.nextSlideButton.css({right:"-100px",opacity:0})}}},attachEvents:function(){if(g.options.touchControls){g.vars.slides.bind("mousedown",function(a){g.mouseDoun(a);return false});g.vars.slides.bind("mousemove",function(a){g.mouseMove(a);return false});g.vars.slides.bind("mouseup",function(){g.mouseUp();return false});e.bind("mouseleave",function(){if(!g.vars.mouseClicked){return}g.mouseUp();return false})}if(g.options.arrowNavigation){g.vars.nextSlideButton.bind("click",function(){g.nextSlide();return false});g.vars.prevSlideButton.bind("click",function(){g.prevSlide();return false})}if(g.options.slidesNavigation){g.vars.slidesNavButton.bind("click",function(){if(a(this).parent().is(".active")){return false}else{g.slideChoose(a(this).parent().index())}return false})}if(g.options.pauseOnHover){e.bind("mouseenter",function(){g.vars.inPause=true}).bind("mouseleave",function(){g.vars.inPause=false})}if(g.options.slidesNavigation&&g.options.slidesNavigationHover){e.bind("mouseenter",function(){g.vars.slidesNav.css({opacity:1})}).bind("mouseleave",function(){g.vars.slidesNav.css({opacity:0})})}if(g.options.arrowNavigation&&g.options.arrowNavigationHover){e.bind("mouseenter",function(){g.vars.prevSlideButton.stop().animate({left:"10px",opacity:1},g.options.animationSpeed,g.options.animationEasing);g.vars.nextSlideButton.stop().animate({right:"10px",opacity:1},g.options.animationSpeed,g.options.animationEasing)}).bind("mouseleave",function(){g.vars.prevSlideButton.stop().animate({left:"-100px",opacity:0},g.options.animationSpeed,g.options.animationEasing);g.vars.nextSlideButton.stop().animate({right:"-100px",opacity:0},g.options.animationSpeed,g.options.animationEasing)})}if(g.vars.autoHeight){a(window).bind("resize",function(){if(g.vars.active_sl===undefined){g.getSlVars()}g.setSlideHeight(g.vars.active_sl,false)})}f=setInterval(function(){g.timerController()},50)},getSlVars:function(){g.vars.active_sl=g.el.find(">li.active")},setSlideHeight:function(a,b){if(b){e.animate({height:a[0].scrollHeight+"px"},g.options.animationSpeed,g.options.animationEasing)}else{e.css({height:a[0].scrollHeight+"px"})}},navActiveSl:function(a,b){g.vars.slidesNav.find(">li").eq(a.index()).removeClass("active");g.vars.slidesNav.find(">li").eq(b.index()).addClass("active")},setTimer:function(){g.vars.inPause=false;if(g.options.pauseTime!==0){g.vars.countdown=Math.round(g.options.pauseTime/50);g.vars.countMax=Math.round(g.options.pauseTime/50)}else{g.vars.countdown=-1;g.vars.countMax=-1}},nextSlide:function(){if(g.vars.inAnimation||g.vars.sl_count<2){return false}else{g.vars.inAnimation=true}g.getSlVars();g.setTimer();g.beforeSlideChange();g.vars.oldSlide=g.vars.active_sl;g.vars.newSlide=g.vars.active_sl.index()0?g.vars.active_sl.prev():g.vars.last_sl;if(g.options.slidesNavigation){g.navActiveSl(g.vars.oldSlide,g.vars.newSlide)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.newSlide,true)}if(g.options.animationEffect==="slide"){g.vars.oldSlide.removeClass("active").animate({left:g.vars.sliderWidth},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:1})});g.vars.newSlide.addClass("active").css({left:"-"+g.vars.sliderWidth,zIndex:3}).animate({left:g.vars.ifWNumber?0:"0%"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:2});g.vars.inAnimation=false;g.afterSlideChange()})}else if(g.options.animationEffect==="fade"){g.fadeSlide(g.vars.oldSlide,g.vars.newSlide,false)}},slideChoose:function(b){if(g.vars.inAnimation){return false}else{g.vars.inAnimation=true}g.getSlVars();g.setTimer();g.beforeSlideChange();g.vars.oldSlide=g.vars.active_sl;g.vars.newSlide=g.vars.slides.eq(b);if(g.options.slidesNavigation){g.navActiveSl(g.vars.oldSlide,g.vars.newSlide)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.newSlide,true)}if(g.vars.active_sl.index()0){if(g.options.animationEffect==="slide"){g.vars.prev_sl.css({left:-g.vars.sliderPxWidth+g.vars.xIndex+"px",zIndex:3})}else if(g.options.animationEffect==="fade"){if(g.vars.nextTouch){g.vars.nextTouch=false;g.vars.touchTarget.css({left:g.vars.sliderPxWidth+"px"})}if(!g.vars.prevTouch){g.vars.prevTouch=true}if(g.vars.active_sl.index()!==0){g.vars.touchTarget=g.vars.active_sl.prev()}else{g.vars.touchTarget=g.vars.last_sl}g.vars.touchTarget.css({left:0})}}},mouseUp:function(){if(!g.vars.mouseClicked){return}g.vars.mouseClicked=false;if(g.vars.xIndex<0){if(g.vars.xIndex<-75){g.beforeSlideChange();if(g.options.slidesNavigation){g.navActiveSl(g.vars.active_sl,g.vars.next_sl)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.next_sl,true)}if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:"-"+g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({left:g.vars.sliderPxWidth+"px",zIndex:1})});g.vars.next_sl.addClass("active").animate({left:0},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:"-"+g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1});g.vars.next_sl.addClass("active").css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}}else{if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}g.vars.active_sl.animate({left:0},g.options.animationSpeed,g.options.animationEasing);g.vars.next_sl.animate({left:g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.inAnimation=false;g.vars.inPause=false})}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}g.vars.active_sl.animate({left:0,opacity:1},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px"});g.vars.inAnimation=false;g.vars.inPause=false})}}}else if(g.vars.xIndex>=0){if(g.vars.xIndex>75){g.beforeSlideChange();if(g.options.slidesNavigation){g.navActiveSl(g.vars.active_sl,g.vars.prev_sl)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.prev_sl,true)}if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:1})});g.vars.prev_sl.addClass("active").animate({left:0},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({opacity:1,zIndex:1});g.vars.prev_sl.addClass("active").css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}}else{if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}if(g.vars.xIndex!==0){g.vars.active_sl.animate({left:0},g.options.animationSpeed,g.options.animationEasing);g.vars.prev_sl.animate({left:"-"+g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.inAnimation=false;g.vars.inPause=false})}else{g.vars.inAnimation=false;g.vars.inPause=false}}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}if(g.vars.xIndex!==0){g.vars.active_sl.animate({left:0,opacity:1},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px"});g.vars.inAnimation=false;g.vars.inPause=false})}else{g.vars.inAnimation=false;g.vars.inPause=false}}}}},timerController:function(){if(g.vars.inPause||g.vars.countdown<0){return}if(g.vars.countdown===0){g.nextSlide()}g.vars.countdown-=1},afterSliderLoad:function(){g.options.afterSliderLoad()},beforeSlideChange:function(){g.options.beforeSlideChange()},afterSlideChange:function(){g.options.afterSlideChange()}};g.init()}})(jQuery); - - - -/* UItoTop jQuery Plugin 1.2 | Matt Varone | http://www.mattvarone.com/web-design/uitotop-jquery-plugin */ -(function($){$.fn.UItoTop=function(options){var defaults={text:'To Top',min:200,inDelay:600,outDelay:400,containerID:'toTop',containerHoverID:'toTopHover',scrollSpeed:1200,easingType:'linear'},settings=$.extend(defaults,options),containerIDhash='#'+settings.containerID,containerHoverIDHash='#'+settings.containerHoverID;$('body').append(''+settings.text+'');$(containerIDhash).hide().on('click.UItoTop',function(){$('html, body').animate({scrollTop:0},settings.scrollSpeed,settings.easingType);$('#'+settings.containerHoverID,this).stop().animate({'opacity':0},settings.inDelay,settings.easingType);return false;}).prepend('').hover(function(){$(containerHoverIDHash,this).stop().animate({'opacity':1},600,'linear');},function(){$(containerHoverIDHash,this).stop().animate({'opacity':0},700,'linear');});$(window).scroll(function(){var sd=$(window).scrollTop();if(typeof document.body.style.maxHeight==="undefined"){$(containerIDhash).css({'position':'absolute','top':sd+$(window).height()-50});} -if(sd>settings.min) -$(containerIDhash).fadeIn(settings.inDelay);else -$(containerIDhash).fadeOut(settings.Outdelay);});};})(jQuery); - -jQuery(document).ready(function() { - /* Scroll to top */ - jQuery().UItoTop({ - containerID: 'slide_top', - containerHoverID : 'slide_top_hover', - easingType: 'easeOutQuart' - }); -}); - - - -/* Social Icons Script */ -(function($){$.fn.socicons=function(c){var d={icons:'digg,stumbleupon,delicious,facebook,yahoo',imagesurl:'images/',imageformat:'png',light:true,targetblank:true,shorturl:''};var e=$.extend({},d,c);var f=this;var g=e.targetblank?'target="_blank"':'';var h=e.icons.split(',');for(key in h){var j=h[key];var k=socformat[h[key]];if(k!=undefined){k=k.replace('{TITLE}',urlencode(socicons_title()));k=k.replace('{URL}',urlencode(socicons_url()));k=k.replace('{SHORTURL}',urlencode(socicons_shorturl()));k=k.replace('{KEYWORDS}',urlencode(socicons_metawords()));k=k.replace('{DESCRIPTION}',urlencode(socicons_metadescript()));var l='';this.append(l)}}if(e.light){this.find('.socicons_icon').bind('mouseover',function(){$(this).siblings().stop().animate({'opacity':0.3},500)});this.find('.socicons_icon').bind('mouseout',function(){$(this).siblings().stop().animate({'opacity':1},500)})}var m;function socicons_metawords(){if(n==undefined){metaCollection=document.getElementsByTagName('meta');for(i=0;i 220) { - if ($('.nav_wrap_inner').addClass('navi_scrolled').is(':animated')) { - return false; - } else { - $('.nav_wrap_inner').addClass('navi_scrolled').animate( { - top : 0, - opacity : 1 - }, 500); - } - } else { - $('.nav_wrap_inner').removeClass('navi_scrolled').stop().attr( { style : '' } ); - } - } ); - - - - /* Social Icons Toggle */ - (function ($) { - $('a.cmsms_share').toggle(function () { - $(this).parent().find('.cmsms_social').show('slow'); - - return false; - } , function () { - $(this).parent().find('.cmsms_social').hide('slow'); - - return false; - } ); - } )(jQuery); - - - - /* PrettyPhoto Lighbox */ - (function ($) { - $('a[rel^="prettyPhoto"]').prettyPhoto( { - animation_speed : 'slow', - show_title : false, - deeplinking : false, - social_tools : '' - } ); - } )(jQuery); - - - - /* Mobile Devices Navigation Script */ - (function ($) { - $('a.resp_navigation').bind('click', function () { - if ($(this).hasClass('active')) { - $('#navigation').slideUp('fast'); - - $('#navigation ul').css( { display : 'none' } ); - $(this).removeClass('active'); - } else { - $('#navigation').slideDown('fast'); - - $(this).addClass('active'); - } - - return false; - } ); - - $('#navigation li a').bind('click', function () { - if ($('a.resp_navigation').is(':visible')) { - if ($(this).next().is('ul')) { - if ($(this).next().is(':visible')) { - $(this).next().slideUp('fast'); - - $(this).next().find('ul').css( { display : 'none' } ); - } else { - $(this).parent().parent().find('ul').slideUp('fast'); - $(this).next().slideDown('fast'); - } - - return false; - } - } - } ); - - $(window).bind('resize', function () { - if ($(this).width() > 540) { - $('a.resp_navigation').removeClass('active'); - - $('#navigation').removeAttr('style'); - $('#navigation ul').removeAttr('style'); - } - } ); - } )(jQuery); - - - - /* Popular, Latest and Related Posts */ - (function ($) { - $('.related_posts ul li a').click(function (e) { - var rposts = $(this).parent().parent().parent(), - index = $(this).parent().index(); - - rposts.find('ul').find('a').removeClass('current'); - $(this).addClass('current'); - - rposts.find('div.related_posts_content').not('div.related_posts_content:eq(' + index + ')').slideUp(); - rposts.find('div.related_posts_content:eq(' + index + ')').slideDown(); - - e.preventDefault(); - } ); - } )(jQuery); - - - - /* Toggle */ - (function ($) { - $('.togg a.tog').click(function (i) { - var dropDown = $(this).parent().find('.tab_content'); - - $(this).parent().find('.tab_content').not(dropDown).slideUp(); - - if ($(this).hasClass('current')) { - $(this).removeClass('current'); - } else { - $(this).addClass('current'); - } - - dropDown.stop(false, true).slideToggle().css( { display : 'block' } ); - - i.preventDefault(); - } ); - } )(jQuery); - - - - /* Accordion */ - (function ($) { - $('.accordion a.tog').click(function (j) { - var dropDown = $(this).parent().find('.tab_content'); - - $(this).parent().parent().find('.tab_content').not(dropDown).slideUp(); - - if ($(this).hasClass('current')) { - $(this).removeClass('current'); - } else { - $(this).parent().parent().find('.tog').removeClass('current'); - $(this).addClass('current'); - } - - dropDown.stop(false, true).slideToggle().css( { display : 'block' } ); - - j.preventDefault(); - } ); - } )(jQuery); - - - - /* Tabs */ - (function ($) { - $('.tab ul.tabs li:first-child a').addClass('current'); - $('.tab .tab_content div.tabs_tab:first-child').show(); - - $('.tab ul.tabs li a').click(function (g) { - var tab = $(this).parent().parent().parent(), - index = $(this).parent().index(); - - tab.find('ul.tabs').find('a').removeClass('current'); - $(this).addClass('current'); - - tab.find('.tab_content').find('div.tabs_tab').not('div.tabs_tab:eq(' + index + ')').slideUp(); - tab.find('.tab_content').find('div.tabs_tab:eq(' + index + ')').slideDown(); - - g.preventDefault(); - } ); - } )(jQuery); - - - - /* Tour */ - (function ($) { - $('.tour_content ul.tour li:first-child').addClass('current'); - $('.tour_content div.tour_box:first').show(); - - $('.tour_content ul.tour li a').click(function (f) { - var tour = $(this).parent().parent().parent().parent(), - index = $('ul.tour li').index($(this).parent()); - - tour.find('ul.tour').find('li').removeClass('current'); - $(this).parent().addClass('current'); - - tour.find('div.tour_box').not('div.tour_box:eq(' + index + ')').slideUp(); - tour.find('div.tour_box:eq(' + index + ')').slideDown(); - - f.preventDefault(); - } ); - } )(jQuery); - - - - /* Image Preloader */ - (function ($) { - var images = jQuery('.preloader img'), - max = images.length, - img = new Image(), - curr = 1; - - jQuery('.preloader').each(function () { - jQuery('').prependTo(jQuery(this)); - } ); - - images.remove(); - - if (max > 0) { - loadImage(0, max); - } else if ($('#middle .pj_sort').find('.p_options_block').html() !== null) { - loadSorting(); - } - - function loadImage(index, max) { - if (index < max) { - $('').each(function () { - $(this).prependTo($('.preloader .image_container_img').eq(index)); - } ); - - var img = new Image(), - curr = $('#img' + (index + 1)); - - $(img).load(function () { - $(curr).append(this).append(''); - - $(this).parent().parent().parent().css( { backgroundImage : 'none' } ); - - $(this).animate( { opacity : 1 }, 500, 'easeInOutExpo', function () { - if ($(this).parent().parent().parent().hasClass('inBlog')) { - $(this).parent().parent().parent().css( { - height : 'auto', - padding : 0 - } ); - } - } ); - - if (index !== (max - 1)) { - loadImage(index + 1, max); - } - } ).error(function () { - $(curr).remove(); - - loadImage((index + 1), max); - } ).attr( { - src : $(images[index]).attr('src'), - title : $(images[index]).attr('title'), - alt : $(images[index]).attr('alt') - } ).addClass($(images[index]).attr('class')); - - if (index === (max - 1) && $('#middle .pj_sort').find('.p_options_block').html() !== null) { - loadSorting(); - } - } - } - - function loadSorting() { - if ($.browser.msie && $.browser.version < 9) { - $('.p_options_loader').css( { display : 'none' } ); - $('.p_options_block').css( { display : 'block' } ); - } else { - $('.p_options_loader').fadeOut(200, function () { - $(this).css( { display : 'none' } ); - } ); - - $('.p_options_block').fadeIn(200); - } - } - } )(jQuery); -} ); - - - -/* Correct OS & Browser Check */ -var ua = navigator.userAgent, - checker = { - os : { - iphone : ua.match(/iPhone/), - ipod : ua.match(/iPod/), - ipad : ua.match(/iPad/), - blackberry : ua.match(/BlackBerry/), - android : ua.match(/(Android|Linux armv6l|Linux armv7l)/), - linux : ua.match(/Linux/), - win : ua.match(/Windows/), - mac : ua.match(/Macintosh/) - }, - ua : { - ie : ua.match(/MSIE/), - ie6 : ua.match(/MSIE 6.0/), - ie7 : ua.match(/MSIE 7.0/), - ie8 : ua.match(/MSIE 8.0/), - ie9 : ua.match(/MSIE 9.0/), - ie10 : ua.match(/MSIE 10.0/), - opera : ua.match(/Opera/), - firefox : ua.match(/Firefox/), - chrome : ua.match(/Chrome/), - safari : ua.match(/(Safari|BlackBerry)/) - } - }; - - - -/* Correct Image Load Check */ -function isImageOk(img) { - if (!img.complete) { - return false; - } - - if (typeof img.naturalWidth !== undefined && img.naturalWidth === 0) { - return 'stop'; - } - - return true; -} - - - -/* Convert Touch Events to Mouse Events Function */ -function touchHandler(e) { - var first = e.changedTouches[0], - type = '', - simulatedEvent = undefined; - - switch (e.type) { - case 'touchstart': - type = 'mousedown'; - - break; - case 'touchmove': - type = 'mousemove'; - - break; - case 'touchend': - type = 'mouseup'; - - break; - case 'touchcancel': - type = 'mouseleave'; - - break; - default: - return; - } - - simulatedEvent = document.createEvent('MouseEvent'); - simulatedEvent.initMouseEvent( - type, - true, - true, - window, - 1, - first.screenX, - first.screenY, - first.clientX, - first.clientY, - false, - false, - false, - false, - 0, - null - ); - - first.target.dispatchEvent(simulatedEvent); - - e.preventDefault(); -} - - -/* Sliders Touch Events Convert Run */ -(function ($) { - if (!checker.ua.ie6 && !checker.ua.ie7 && !checker.ua.ie8) { - document.addEventListener('touchstart', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - - document.addEventListener('touchmove', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - - document.addEventListener('touchend', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - - document.addEventListener('touchcancel', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - } -} )(jQuery); - - - -(function ($) { - if (checker.os.iphone || checker.os.ipod || checker.os.ipad || checker.os.blackberry || checker.os.android) { - $('body').addClass('touch_dev'); - } -} )(jQuery); - diff --git a/content/js/_jquery_tweetsanywhere.js b/content/js/_jquery_tweetsanywhere.js deleted file mode 100644 index 07c116b..0000000 --- a/content/js/_jquery_tweetsanywhere.js +++ /dev/null @@ -1,2241 +0,0 @@ -/** - * jTweetsAnywhere V1.3.1 - * http://thomasbillenstein.com/jTweetsAnywhere/ - * - * Copyright 2011, Thomas Billenstein - * Licensed under the MIT license. - * http://thomasbillenstein.com/jTweetsAnywhere/license.txt - */ - - -/** - * The code below is used as supplied by Twitter (https://dev.twitter.com/docs/intents) - * - * Twitter says: - - * "Some sites may prefer to embed the unobtrusive Web Intents pop-up Javascript inline - * or without a dependency to platform.twitter.com. The snippet below will offer the - * equivalent functionality without the external dependency." - */ -(function() -{ - if (window.__twitterIntentHandler) - return; - - var intentRegex = /twitter\.com(\:\d{2,4})?\/intent\/(\w+)/, - windowOptions = 'scrollbars=yes,resizable=yes,toolbar=no,location=yes', - width = 550, - height = 420, - winHeight = screen.height, - winWidth = screen.width; - - - function handleIntent(e) - { - e = e || window.event; - - var target = e.target || e.srcElement, - m, left, top; - - while (target && target.nodeName.toLowerCase() !== 'a') - { - target = target.parentNode; - } - - if (target && target.nodeName.toLowerCase() === 'a' && target.href) - { - m = target.href.match(intentRegex); - if (m) - { - left = Math.round((winWidth / 2) - (width / 2)); - top = 0; - - if (winHeight > height) - { - top = Math.round((winHeight / 2) - (height / 2)); - } - - window.open(target.href, 'intent', windowOptions + ',width=' + width + ',height=' + height + ',left=' + left + ',top=' + top); - e.returnValue = false; - e.preventDefault && e.preventDefault(); - } - } - } - - if (document.addEventListener) - { - document.addEventListener('click', handleIntent, false); - } - else if (document.attachEvent) - { - document.attachEvent('onclick', handleIntent); - } - - window.__twitterIntentHandler = true; -}()); - - -/** - * JTA_I18N is based on SimpleI18N V0.1.0 - * - * SimpleI18N.js is a tiny library for simple i18n support in Javascript. - * Currently only translation is supported. - */ -(function() -{ - if (window.__JTA_I18N) - { - return; - } - - JTA_I18N = function() - { - var _resources = {}; - - function ResourceBundle(locale, resources) - { - this.getLocale = function() - { - return locale; - }; - - this.get = function(key, params) - { - return xlate(key, 1, params); - }; - - this._ = this.get; - - this.nget = function(singular, plural, count, params) - { - return count === 1 ? xlate(singular, 1, params) : xlate(plural, count, params); - }; - - this.__ = this.nget; - - function xlate(key, count, params) - { - var resource = getValue(key); - - if (count !== 1 && typeof resource === "object") - { - resource = evalMulti(key, resource, count); - } - - if (resource && params) - { - for (p in params) - { - resource = resource.replace(p, getValue(params[p])); - } - } - - return resource; - }; - - function getValue(resource) - { - return resources ? (resources[resource] || resource) : resource; - }; - - function evalMulti(key, resource, count) - { - for (pat in resource) - { - var re = /(\d+)\s*-\s*(\d+)/, - match = re.exec(pat); - - if (match) - { - var from = match[1]; - var to = match[2]; - if (count >= from && count <= to) - { - return resource[pat]; - } - } - - re = /([<>]=?)\s*(\d+)/; - match = re.exec(pat); - - if (match) - { - var op = match[1]; - var num = match[2]; - if (op === '>' && count > num) - { - return resource[pat]; - } - else if (op === '>=' && count >= num) - { - return resource[pat]; - } - else if (op === '<' && count < num) - { - return resource[pat]; - } - else if (op === '<=' && count <= num) - { - return resource[pat]; - } - } - - re = /\s*,\s*/; - match = pat.split(re); - - if (match) - { - for (var i = 0; i < match.length; i++) - { - if (count === ~~match[i]) - { - return resource[pat]; - } - } - } - } - - return key; - } - }; - - return { - - addResourceBundle: function(project, locale, resources) - { - if (!_resources[project]) - { - _resources[project] = {}; - } - - _resources[project][locale] = resources; - }, - - getResourceBundle: function(project, locale) - { - return new ResourceBundle(locale, _resources[project] ? _resources[project][locale] : null); - } - }; - }(); - - window.__JTA_I18N = true; -}()); - -JTA_I18N.addResourceBundle('jTweetsAnywhere', 'en', -{ - '$$monthNames': [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] -}); - -(function($) -{ - $.fn.jTweetsAnywhere = function(config) - { - // setup the default options - var options = $.extend( - { - /** - * The user's name who's tweet feed or list feed is displayed. This - * param is also used when a Twitter "Follow Button" is displayed. Usually - * this param is a string, but can also be an array of strings. If an array - * is supplied (and the params 'list' and 'searchParams' are null), a - * combined feed of all users is displayed. - * - * Sample: 'tbillenstein' or ['twitterapi', '...', '...'] - */ - username: 'tbillenstein', - - /** - * The name of a user's list where the tweet feed is generated from. The special - * list name 'favorites' can be used to display a user's favorited tweets. - */ - list: null, - - /** - * A single search param string or an array of search params, to be used in - * a Twitter search call. All Twitter Search Params are supported - * See here for the details: - * http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search - * - * Sample: 'q=twitter' or ['q=twitter', 'geocode=48.856667,2.350833,30km'] - */ - searchParams: null, - - /** - * The number of tweets shown in the tweet feed. If this param is 0, no feed - * is displayed. For user or list feeds the maximum count is 20, for search - * results the maximum count is 100. - * - * Unlike in previous releases, since 1.2.0 jTweetsAnywhere is based on a - * tweets caching algorithm that will always deliver the requested count of - * tweets accepting that this request can only be fullfilled by calling Twitter - * more than once. - * - * IMPORTANT: Please always keep in mind, that the use of the Twitter API is - * rate limited. Non-authenticated users are rated IP-based and you have only - * 150 calls per hour available. Every retrieval of tweets counts and so does - * for example hovering over a profile image to show the hovercard. - * jTweetsAnywhere will always check the remaining count of free API calls before - * actually calling Twitter to avoid black listing your visitor's IP. - */ - count: 0, - - /** - * A flag (true/false) that specifies whether to display a profile image in - * tweets. If the param is set to null (the default value), a profile image - * is displayed only if the feed represents a user's list or the result of a - * Twitter search. - * - * THIS OPTION IS DEPRECATED. You should use showTweetFeed.showProfileImages - * instead. - */ - tweetProfileImagePresent: null, - - /** - * Each tweet that is loaded from Twitter will pass the tweetFilter. if - * the filter returns true, the tweet will be added to the tweets cache - * otherwise it is ignored. The defaultTweetFilter alsways retruns true - * but you can supply your own tweet filter to customize the tweet feed. - */ - tweetFilter: defaultTweetFilter, - - /** - * A flag (true/false) that specifies whether to display a Tweet Feed - * or an object literal representing the configuration options for the - * Tweet Feed. This flag works in conjunction with the count parameter: - * - if count equals 0, no feed is displayed, ignoring showTweetFeed - * - if count not equals 0 and showTweetFeed equals false, no feed - * is displayed - * { - * autoConformToTwitterStyleguide: false, - * // Boolean - as the name implies, sets all options to confirm to Twitter's - * // styleguide regulations. Implies: - * // showTweetFeed: { - * // showUserFullNames: null, // null means: if usernames are shown, show - * // // fullnames too - * // showTwitterBird: true, - * // showActionReply: true, - * // showActionRetweet: true, - * // showActionFavorite: true - * // } - * - * showTwitterBird: true, // Boolean - show Twitter bird icon beneath the timestamp of a tweet, linking to - * // the tweeter's MiniProfile Web Intent - * - * showTimestamp: true, // A flag (true/false) that specifies whether to display a tweet's timestamp - * // or an object literal representing the configuration options for the - * // timestamp. - * // { - * // refreshInterval: 0, // Time in seconds to be waited until the - * // // timestamps of the displayed tweets get refreshed - * // // 0 means no refreshing. - * // } - * - * showSource: false, // Boolean - Show info about the source of the tweet. - * - * showGeoLocation: true, // Boolean - Show geolocation info and link to Google maps. - * - * showInReplyTo: true, // Boolean - Show link to the "replied to" tweet (if available). - * - * showActionReply: false, // Boolean - Show tweet's 'Reply' action (supplies a link to popup the tweet's - * // Reply Web Intent) - * - * showActionRetweet: false, // Boolean - Show tweet's 'Retweet' action (supplies a link to popup the tweet's - * // Retweet Web Intent) - * - * showActionFavorite: false, // Boolean - Show tweet's 'Favorite' action (supplies a link to popup the tweet's - * // Favorite Web Intent) - * - * showProfileImages: null, // A flag (true/false) that specifies whether to display a profile image in - * // tweets. If the param is set to null (the default value), a profile image - * // is displayed only if the feed represents a user's list or the result of a - * // Twitter search. - * - * showUserScreenNames: null, // A flag (true/false/null) that specifies whether to display a username in - * // tweets. If the param is set to null (the default value), a username - * // is displayed only if the feed represents a user's list or the result of a - * // Twitter search. - * - * showUserFullNames: false, // A flag (true/false/null) that specifies whether to display a user's full name - * // in tweets. If the param is set to null, a user's full name - * // is displayed only if the feed represents a user's list or the result of a - * // Twitter search. - * - * expandHovercards: false, // Boolean - Show Hovercards in expanded mode. - * - * includeRetweets: true, // Boolean - Include native retweets in a user's tweet feed - * - * paging: // An object literal representing the configuration options for the - * { // paging support, that specifies how more/earlier tweets can be loaded - * mode: "none" // by using the supplied UI controls (more/next buttons, scrollbar). - * }, // Accepted values for mode are: "none" | "more" | "prev-next" | "endless-scroll" - * // if mode equals "endless-scroll" you have to set the height of the tweet feed - * // element (.jta-tweet-list) in your CSS to get a scrollbar! You should also set - * // the "overflow" attribute to "auto". - * - * autorefresh: // An object literal representing the configuration options for the - * { // autorefresh behaviour. - * - * // IMPORTANT: Please always keep in mind, that using the Twitter API is rate - * // limited. Non-authenticated users are rated IP-based and you have only 150 - * // calls per hour available. Every retrieval of tweets counts and so does for - * // example hovering over a profile image to show the hovercard. jTweetsAnywhere will - * // always check the remaining count of free API calls before actually calling - * // Twitter to avoid black listing your visitor's IP. - * - * // However - choose your settings wisely to keep your visitors happy. An update - * // interval of 30 seconds on a feed that is updated averaged once per hour - * // does not make sense and is a total waste of remaining API calls! - * - * mode: "none", // Accepted values for mode are: "none" | "auto-insert" | "trigger-insert" - * // "none" (the default value) - disables the autorefresh feature - * // "auto-insert" - automatically insert the new tweets on top of the tweet feed - * // "trigger-insert" - if new tweets arrived, show or update a button that displays - * // the number of new tweets. These new tweets are inserted on top of the tweet - * // feed, if the user clicks on the button. - * - * interval: 60, // Time in seconds to be waited until the next request for new tweets. Minimum - * // value is 30. - * - * duration: 3600 // Time in seconds for how long the autorefresh will be active. After - * // this period of time, autorefreshing will stop. A value of -1 means - * // autorefresh for ever. - * } - * } - */ - showTweetFeed: true, - - /** - * A flag (true/false) that specifies whether to display a Twitter "Follow - * Button". - */ - showFollowButton: false, - - /** - * A flag (true/false) that specifies whether to display a Twitter "Connect - * Button" or an object literal representing the configuration options for - * the "Tweet Box". - * { - * size: 'medium' // String - The size of the Connect Button. Valid values are: small, medium, large, xlarge - * } - */ - showConnectButton: false, - - /** - * A flag (true/false) that specifies whether to display Login Infos. - */ - showLoginInfo: false, - - /** - * A flag (true/false) that specifies whether to display a Twitter "Tweet - * Box" or an object literal representing the configuration options for - * the "Tweet Box". - * { - * counter: true, // Boolean - Display a counter in the Tweet Box for counting characters - * width: 515, // Number - The width of the Tweet Box in pixels - * height: 65, // Number - The height of the Tweet Box in pixels - * label: "What's happening?", // String - The text above the Tweet Box, a call to action - * defaultContent: , // String - Pre-populated text in the Tweet Box. Useful for an @mention, a #hashtag, a link, etc. - * onTweet: // Function - Specify a listener for when a tweet is sent from the Tweet Box. The listener receives two arguments: a plaintext tweet and an HTML tweet - * } - */ - showTweetBox: false, - - /** - * Identifies the locale for I18N support. The default locale is 'en'. To use this option you have to inlude the - * adequate locale script, jtweetsanywhere-{language}-{version}.js, e.g. jtweetsanywhere-de-1.3.0.js - */ - locale: 'en', - - /** - * A dataProvider is a function that delivers the "raw" Twitter data in - * JSON format. ATM internal use only! - */ - tweetDataProvider: - defaultTweetDataProvider, - //mockedTweetDataProvider, - rateLimitDataProvider: - defaultRateLimitDataProvider, - //mockedRateLimitDataProvider, - - /** - * A decorator is a function that is responsible for constructing a certain - * element of the widget. Most of the decorators return a HTML string. - * Exceptions are the mainDecorator, which defines the basic sequence of - * the widget's components, plus the linkDecorator, the usernameDecorator - * and the hashtagDecorator which return the string that is supplied as a - * function param, enriched with the HTML tags. - * - * For details, see the implementations of the default decorators. Each - * default decorator can be overwritten by your own implementation. - */ - mainDecorator: defaultMainDecorator, - - tweetFeedDecorator: defaultTweetFeedDecorator, - - tweetDecorator: defaultTweetDecorator, - tweetProfileImageDecorator: defaultTweetProfileImageDecorator, - tweetBodyDecorator: defaultTweetBodyDecorator, - tweetUsernameDecorator: defaultTweetUsernameDecorator, - tweetTextDecorator: defaultTweetTextDecorator, - - tweetAttributesDecorator: defaultTweetAttributesDecorator, - tweetTwitterBirdDecorator: defaultTweetTwitterBirdDecorator, - tweetTimestampDecorator: defaultTweetTimestampDecorator, - tweetSourceDecorator: defaultTweetSourceDecorator, - tweetGeoLocationDecorator: defaultTweetGeoLocationDecorator, - tweetInReplyToDecorator: defaultTweetInReplyToDecorator, - tweetRetweeterDecorator: defaultTweetRetweeterDecorator, - - tweetActionsDecorator: defaultTweetActionsDecorator, - tweetActionReplyDecorator: defaultTweetActionReplyDecorator, - tweetActionRetweetDecorator: defaultTweetActionRetweetDecorator, - tweetActionFavoriteDecorator: defaultTweetActionFavoriteDecorator, - - tweetFeedControlsDecorator: defaultTweetFeedControlsDecorator, - tweetFeedControlsMoreBtnDecorator: defaultTweetFeedControlsMoreBtnDecorator, - tweetFeedControlsPrevBtnDecorator: defaultTweetFeedControlsPrevBtnDecorator, - tweetFeedControlsNextBtnDecorator: defaultTweetFeedControlsNextBtnDecorator, - - tweetFeedAutorefreshTriggerDecorator: defaultTweetFeedAutorefreshTriggerDecorator, - tweetFeedAutorefreshTriggerContentDecorator: defaultTweetFeedAutorefreshTriggerContentDecorator, - - connectButtonDecorator: defaultConnectButtonDecorator, - - loginInfoDecorator: defaultLoginInfoDecorator, - loginInfoContentDecorator: defaultLoginInfoContentDecorator, - - followButtonDecorator: defaultFollowButtonDecorator, - - tweetBoxDecorator: defaultTweetBoxDecorator, - - linkDecorator: defaultLinkDecorator, - usernameDecorator: defaultUsernameDecorator, - hashtagDecorator: defaultHashtagDecorator, - - loadingDecorator: defaultLoadingDecorator, - errorDecorator: defaultErrorDecorator, - noDataDecorator: defaultNoDataDecorator, - - /** - * Formatters are currently used for date format processing only. - * - * The tweetTimestampFormatter formats the tweet's timestamp to be shown - * in the tweet attributes section - * - * For details, see the implementation of the defaultTweetTimestampFormatter. - */ - tweetTimestampFormatter : defaultTweetTimestampFormatter, - - /** - * The tweetTimestampTooltipFormatter formats the tweet's timestamp to be shown - * in the tooltip when hovering over the timestamp link. - */ - tweetTimestampTooltipFormatter : defaultTweetTimestampTooltipFormatter, - - /** - * A visualizer is a function that is responsible for adding one or more - * elements to the DOM and thereby making them visible to the user. - * A visualizer might also be responsible to do the opposite effect: - * To remove one or more elements from the DOM. - * - * The tweetVisualizer gets called each time a tweet element should be - * appended or prepended to the tweet feed element. - * - * For details, see the implementation of the defaultTweetVisualizer. - * - * Each default visualizer can be overwritten by your own implementation. - */ - tweetVisualizer: defaultTweetVisualizer, - - /** - * The loadingIndicatorVisualizer gets called each time data is retrieved - * from Twitter to visualize the loading indicator. This visualizer is also - * used to hide the loading indicator. - * - * For details, see the implementation of the defaultLoadingIndicatorVisualizer. - */ - loadingIndicatorVisualizer: defaultLoadingIndicatorVisualizer, - - /** - * The autorefreshTriggerVisualizer will be called if the autorefresh - * trigger should be visualized or hidden. - * - * For details, see the implementation of the autorefreshTriggerVisualizer. - */ - autorefreshTriggerVisualizer: defaultAutorefreshTriggerVisualizer, - - /** - * An event handler is a function that gets called whenever the event you - * are interested in, occurs. - * - * The onDataRequest event handler will be called immediatly before calling - * Twitter to retrieve new data and gives you the opportunity to deny - * the call by returning false from the function. - * - * This feature might be used in conjunction with the paging feature, - * especially when using the "endless-scroll" paging mode, to avoid the - * exhaustion of remaining Twitter API calls, before the rate limit is - * reached. The stats parameter contains statistical infos and counters - * that you can examine to base your decision whether to return true or - * false. - */ - onDataRequestHandler: defaultOnDataRequestHandler, - - /** - * The onRateLimitData event handler is called each time - * jTweetsAnywhere retrieved the rate limit data from Twitter. The actual - * rate limit data is contained in the stats object. - */ - onRateLimitDataHandler: defaultOnRateLimitDataHandler, - - /** - * The OnOptionsInitializingHandler event handler is called before initializing - * the user options - */ - onOptionsInitializingHandler: defaultOnOptionsInitializingHandler, - - _tweetFeedConfig: - { - autoConformToTwitterStyleguide: false, - showTwitterBird: true, - showTimestamp: - { - refreshInterval: 0 - }, - showSource: false, - showGeoLocation: true, - showInReplyTo: true, - showActionReply: false, - showActionRetweet: false, - showActionFavorite: false, - showProfileImages: null, - showUserScreenNames: null, - showUserFullNames: false, - expandHovercards: false, - includeRetweets: true, - paging: - { - mode: "none", - _limit: 0, - _offset: 0 - }, - autorefresh: - { - mode: "none", - interval: 60, - duration: 3600, - max: -1, - _startTime: null, - _triggerElement: null - }, - _pageParam: 0, - _maxId: null, - _recLevel: 0, - _noData: false, - _clearBeforePopulate: false - }, - _tweetBoxConfig: - { - counter: true, - width: 515, - height: 65, - label: null, - defaultContent: '', - onTweet: function(textTweet, htmlTweet) {} - }, - _connectButtonConfig: - { - size: "medium" - }, - _baseSelector: null, - _baseElement: null, - _tweetFeedElement: null, - _tweetFeedControlsElement: null, - _followButtonElement: null, - _loginInfoElement: null, - _connectButtonElement: null, - _tweetBoxElement: null, - _loadingIndicatorElement: null, - _noDataElement: null, - _tweetsCache: [], - _autorefreshTweetsCache: [], - _stats: - { - dataRequestCount: 0, - rateLimitPreventionCount: 0, - rateLimit: - { - remaining_hits: 150, - hourly_limit: 150 - } - }, - _resourceBundle: null - }, config); - - // save the plugin's base selector - options._baseSelector = this.selector; - - options.onOptionsInitializingHandler(options); - setupOptions(options); - - // no main decorator? nothing to do! - if (!options.mainDecorator) - { - return; - } - - $.ajaxSetup({ cache: true }); - - return this.each(function() - { - // the DOM element, where to display the widget - options._baseElement = $(this); - - // create the widget's necessary sub DOM elements - options._tweetFeedElement = options.tweetFeedDecorator ? $(options.tweetFeedDecorator(options)) : null; - options._tweetFeedControlsElement = options.tweetFeedControlsDecorator ? $(options.tweetFeedControlsDecorator(options)) : null; - options._followButtonElement = options.followButtonDecorator ? $(options.followButtonDecorator(options)) : null; - options._tweetBoxElement = options.tweetBoxDecorator ? $(options.tweetBoxDecorator(options)) : null; - options._connectButtonElement = options.connectButtonDecorator ? $(options.connectButtonDecorator(options)): null; - options._loginInfoElement = options.loginInfoDecorator ? $(options.loginInfoDecorator(options)) : null; - - // add the widget to the DOM - options.mainDecorator(options); - - populateTweetFeed(options); - populateAnywhereControls(options); - - bindEventHandlers(options); - - setupAutorefresh(options); - }); - }; - defaultMainDecorator = function(options) - { - // defines the default sequence of the widget's elements - if (options._tweetFeedElement) - { - options._baseElement.append(options._tweetFeedElement); - } - - if (options._tweetFeedControlsElement) - { - options._baseElement.append(options._tweetFeedControlsElement); - } - - if (options._connectButtonElement) - { - options._baseElement.append(options._connectButtonElement); - } - - if (options._loginInfoElement) - { - options._baseElement.append(options._loginInfoElement); - } - - if (options._followButtonElement) - { - options._baseElement.append(options._followButtonElement); - } - - if (options._tweetBoxElement) - { - options._baseElement.append(options._tweetBoxElement); - } - }; - defaultTweetFeedControlsDecorator = function(options) - { - // the default tweet feed's paging controls - var html = ''; - - if (options._tweetFeedConfig.paging.mode == 'prev-next') - { - if (options.tweetFeedControlsPrevBtnDecorator) - { - html += options.tweetFeedControlsPrevBtnDecorator(options); - } - - if (options.tweetFeedControlsNextBtnDecorator) - { - html += options.tweetFeedControlsNextBtnDecorator(options); - } - } - else if (options._tweetFeedConfig.paging.mode == 'endless-scroll') - { - // nothing to do here - } - else - { - if (options.tweetFeedControlsMoreBtnDecorator) - { - html += options.tweetFeedControlsMoreBtnDecorator(options); - } - } - - return '' + html + ''; - }; - defaultTweetFeedControlsMoreBtnDecorator = function(options) - { - return '' + options._resourceBundle._('More') + ''; - }; - defaultTweetFeedControlsPrevBtnDecorator = function(options) - { - return '' + options._resourceBundle._('Prev') + ''; - }; - defaultTweetFeedControlsNextBtnDecorator = function(options) - { - return '' + options._resourceBundle._('Next') + ''; - }; - defaultTweetFeedAutorefreshTriggerDecorator = function(count, options) - { - var html = ''; - - if (options.tweetFeedAutorefreshTriggerContentDecorator) - { - html = options.tweetFeedAutorefreshTriggerContentDecorator(count, options); - } - - return '' + html + ''; - }; - defaultTweetFeedAutorefreshTriggerContentDecorator = function(count, options) - { - var content = options._resourceBundle.__('%count% new tweet', '%count% new tweets', count, { '%count%' : count }); - - return '' + content + ''; - }; - defaultTweetFeedDecorator = function(options) - { - // the default placeholder for the tweet feed is an unordered list - return ''; - }; - defaultTweetDecorator = function(tweet, options) - { - // the default tweet is made of the optional user's profile image and the - // tweet body inside a list item element - var html = ''; - - if (options._tweetFeedConfig.showProfileImages) - { - html += options.tweetProfileImageDecorator(tweet, options); - } - - if (options.tweetBodyDecorator) - { - html += options.tweetBodyDecorator(tweet, options); - } - - return '' + html + ''; - }; - defaultTweetProfileImageDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's profile - var t = tweet.retweeted_status || tweet; - - // the default profile image decorator simply adds a link to the user's Twitter profile - var screenName = getScreenName(tweet); - var imageUrl = t.user ? t.user.profile_image_url : false || t.profile_image_url; - - var html = - '' + - '' + - ''; - - return '' + html + ''; - }; - defaultTweetBodyDecorator = function(tweet, options) - { - // the default tweet body contains the tweet text and the tweet's creation date - var html = ''; - - if (options.tweetTextDecorator) - { - html += options.tweetTextDecorator(tweet, options); - } - - if (options.tweetAttributesDecorator) - { - html += options.tweetAttributesDecorator(tweet, options); - } - - if (options.tweetActionsDecorator) - { - html += options.tweetActionsDecorator(tweet, options); - } - - return '' + - html + - ''; - }; - defaultTweetTextDecorator = function(tweet, options) - { - var tweetText = tweet.text; - - // if usernames should be visible and tweet is a native retweet, use - // the original tweet text - if (tweet.retweeted_status && - ( - options._tweetFeedConfig.showUserScreenNames || - options._tweetFeedConfig.showUserScreenNames == null || - options._tweetFeedConfig.showUserFullNames || - options._tweetFeedConfig.showUserFullNames == null - ) - ) - { - tweetText = tweet.retweeted_status.text; - } - - // the default tweet text decorator optionally marks links, @usernames, - // and #hashtags - if (options.linkDecorator) - { - tweetText = options.linkDecorator(tweetText, options); - } - - if (options.usernameDecorator) - { - tweetText = options.usernameDecorator(tweetText, options); - } - - if (options.hashtagDecorator) - { - tweetText = options.hashtagDecorator(tweetText, options); - } - - if (options._tweetFeedConfig.showUserScreenNames || - options._tweetFeedConfig.showUserFullNames || - tweet.retweeted_status && - ( - options._tweetFeedConfig.showUserScreenNames == null || - options._tweetFeedConfig.showUserFullNames == null - ) - ) - { - tweetText = options.tweetUsernameDecorator(tweet, options) + ' ' + tweetText; - } - - return '' + tweetText + ''; - }; - defaultTweetUsernameDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's profile - var screenName = getScreenName(tweet); - var fullName = getFullName(tweet); - - var htmlScreenName = null; - if (screenName && (options._tweetFeedConfig.showUserScreenNames || (options._tweetFeedConfig.showUserScreenNames == null && tweet.retweeted_status))) - { - htmlScreenName = - '' + - '' + - screenName + - '' + - ''; - } - - var htmlFullName = null; - if (fullName && (options._tweetFeedConfig.showUserFullNames || (options._tweetFeedConfig.showUserFullNames == null && tweet.retweeted_status))) - { - htmlFullName = - '' + - (htmlScreenName ? ' ' : '') + - '' + - fullName + - '' + - ''; - } - - var html = ''; - - if (htmlScreenName) - { - html += htmlScreenName; - } - - if (htmlFullName) - { - if (htmlScreenName) - { - html += ' '; - } - - html += htmlFullName; - } - - if (htmlScreenName || htmlFullName) - { - html = - '' + - (tweet.retweeted_status ? 'RT ' : '') + - html + - ''; - } - - return html; - }; - defaultTweetAttributesDecorator = function(tweet, options) - { - var html = ''; - - if (options.tweetTwitterBirdDecorator || - options.tweetTimestampDecorator || - options.tweetSourceDecorator || - options.tweetGeoLocationDecorator || - options.tweetInReplyToDecorator || - (tweet.retweeted_status && options.tweetRetweeterDecorator) - ) - { - - if (options.tweetTwitterBirdDecorator) - { - html += options.tweetTwitterBirdDecorator(tweet, options); - } - - if (options.tweetTimestampDecorator) - { - html += options.tweetTimestampDecorator(tweet, options); - } - - if (options.tweetSourceDecorator) - { - html += options.tweetSourceDecorator(tweet, options); - } - - if (options.tweetGeoLocationDecorator) - { - html += options.tweetGeoLocationDecorator(tweet, options); - } - - if (options.tweetInReplyToDecorator) - { - html += options.tweetInReplyToDecorator(tweet, options); - } - - if (tweet.retweeted_status && options.tweetRetweeterDecorator) - { - html += options.tweetRetweeterDecorator(tweet, options); - } - } - - return html; - }; - defaultTweetTimestampDecorator = function(tweet, options) - { - // the default tweet timestamp decorator does a little bit of Twitter like formatting. - - // if tweet is a native retweet, use the retweet's timestamp - var tw = tweet.retweeted_status || tweet; - - // reformat timestamp from Twitter, so IE is happy - var createdAt = formatDate(tw.created_at); - - // format the timestamp by the tweetTimestampFormatter - var tweetTimestamp = options.tweetTimestampFormatter(createdAt, options); - var tweetTimestampTooltip = options.tweetTimestampTooltipFormatter(createdAt); - - var html = - '' + - tweetTimestamp + - ''; - - return html; - }; - defaultTweetTwitterBirdDecorator = function(tweet, options) - { - var screenName = getScreenName(tweet); - var intentUrl = 'https://twitter.com/intent/user?screen_name=' + screenName; - var linkTitle = screenName + ' ' + options._resourceBundle._('on Twitter'); - - var html = - '' + - '' + - ' ' + - '' + - ''; - - return html; - }; - defaultTweetTimestampTooltipFormatter = function(timeStamp) - { - var d = new Date(timeStamp); - - return d.toLocaleString(); - }; - defaultTweetTimestampFormatter = function(timeStamp, options) - { - var now = new Date(); - - var diff = parseInt((now.getTime() - Date.parse(timeStamp)) / 1000); - - var tweetTimestamp = ''; - if (diff < 60) - { - tweetTimestamp += options._resourceBundle.__('%secs% second ago', '%secs% seconds ago', diff, { '%secs%': diff }); - } - else if (diff < 3600) - { - var t = parseInt((diff + 30) / 60); - tweetTimestamp += options._resourceBundle.__('%mins% minute ago', '%mins% minutes ago', t, { '%mins%': t }); - } - else if (diff < 86400) - { - var t = parseInt((diff + 1800) / 3600); - tweetTimestamp += options._resourceBundle.__('%hours% hour ago', '%hours% hours ago', t, { '%hours%': t }); - } - else - { - var t = parseInt((diff + 43200) / 86400); - tweetTimestamp += options._resourceBundle.__('%days% day ago', '%days% days ago', t, { '%days%': t }); - } - - return tweetTimestamp; - }; - defaultTweetSourceDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's source - var tw = tweet.retweeted_status || tweet; - - var source = tw.source.replace(/\<\;/gi,'<').replace(/\>\;/gi,'>').replace(/\"\;/gi,'"'); - var html = - '' + - ' ' + options._resourceBundle._('via') + ' ' + - '' + - source + - '' + - ''; - - return html; - }; - defaultTweetGeoLocationDecorator = function(tweet, options) - { - var html = ''; - - // if tweet is a native retweet, use the retweet's source - var tw = tweet.retweeted_status || tweet; - - var q = null; - if (tw.geo && tw.geo.coordinates) - { - q = tw.geo.coordinates.join(); - } - else if (tw.place && tw.place.full_name) - { - q = tw.place.full_name; - } - - if (q) - { - var location = options._resourceBundle._('here'); - if (tw.place && tw.place.full_name) - { - location = tw.place.full_name; - } - - var link = 'http://maps.google.com/maps?q=' + q; - - html = - '' + - ' ' + options._resourceBundle._('from') + ' ' + - '' + - location + - '' + - ''; - } - - return html; - }; - defaultTweetInReplyToDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's source - var tw = tweet.retweeted_status || tweet; - - var html = ''; - - if (tw.in_reply_to_status_id && tw.in_reply_to_screen_name) - { - var linkHref = 'http://twitter.com/' + tw.in_reply_to_screen_name + '/status/' + tw.in_reply_to_status_id; - var linkText = options._resourceBundle._('in reply to') + ' ' + tw.in_reply_to_screen_name; - - html = - '' + - ' ' + - '' + - linkText + - '' + - ''; - } - - return html; - }; - defaultTweetRetweeterDecorator = function(tweet, options) - { - var html = ''; - - if (tweet.retweeted_status) - { - var screenName = getUserScreenName(tweet); - - var rtc = (tweet.retweeted_status.retweet_count || 0) - 1; - - var link = - '' + - screenName + - ''; - - var rtcount = options._resourceBundle.__(' and %rtc% other', ' and %rtc% others', rtc, { '%rtc%': rtc }); - - html = - '' + - '' + - options._resourceBundle._('Retweeted by') + ' ' + link + - (rtc > 0 ? rtcount : '') + - ''; - } - - return html; - }; - defaultTweetActionsDecorator = function(tweet, options) - { - var html = ''; - - if (options.tweetActionReplyDecorator || - options.tweetActionRetweetDecorator || - options.tweetActionFavoriteDecorator - ) - { - html += ''; - - if (options.tweetActionReplyDecorator) - { - html += options.tweetActionReplyDecorator(tweet, options); - } - - if (options.tweetActionRetweetDecorator) - { - html += options.tweetActionRetweetDecorator(tweet, options); - } - - if (options.tweetActionFavoriteDecorator) - { - html += options.tweetActionFavoriteDecorator(tweet, options); - } - - html += ''; - } - - return html; - }; - defaultTweetActionReplyDecorator = function(tweet, options) - { - var intentUrl = 'https://twitter.com/intent/tweet?in_reply_to=' + tweet.id; - var actionLabel = options._resourceBundle._('Reply'); - - var html = - '' + - '' + actionLabel + '' + - ''; - - return html; - }; - defaultTweetActionRetweetDecorator = function(tweet, options) - { - var intentUrl = 'https://twitter.com/intent/retweet?tweet_id=' + tweet.id; - var actionLabel = options._resourceBundle._('Retweet'); - - var html = - '' + - '' + actionLabel + '' + - ''; - - return html; - }; - defaultTweetActionFavoriteDecorator = function(tweet, options) - { - var intentUrl = 'https://twitter.com/intent/favorite?tweet_id=' + tweet.id; - var actionLabel = options._resourceBundle._('Favorite'); - - var html = - '' + - '' + actionLabel + '' + - ''; - - return html; - }; - defaultConnectButtonDecorator = function(options) - { - // the default placeholder for the @Anywhere ConnectButton - return ''; - }; - defaultLoginInfoDecorator = function(options) - { - // the default placeholder for the LoginInfo - return ''; - }; - defaultLoginInfoContentDecorator = function(options, T) - { - // the default markup of the LoginInfo content: the user's profile image, the - // user's screen_name and a "button" to sign out - var html = ''; - - if (T.isConnected()) - { - var screenName = T.currentUser.data('screen_name'); - var imageUrl = T.currentUser.data('profile_image_url'); - - html = - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + screenName + '' + - '' + - '' + - options._resourceBundle._('Sign out') + - '' + - '' + - ' ' - ; - } - - return html; - }; - defaultFollowButtonDecorator = function(options) - { - // the default placeholder for the @Anywhere FollowButton - return ''; - }; - defaultTweetBoxDecorator = function(options) - { - // the default placeholder for the @Anywhere TweetBox - return ''; - }; - defaultLinkDecorator = function(text, options) - { - // the regex to markup links - return text.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi,'$1<\/a>'); - }; - defaultUsernameDecorator = function(text, options) - { - // the regex to markup @usernames. if @Anywhere is present the task is left to - // them - return isAnywherePresent() ? text : text.replace(/\B@(\w+)/gi,'@$1<\/a>'); - }; - defaultHashtagDecorator = function(text, options) - { - // the regex to markup #hashtags - return text.replace(/#([a-zA-Z0-9_]+)/gi,'#$1<\/a>'); - }; - defaultLoadingDecorator = function(options) - { - // the default loading decorator simply says: loading ... - return ' '; - }; - defaultErrorDecorator = function(errorText, options) - { - // the default error decorator shows the error message - return '' + options._resourceBundle._('ERROR') + ': ' + errorText + ''; - }; - defaultNoDataDecorator = function(options) - { - // the default no-data decorator simply says: No more data - return '' + options._resourceBundle._('No more data') + ''; - }; - - defaultTweetFilter = function(tweet, options) - { - return true; - }; - - defaultTweetVisualizer = function(tweetFeedElement, tweetElement, inserter, options) - { - // insert (append/prepend) the tweetElement to the tweetFeedElement - tweetFeedElement[inserter](tweetElement); - }; - defaultLoadingIndicatorVisualizer = function(tweetFeedElement, loadingIndicatorElement, options, callback) - { - defaultVisualizer(tweetFeedElement, loadingIndicatorElement, 'append', 'fadeIn', 600, 'fadeOut', 200, callback); - }; - defaultAutorefreshTriggerVisualizer = function(tweetFeedElement, triggerElement, options, callback) - { - defaultVisualizer(tweetFeedElement, triggerElement, 'prepend', 'slideDown', 600, 'fadeOut', 200, callback); - }; - defaultVisualizer = function(container, element, inserter, effectIn, durationIn, effectOut, durationOut, callback) - { - // if param container is null element has to be removed from - // the DOM, else element has to be inserted in container - - // if param callback is not null, the callback function must be called - // in any case, if the visualizer is done - - var cb = function() - { - if (callback) - { - callback(); - } - }; - - if (container) - { - element.hide(); - container[inserter](element); - element[effectIn](durationIn, cb); - } - else - { - element[effectOut](durationOut, function() - { - element.remove(); - cb(); - }); - } - }; - defaultOnDataRequestHandler = function(stats, options) - { - return true; - }; - defaultOnRateLimitDataHandler = function(stats, options) - { - }; - defaultOnOptionsInitializingHandler = function(options) - { - }; - updateLoginInfoElement = function(options, T) - { - // update the content of the LoginInfo element - if (options._loginInfoElement && options.loginInfoContentDecorator) - { - options._loginInfoElement.children().remove(); - options._loginInfoElement.append(options.loginInfoContentDecorator(options, T)); - $(options._baseSelector + ' .jta-login-info-sign-out').bind('click', function() - { - twttr.anywhere.signOut(); - }); - } - }; - getFeedUrl = function(options, flPaging) - { - // create the Twitter API URL based on the configuration options - var url = ('https:' == document.location.protocol ? 'https:' : 'http:'); - - if (options.searchParams) - { - url += '//search.twitter.com/search.json?' + - ((options.searchParams instanceof Array) ? options.searchParams.join('&') : options.searchParams) + - '&rpp=100'; - } - else if (options.list) - { - if ('favorites' == options.list) - { - url += '//api.twitter.com/1/favorites/' + options.username + '.json?count=20'; - } - else - { - url += '//api.twitter.com/1/' + options.username + '/lists/' + options.list + '/statuses.json?per_page=20'; - } - } - else - { - url += '//api.twitter.com/1/statuses/user_timeline.json?screen_name=' + options.username + '&count=20'; - if (options._tweetFeedConfig.includeRetweets) - url += '&include_rts=true'; - } - - if (flPaging) - { - url += - (options._tweetFeedConfig._maxId ? '&max_id=' + options._tweetFeedConfig._maxId : '') + - '&page=' + options._tweetFeedConfig._pageParam; - } - - url += '&callback=?'; - - return url; - }; - isAnywherePresent = function() - { - // check, if @Anywhere is present - return (typeof(twttr) != 'undefined' && typeof(twttr.anywhere) != 'undefined'); - }; - clearTweetFeed = function(options) - { - if (options._tweetFeedElement) - { - options._tweetFeedElement.empty(); - } - }; - setupOptions = function(options) - { - options._resourceBundle = JTA_I18N.getResourceBundle('jTweetsAnywhere', options.locale); - - options._tweetBoxConfig.label = options._resourceBundle._("What's happening?"); - - // if username is an array, create the search query and flatten username - if (typeof(options.username) != 'string') - { - if (!options.searchParams) - { - options.searchParams = ['q=from:' + options.username.join(" OR from:")]; - } - - options.username = options.username[0]; - } - - // if showTweetFeed is not set to a boolean value, we expect the configuration of - // the tweet feed - if (typeof(options.showTweetFeed) == 'object') - { - $.extend(true, options._tweetFeedConfig, options.showTweetFeed); - } - - // if showTweetBox is not set to a boolean value, we expect the configuration of - // the TweetBox - if (typeof(options.showTweetBox) == 'object') - { - $.extend(true, options._tweetBoxConfig, options.showTweetBox); - options.showTweetBox = true; - } - - // if showConnectButton is not set to a boolean value, we expect the - // configuration of the Connect Button - if (typeof(options.showConnectButton) == 'object') - { - options._connectButtonConfig = options.showConnectButton; - options.showConnectButton = true; - } - - // to be compatible, check the deprecated option 'tweetProfileImagePresent' - if (options._tweetFeedConfig.showProfileImages == null) - { - options._tweetFeedConfig.showProfileImages = options.tweetProfileImagePresent; - } - - // if _tweetFeedConfig.showProfileImages is not set to a boolean value, - // we decide to show a profile image if the feed represents a user's - // list or the results of a Twitter search - if (options._tweetFeedConfig.showProfileImages == null) - { - options._tweetFeedConfig.showProfileImages = (options.list || options.searchParams) && options.tweetProfileImageDecorator; - } - - // handle the autoConformToTwitterStyleguide - if (options._tweetFeedConfig.autoConformToTwitterStyleguide) - { - options._tweetFeedConfig.showUserFullNames = null; - options._tweetFeedConfig.showTwitterBird = true; - options._tweetFeedConfig.showActionReply = true; - options._tweetFeedConfig.showActionRetweet = true; - options._tweetFeedConfig.showActionFavorite = true; - } - - // if _tweetFeedConfig.showUserScreenNames is not set to a boolean value, - // we decide to show a username if the feed represents a user's - // list or the results of a Twitter search or a tweet is a native retweet - if (options._tweetFeedConfig.showUserScreenNames == null) - { - if (options.list || options.searchParams) - { - options._tweetFeedConfig.showUserScreenNames = true; - } - - if (!options.tweetUsernameDecorator) - { - options._tweetFeedConfig.showUserScreenNames = false; - } - } - - // if _tweetFeedConfig.showUserFullNames is not set to a boolean value, - // we decide to show a user's full name if the feed represents a user's - // list or the results of a Twitter search or a tweet is a native retweet - if (options._tweetFeedConfig.showUserFullNames == null) - { - if (options.list || options.searchParams) - { - options._tweetFeedConfig.showUserFullNames = true; - } - - if (!options.tweetUsernameDecorator) - { - options._tweetFeedConfig.showUserFullNames = false; - } - } - - - options.count = validateRange(options.count, 0, options.searchParams ? 100 : 20); - - options._tweetFeedConfig.autorefresh.interval = Math.max(30, options._tweetFeedConfig.autorefresh.interval); - if (options._tweetFeedConfig.autorefresh.max <= 0) - { - options._tweetFeedConfig.autorefresh.max = -1; - } - options._tweetFeedConfig.paging._offset = 0; - options._tweetFeedConfig.paging._limit = options.count; - - // internally, the decision of what parts of a widget are to be - // displayed is based on the existence of the decorators - if (options.count == 0 || !options.showTweetFeed) - { - options.tweetFeedDecorator = null; - options.tweetFeedControlsDecorator = null; - } - - if (options._tweetFeedConfig.paging.mode == 'none') - { - options.tweetFeedControlsDecorator = null; - } - - if (!options.showFollowButton) - { - options.followButtonDecorator = null; - } - - if (!options.showTweetBox) - { - options.tweetBoxDecorator = null; - } - - if (!options.showConnectButton) - { - options.connectButtonDecorator = null; - } - - if (!options.showLoginInfo) - { - options.loginInfoDecorator = null; - } - - if (!options._tweetFeedConfig.showTwitterBird) - { - options.tweetTwitterBirdDecorator = null; - } - - if (!options._tweetFeedConfig.showTimestamp) - { - options.tweetTimestampDecorator = null; - } - - if (!options._tweetFeedConfig.showSource) - { - options.tweetSourceDecorator = null; - } - - if (!options._tweetFeedConfig.showGeoLocation) - { - options.tweetGeoLocationDecorator = null; - } - - if (!options._tweetFeedConfig.showInReplyTo) - { - options.tweetInReplyToDecorator = null; - } - - if (!options._tweetFeedConfig.showActionReply) - { - options.tweetActionReplyDecorator = null; - } - - if (!options._tweetFeedConfig.showActionRetweet) - { - options.tweetActionRetweetDecorator = null; - } - - if (!options._tweetFeedConfig.showActionFavorite) - { - options.tweetActionFavoriteDecorator = null; - } - }; - setupAutorefresh = function(options) - { - options._tweetFeedConfig.autorefresh._startTime = new Date().getTime(); - - startAutorefresh(options); - startTimestampRefresh(options); - }; - populateTweetFeed = function(options) - { - // if a tweet feed is to be displayed, get the tweets and show them - if (options.tweetDecorator && options._tweetFeedElement) - { - getPagedTweets(options, function(tweets, options) - { - if (options._tweetFeedConfig._clearBeforePopulate) - { - clearTweetFeed(options); - } - - hideLoadingIndicator(options, function() - { - // process the tweets - $.each(tweets, function(idx, tweet) - { - // decorate the tweet and give it to the tweet visualizer - options.tweetVisualizer( - options._tweetFeedElement, - $(options.tweetDecorator(tweet, options)), - 'append', - options - ); - }); - - if (options._tweetFeedConfig._noData && options.noDataDecorator && !options._tweetFeedConfig._noDataElement) - { - options._tweetFeedConfig._noDataElement = $(options.noDataDecorator(options)); - options._tweetFeedElement.append(options._tweetFeedConfig._noDataElement); - } - - if (options._tweetFeedConfig._clearBeforePopulate) - { - options._tweetFeedElement.scrollTop(0); - } - - addHovercards(options); - }); - }); - } - }; - populateTweetFeed2 = function(options) - { - if (options._tweetFeedElement && options._autorefreshTweetsCache.length > 0) - { - if (options._tweetFeedConfig.autorefresh.mode == 'trigger-insert') - { - if (options._tweetFeedConfig.autorefresh._triggerElement) - { - if (options.tweetFeedAutorefreshTriggerContentDecorator) - { - options._tweetFeedConfig.autorefresh._triggerElement.html( - options.tweetFeedAutorefreshTriggerContentDecorator(options._autorefreshTweetsCache.length, options) - ); - } - } - else - { - if (options.tweetFeedAutorefreshTriggerDecorator) - { - options._tweetFeedConfig.autorefresh._triggerElement = - $(options.tweetFeedAutorefreshTriggerDecorator(options._autorefreshTweetsCache.length, options)); - options._tweetFeedConfig.autorefresh._triggerElement.bind('click', function() - { - options.autorefreshTriggerVisualizer( - null, - options._tweetFeedConfig.autorefresh._triggerElement, - options, - function() - { - insertTriggerTweets(options); - } - ); - options._tweetFeedConfig.autorefresh._triggerElement = null; - }); - - options.autorefreshTriggerVisualizer(options._tweetFeedElement, options._tweetFeedConfig.autorefresh._triggerElement, options); - } - } - } - else - { - insertTriggerTweets(options); - } - } - }; - insertTriggerTweets = function(options) - { - // populate the tweet feed with tweets from the autorefresh cache - if (options.tweetDecorator && options._autorefreshTweetsCache.length > 0) - { - // process the autorefresh cache - while (options._autorefreshTweetsCache.length > 0) - { - // get the last tweet and remove it from the autorefresh cache - var tweet = options._autorefreshTweetsCache.pop(); - - // put that tweet on top of the tweets cache - options._tweetsCache.unshift(tweet); - - // adjust paging offset - options._tweetFeedConfig.paging._offset++; - - // decorate the tweet and give it to the tweet visualizer - options.tweetVisualizer( - options._tweetFeedElement, - $(options.tweetDecorator(tweet, options)), - 'prepend', - options - ); - } - - addHovercards(options); - } - }; - addHovercards = function(options) - { - if (isAnywherePresent()) - { - // if @Anywhere is present, append Hovercards to @username and - // profile images - twttr.anywhere(function(T) - { - T(options._baseSelector + ' .jta-tweet-list').hovercards({expanded: options._tweetFeedConfig.expandHovercards}); - T(options._baseSelector + ' .jta-tweet-profile-image img').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.alt; } - }); - T(options._baseSelector + ' .jta-tweet-retweeter-link').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.text; } - }); - T(options._baseSelector + ' .jta-tweet-user-screen-name-link').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.text; } - }); - T(options._baseSelector + ' .jta-tweet-user-full-name-link').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.name; } - }); - }); - } - }; - populateAnywhereControls = function(options) - { - if (isAnywherePresent()) - { - twttr.anywhere(function(T) - { - // optionally add an @Anywhere TweetBox - if (options.tweetBoxDecorator) - { - T(options._baseSelector + ' .jta-tweet-box').tweetBox(options._tweetBoxConfig); - } - - // optionally add an @Anywhere FollowButton - if (options.followButtonDecorator) - { - T(options._baseSelector + ' .jta-follow-button').followButton(options.username); - } - - // optionally add an @Anywhere ConnectButton - if (options.connectButtonDecorator) - { - var o = $.extend( - { - authComplete: function(user) - { - // display/update login infos on connect/signin event - updateLoginInfoElement(options, T); - }, - signOut: function() - { - // display/update login infos on signout event - updateLoginInfoElement(options, T); - } - }, options._connectButtonConfig); - - T(options._baseSelector + ' .jta-connect-button').connectButton(o); - - // display/update login infos - updateLoginInfoElement(options, T); - } - }); - } - }; - bindEventHandlers = function(options) - { - if (options.tweetFeedControlsDecorator) - { - if (options._tweetFeedConfig.paging.mode == 'prev-next') - { - $(options._baseSelector + ' .jta-tweet-list-controls-button-prev').bind('click', function() - { - if (!isLoading(options) && options._tweetFeedConfig.paging._offset > 0) - { - prevPage(options, true); - } - }); - $(options._baseSelector + ' .jta-tweet-list-controls-button-next').bind('click', function() - { - if (!isLoading(options)) - { - nextPage(options, true); - } - }); - } - else if (options._tweetFeedConfig.paging.mode == 'endless-scroll') - { - options._tweetFeedElement.bind("scroll", function() - { - if (!isLoading(options) && ($(this)[0].scrollHeight - $(this).scrollTop() == $(this).outerHeight())) - { - nextPage(options, false); - } - }); - } - else - { - $(options._baseSelector + ' .jta-tweet-list-controls-button-more').bind('click', function() - { - if (!isLoading(options)) - { - nextPage(options, false); - } - }); - } - } - }; - nextPage = function(options, flClear) - { - doPage(options, flClear, Math.min(options._tweetFeedConfig.paging._offset + options._tweetFeedConfig.paging._limit, options._tweetsCache.length)); - }; - prevPage = function(options, flClear) - { - doPage(options, flClear, Math.max(0, options._tweetFeedConfig.paging._offset - options._tweetFeedConfig.paging._limit)); - }; - doPage = function(options, flClear, newOffset) - { - options._tweetFeedConfig.paging._offset = newOffset; - options._tweetFeedConfig._clearBeforePopulate = flClear; - - populateTweetFeed(options); - }; - startAutorefresh = function(options) - { - if (options._tweetFeedConfig.autorefresh.mode != 'none' && - options._tweetFeedConfig.paging.mode != 'prev-next' && - options._tweetFeedConfig.autorefresh.duration != 0 && - ( - options._tweetFeedConfig.autorefresh.duration < 0 || - (new Date().getTime() - options._tweetFeedConfig.autorefresh._startTime) <= options._tweetFeedConfig.autorefresh.duration * 1000 - ) - ) - { - window.setTimeout(function() { processAutorefresh(options); }, options._tweetFeedConfig.autorefresh.interval * 1000); - } - }; - stopAutorefresh = function(options) - { - options._tweetFeedConfig.autorefresh.duration = 0; - }; - processAutorefresh = function(options) - { - if (options._tweetFeedConfig.autorefresh.duration != 0) - { - // load the data ... - getRateLimitedData(options, true, getFeedUrl(options, false), function(data, options) - { - // reverse the sequence of the autorefresh tweets ... - var tweets = (data.results || data).slice(0); - tweets.reverse(); - - // ...then process them - $.each(tweets, function(idx, tweet) - { - // Snowflake support: just update ids that are currently used - if (tweet.id_str) - { - tweet.id = tweet.id_str; - } - - if (tweet.in_reply_to_status_id_str) - { - tweet.in_reply_to_status_id = tweet.in_reply_to_status_id_str; - } - - // if this tweet is already in one of the tweet caches, ignore it - if (!isTweetInAutorefreshCache(tweet, options) && !isTweetInCache(tweet, options)) - { - // optionally filter tweet ... - if (options.tweetFilter(tweet, options)) - { - // ... then put it to the top of the autorefresh cache - options._autorefreshTweetsCache.unshift(tweet); - - // if a maximum autorefresh cache size is configured, remove elder tweets - if (options._tweetFeedConfig.autorefresh.max > 0) - { - while (options._autorefreshTweetsCache.length > options._tweetFeedConfig.autorefresh.max) - { - options._autorefreshTweetsCache.pop(); - } - } - } - } - }); - - populateTweetFeed2(options); - }); - - // restart autorefresh - startAutorefresh(options); - } - }; - startTimestampRefresh = function(options) - { - if ( - options.tweetTimestampDecorator && - typeof(options._tweetFeedConfig.showTimestamp) == 'object' && - options._tweetFeedConfig.showTimestamp.refreshInterval > 0 - ) - { - window.setTimeout(function() { processTimestampRefresh(options); }, options._tweetFeedConfig.showTimestamp.refreshInterval * 1000); - } - }; - processTimestampRefresh = function(options) - { - $.each(options._tweetFeedElement.find('.jta-tweet-timestamp-link'), function(idx, element) - { - var dataTimestamp = $(element).attr('data-timestamp'); - - $(element).html(options.tweetTimestampFormatter(dataTimestamp, options)); - }); - - startTimestampRefresh(options); - }; - isTweetInCache = function(tweet, options) - { - var l = options._tweetsCache.length; - - for (var i = 0; i < l; i++) - { - if (tweet.id == options._tweetsCache[i].id) - { - return true; - } - } - - return false; - }; - isTweetInAutorefreshCache = function(tweet, options) - { - var l = options._autorefreshTweetsCache.length; - - for (var i = 0; i < l; i++) - { - if (tweet.id == options._autorefreshTweetsCache[i].id) - { - return true; - } - } - - return false; - }; - showLoadingIndicator = function(options) - { - if (options._tweetFeedElement && options.loadingDecorator && !options._loadingIndicatorElement) - { - options._loadingIndicatorElement = $(options.loadingDecorator(options)); - options.loadingIndicatorVisualizer(options._tweetFeedElement, options._loadingIndicatorElement, options, null); - options._tweetFeedElement.scrollTop(1000000); - } - }; - hideLoadingIndicator = function(options, callback) - { - if (options._loadingIndicatorElement) - { - options.loadingIndicatorVisualizer(null, options._loadingIndicatorElement, options, callback); - options._loadingIndicatorElement = null; - } - else - { - if (callback) - { - callback(); - } - } - }; - isLoading = function(options) - { - return options._loadingIndicatorElement != null; - }; - formatDate = function(dateStr) - { - return dateStr.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i, '$1,$2$4$3'); - }; - getUserScreenName = function(tweet) - { - var screenName = tweet.user ? tweet.user.screen_name : false || tweet.from_user; - - return screenName; - }; - getScreenName = function(tweet) - { - var t = tweet.retweeted_status || tweet; - var screenName = t.user ? t.user.screen_name : false || t.from_user; - - return screenName; - }; - getFullName = function(tweet) - { - var t = tweet.retweeted_status || tweet; - var fullName = t.user ? t.user.name : undefined; - - return fullName; - }; - validateRange = function(num, lo, hi) - { - if (num < lo) - num = lo; - - if (num > hi) - num = hi; - - return num; - }; - showError = function(options, errorText) - { - if (options.errorDecorator && options._tweetFeedElement) - { - options._tweetFeedElement.append(options.errorDecorator(errorText, options)); - } - }; - getPagedTweets = function(options, callback) - { - options._tweetFeedConfig._recLevel = 0; - - getRecPagedTweets(options, options._tweetFeedConfig.paging._offset, options._tweetFeedConfig.paging._limit, callback); - }; - getRecPagedTweets = function(options, offset, limit, callback) - { - ++options._tweetFeedConfig._recLevel; - - if (offset + limit <= options._tweetsCache.length || - options._tweetFeedConfig._recLevel > 3 || - options._tweetFeedConfig._noData - ) - { - // if the requested data is already cached or the max. no. of - // consecutive API calls is reached, use the records - - if (offset + limit > options._tweetsCache.length) - { - limit = Math.max(0, options._tweetsCache.length - offset); - } - - var tweets = []; - - for (var i = 0; i < limit; i++) - { - tweets[i] = options._tweetsCache[offset + i]; - } - - callback(tweets, options); - } - else - { - // ... if not, load the data, fill the cache and try again - ++options._tweetFeedConfig._pageParam; - - getRateLimitedData(options, false, getFeedUrl(options, true), function(data, options) - { - var tweets = data.results || data; - - if (tweets.length == 0) - { - options._tweetFeedConfig._noData = true; - } - else - { - $.each(tweets, function(idx, tweet) - { - // Snowflake support: just update ids that are currently used - if (tweet.id_str) - { - tweet.id = tweet.id_str; - } - - if (tweet.in_reply_to_status_id_str) - { - tweet.in_reply_to_status_id = tweet.in_reply_to_status_id_str; - } - - // save the first tweet id for subsequent paging requests - if (!options._tweetFeedConfig._maxId) - { - options._tweetFeedConfig._maxId = tweet.id; - } - - // optionally filter tweet ... - if (options.tweetFilter(tweet, options)) - { - // then put it into the cache - options._tweetsCache.push(tweet); - } - }); - } - - getRecPagedTweets(options, offset, limit, callback); - }); - } - }; - getRateLimitedData = function(options, flAutorefresh, url, callback) - { - getRateLimit(options, function(rateLimit) - { - if (rateLimit && rateLimit.remaining_hits <= 0) - { - options._stats.rateLimitPreventionCount++; - hideLoadingIndicator(options, null); - return; - } - - getData(options, flAutorefresh, url, callback); - }); - }; - getData = function(options, flAutorefresh, url, callback) - { - options._stats.dataRequestCount++; - - if (!options.onDataRequestHandler(options._stats, options)) - { - hideLoadingIndicator(options, null); - return; - } - - if (!flAutorefresh) - { - showLoadingIndicator(options); - } - - options.tweetDataProvider(url, function(data) - { - if (data.error) - { - // in case of an error, display the error message - showError(options, data.error); - } - else - { - callback(data, options); - } - }); - }; - getRateLimit = function(options, callback) - { - options.rateLimitDataProvider(function(rateLimit) - { - options._stats.rateLimit = rateLimit; - - options.onRateLimitDataHandler(options._stats, options); - - callback(rateLimit); - }); - }; - defaultTweetDataProvider = function(url, callback) - { - $.getJSON(url, callback); - }; - defaultRateLimitDataProvider = function(callback) - { - $.getJSON('http://api.twitter.com/1/account/rate_limit_status.json?callback=?', callback); - }; -})(jQuery); diff --git a/content/js/_main.js b/content/js/_main.js deleted file mode 100644 index e69de29..0000000 diff --git a/content/js/_modernizr.js b/content/js/_modernizr.js deleted file mode 100644 index 86e910e..0000000 --- a/content/js/_modernizr.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.6.1 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexbox_legacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(['#modernizr:after{content:"',l,'";visibility:hidden}'].join(""),function(b){a=b.offsetHeight>=1}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),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._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this); \ No newline at end of file diff --git a/content/js/application.js b/content/js/application.js deleted file mode 100644 index 07727f6..0000000 --- a/content/js/application.js +++ /dev/null @@ -1,6 +0,0 @@ -//= require _modernizr.js -//= require _respond.js -//= require _jquery.js -//= require _jquery_easing.js - -//= require _main.js diff --git a/content/js/foundation.js b/content/js/foundation.js new file mode 100644 index 0000000..06237ad --- /dev/null +++ b/content/js/foundation.js @@ -0,0 +1,15 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2013, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ +/*jslint unparam: true, browser: true, indent: 2 */ +// Accommodate running jQuery or Zepto in noConflict() mode by +// using an anonymous function to redefine the $ shorthand name. +// See http://docs.jquery.com/Using_jQuery_with_Other_Libraries +// and http://zeptojs.com/ +var libFuncName=null;if(typeof jQuery=="undefined"&&typeof Zepto=="undefined"&&typeof $=="function")libFuncName=$;else if(typeof jQuery=="function")libFuncName=jQuery;else{if(typeof Zepto!="function")throw new TypeError;libFuncName=Zepto}(function(e,t,n,r){"use strict";Array.prototype.filter||(Array.prototype.filter=function(e){if(this==null)throw new TypeError;var t=Object(this),n=t.length>>>0;if(typeof e!="function")return;var r=[],i=arguments[1];for(var s=0;s>>0;if(n===0)return-1;var r=0;arguments.length>1&&(r=Number(arguments[1]),r!=r?r=0:r!=0&&r!=Infinity&&r!=-Infinity&&(r=(r>0||-1)*Math.floor(Math.abs(r))));if(r>=n)return-1;var i=r>=0?r:Math.max(n-Math.abs(r),0);for(;i0)for(var l=u.length-1;l>=0;l--)f.push(this.init_lib(u[l],a))}else for(var c in this.libs)f.push(this.init_lib(c,a));return typeof n=="function"&&a.unshift(n),this.response_obj(f,a)},response_obj:function(e,t){for(var n=0,r=t.length;n=0;r--)this.lib_methods.hasOwnProperty(n[r])&&(this.libs[e.name][n[r]]=this.lib_methods[n[r]])},random_str:function(e){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split("");e||(e=Math.floor(Math.random()*t.length));var n="";for(var r=0;r=0;r--)i=s[r].split(":"),/true/i.test(i[1])&&(i[1]=!0),/false/i.test(i[1])&&(i[1]=!1),u(i[1])&&(i[1]=parseInt(i[1],10)),i.length===2&&i[0].length>0&&(n[a(i[0])]=a(i[1]));return n},delay:function(e,t){return setTimeout(e,t)},scrollTo:function(n,r,i){if(i<0)return;var s=r-e(t).scrollTop(),o=s/i*10;this.scrollToTimerCache=setTimeout(function(){isNaN(parseInt(o,10))||(t.scrollTo(0,e(t).scrollTop()+o),this.scrollTo(n,r,i-10))}.bind(this),10)},scrollLeft:function(e){if(!e.length)return;return"scrollLeft"in e[0]?e[0].scrollLeft:e[0].pageXOffset},empty:function(e){if(e.length&&e.length>0)return!1;if(e.length&&e.length===0)return!0;for(var t in e)if(hasOwnProperty.call(e,t))return!1;return!0}},fix_outer:function(e){e.outerHeight=function(e,t){return typeof Zepto=="function"?e.height():typeof t!="undefined"?e.outerHeight(t):e.outerHeight()},e.outerWidth=function(e){return typeof Zepto=="function"?e.width():typeof bool!="undefined"?e.outerWidth(bool):e.outerWidth()}},error:function(e){return e.name+" "+e.message+"; "+e.more},off:function(){return e(this.scope).off(".fndtn"),e(t).off(".fndtn"),!0},zj:function(){try{return Zepto}catch(e){return jQuery}}()},e.fn.foundation=function(){var e=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(e)),this})}})(libFuncName,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.alerts={name:"alerts",version:"4.0.0",settings:{speed:300,callback:function(){}},init:function(t,n,r){return this.scope=t||this.scope,typeof n=="object"&&e.extend(!0,this.settings,n),typeof n!="string"?(this.settings.init||this.events(),this.settings.init):this[n].call(this,r)},events:function(){var t=this;e(this.scope).on("click.fndtn.alerts","[data-alert] a.close",function(n){n.preventDefault(),e(this).closest("[data-alert]").fadeOut(t.speed,function(){e(this).remove(),t.settings.callback()})}),this.settings.init=!0},off:function(){e(this.scope).off(".fndtn.alerts")}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.clearing={name:"clearing",version:"4.1.3",settings:{templates:{viewing:'×'},close_selectors:".clearing-close",init:!1,locked:!1},init:function(t,n,r){var i=this;return Foundation.inherit(this,"set_data get_data remove_data throttle data_options"),typeof n=="object"&&(r=e.extend(!0,this.settings,n)),typeof n!="string"?(e(this.scope).find("ul[data-clearing]").each(function(){var t=e(this),n=n||{},r=t.find("li"),s=i.get_data(t);!s&&r.length>0&&(n.$parent=t.parent(),i.set_data(t,e.extend({},i.settings,n,i.data_options(t))),i.assemble(t.find("li")),i.settings.init||i.events().swipe_events())}),this.settings.init):this[n].call(this,r)},events:function(){var n=this;return e(this.scope).on("click.fndtn.clearing","ul[data-clearing] li",function(t,r,i){var r=r||e(this),i=i||r,s=r.next("li"),o=n.get_data(r.parent()),u=e(t.target);t.preventDefault(),o||n.init(),i.hasClass("visible")&&r[0]===i[0]&&s.length>0&&n.is_open(r)&&(i=s,u=i.find("img")),n.open(u,r,i),n.update_paddles(i)}).on("click.fndtn.clearing",".clearing-main-next",function(e){this.nav(e,"next")}.bind(this)).on("click.fndtn.clearing",".clearing-main-prev",function(e){this.nav(e,"prev")}.bind(this)).on("click.fndtn.clearing",this.settings.close_selectors,function(e){Foundation.libs.clearing.close(e,this)}).on("keydown.fndtn.clearing",function(e){this.keydown(e)}.bind(this)),e(t).on("resize.fndtn.clearing",function(){this.resize()}.bind(this)),this.settings.init=!0,this},swipe_events:function(){var t=this;e(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(t){t.touches||(t=t.originalEvent);var n={start_page_x:t.touches[0].pageX,start_page_y:t.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:r};e(this).data("swipe-transition",n),t.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(n){n.touches||(n=n.originalEvent);if(n.touches.length>1||n.scale&&n.scale!==1)return;var r=e(this).data("swipe-transition");typeof r=="undefined"&&(r={}),r.delta_x=n.touches[0].pageX-r.start_page_x,typeof r.is_scrolling=="undefined"&&(r.is_scrolling=!!(r.is_scrolling||Math.abs(r.delta_x)');var r=e("#foundationClearingHolder"),i=this.get_data(n),s=n.detach(),o={grid:''+this.outerHTML(s[0])+"",viewing:i.templates.viewing},u=''+o.viewing+o.grid+"";return r.after(u).remove()},open:function(e,t,n){var r=n.closest(".clearing-assembled"),i=r.find("div").first(),s=i.find(".visible-img"),o=s.find("img").not(e);this.locked()||(o.attr("src",this.load(e)).css("visibility","hidden"),this.loaded(o,function(){o.css("visibility","visible"),r.addClass("clearing-blackout"),i.addClass("clearing-container"),s.show(),this.fix_height(n).caption(s.find(".clearing-caption"),e).center(o).shift(t,n,function(){n.siblings().removeClass("visible"),n.addClass("visible")})}.bind(this)))},close:function(t,n){t.preventDefault();var r=function(e){return/blackout/.test(e.selector)?e:e.closest(".clearing-blackout")}(e(n)),i,s;return n===t.target&&r&&(i=r.find("div").first(),s=i.find(".visible-img"),this.settings.prev_index=0,r.find("ul[data-clearing]").attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),i.removeClass("clearing-container"),s.hide()),!1},is_open:function(e){return e.parent().attr("style").length>0},keydown:function(t){var n=e(".clearing-blackout").find("ul[data-clearing]");t.which===39&&this.go(n,"next"),t.which===37&&this.go(n,"prev"),t.which===27&&e("a.clearing-close").trigger("click")},nav:function(t,n){var r=e(".clearing-blackout").find("ul[data-clearing]");t.preventDefault(),this.go(r,n)},resize:function(){var t=e(".clearing-blackout .visible-img").find("img");t.length&&this.center(t)},fix_height:function(t){var n=t.parent().children(),r=this;return n.each(function(){var t=e(this),n=t.find("img");t.height()>r.outerHeight(n)&&t.addClass("fix-height")}).closest("ul").width(n.length*100+"%"),this},update_paddles:function(e){var t=e.closest(".carousel").siblings(".visible-img");e.next().length>0?t.find(".clearing-main-next").removeClass("disabled"):t.find(".clearing-main-next").addClass("disabled"),e.prev().length>0?t.find(".clearing-main-prev").removeClass("disabled"):t.find(".clearing-main-prev").addClass("disabled")},center:function(e){return this.rtl?e.css({marginRight:-(this.outerWidth(e)/2),marginTop:-(this.outerHeight(e)/2)}):e.css({marginLeft:-(this.outerWidth(e)/2),marginTop:-(this.outerHeight(e)/2)}),this},load:function(e){if(e[0].nodeName==="A")var t=e.attr("href");else var t=e.parent().attr("href");return this.preload(e),t?t:e.attr("src")},preload:function(e){this.img(e.closest("li").next()).img(e.closest("li").prev())},loaded:function(e,t){function n(){t()}function r(){this.one("load",n);if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var e=this.attr("src"),t=e.match(/\?/)?"&":"?";t+="random="+(new Date).getTime(),this.attr("src",e+t)}}if(!e.attr("src")){n();return}e[0].complete||e[0].readyState===4?n():r.call(e)},img:function(e){if(e.length){var t=new Image,n=e.find("a");n.length?t.src=n.attr("href"):t.src=e.find("img").attr("src")}return this},caption:function(e,t){var n=t.data("caption");return n?e.text(n).show():e.text("").hide(),this},go:function(e,t){var n=e.find(".visible"),r=n[t]();r.length&&r.find("img").trigger("click",[n,r])},shift:function(e,t,n){var r=t.parent(),i=this.settings.prev_index||t.index(),s=this.direction(r,e,t),o=parseInt(r.css("left"),10),u=this.outerWidth(t),a;t.index()!==i&&!/skip/.test(s)?/left/.test(s)?(this.lock(),r.animate({left:o+u},300,this.unlock())):/right/.test(s)&&(this.lock(),r.animate({left:o-u},300,this.unlock())):/skip/.test(s)&&(a=t.index()-this.settings.up_count,this.lock(),a>0?r.animate({left:-(a*u)},300,this.unlock()):r.animate({left:0},300,this.unlock())),n()},direction:function(t,n,r){var i=t.find("li"),s=this.outerWidth(i)+this.outerWidth(i)/4,o=Math.floor(this.outerWidth(e(".clearing-container"))/s)-1,u=i.index(r),a;return this.settings.up_count=o,this.adjacent(this.settings.prev_index,u)?u>o&&u>this.settings.prev_index?a="right":u>o-1&&u<=this.settings.prev_index?a="left":a=!1:a="skip",this.settings.prev_index=u,a},adjacent:function(e,t){for(var n=t+1;n>=t-1;n--)if(n===e)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},outerHTML:function(e){return e.outerHTML||(new XMLSerializer).serializeToString(e)},off:function(){e(this.scope).off(".fndtn.clearing"),e(t).off(".fndtn.clearing"),this.remove_data(),this.settings.init=!1},reflow:function(){this.init()}}}(Foundation.zj,this,this.document),function(e,t,n){function i(e){return e}function s(e){return decodeURIComponent(e.replace(r," "))}var r=/\+/g,o=e.cookie=function(r,u,a){if(u!==n){a=e.extend({},o.defaults,a),u===null&&(a.expires=-1);if(typeof a.expires=="number"){var f=a.expires,l=a.expires=new Date;l.setDate(l.getDate()+f)}return u=o.json?JSON.stringify(u):String(u),t.cookie=[encodeURIComponent(r),"=",o.raw?u:encodeURIComponent(u),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}var c=o.raw?i:s,h=t.cookie.split("; ");for(var p=0,d=h.length;p0&&(e(t.target).is("[data-dropdown-content]")||e.contains(r.first()[0],t.target))){t.stopPropagation();return}n.close.call(n,e("[data-dropdown-content]"))}),e(t).on("resize.fndtn.dropdown",n.throttle(function(){n.resize.call(n)},50)).trigger("resize"),this.settings.init=!0},close:function(t){var n=this;t.each(function(){e(this).hasClass(n.settings.activeClass)&&(e(this).css(Foundation.rtl?"right":"left","-99999px").removeClass(n.settings.activeClass),e(this).trigger("closed"))})},open:function(e,t){this.css(e.addClass(this.settings.activeClass),t),e.trigger("opened")},toggle:function(t){var n=e("#"+t.data("dropdown"));this.close.call(this,e("[data-dropdown-content]").not(n)),n.hasClass(this.settings.activeClass)?this.close.call(this,n):this.open.call(this,n,t)},resize:function(){var t=e("[data-dropdown-content].open"),n=e("[data-dropdown='"+t.attr("id")+"']");t.length&&n.length&&this.css(t,n)},css:function(n,r){if(/body/i.test(n.offsetParent()[0].nodeName)){var i=r.offset();i.top-=n.offsetParent().offset().top,i.left-=n.offsetParent().offset().left}else var i=r.position();if(this.small())n.css({position:"absolute",width:"95%",left:"2.5%","max-width":"none",top:i.top+this.outerHeight(r)});else{if(!Foundation.rtl&&e(t).width()>this.outerWidth(n)+r.offset().left)var s=i.left;else{n.hasClass("right")||n.addClass("right");var s=i.left-(this.outerWidth(n)-this.outerWidth(r))}n.attr("style","").css({position:"absolute",top:i.top+this.outerHeight(r),left:s})}return n},small:function(){return e(t).width()<768||e("html").hasClass("lt-ie9")},off:function(){e(this.scope).off(".fndtn.dropdown"),e("html, body").off(".fndtn.dropdown"),e(t).off(".fndtn.dropdown"),e("[data-dropdown-content]").off(".fndtn.dropdown"),this.settings.init=!1}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.forms={name:"forms",version:"4.1.6",cache:{},settings:{disable_class:"no-custom",last_combo:null},init:function(t,n,r){return typeof n=="object"&&e.extend(!0,this.settings,n),typeof n!="string"?(this.settings.init||this.events(),this.assemble(),this.settings.init):this[n].call(this,r)},assemble:function(){e('form.custom input[type="radio"]',e(this.scope)).not('[data-customforms="disabled"]').each(this.append_custom_markup),e('form.custom input[type="checkbox"]',e(this.scope)).not('[data-customforms="disabled"]').each(this.append_custom_markup),e("form.custom select",e(this.scope)).not('[data-customforms="disabled"]').not("[multiple=multiple]").each(this.append_custom_select)},events:function(){var r=this;e(this.scope).on("click.fndtn.forms","form.custom span.custom.checkbox",function(t){t.preventDefault(),t.stopPropagation(),r.toggle_checkbox(e(this))}).on("click.fndtn.forms","form.custom span.custom.radio",function(t){t.preventDefault(),t.stopPropagation(),r.toggle_radio(e(this))}).on("change.fndtn.forms",'form.custom select:not([data-customforms="disabled"])',function(t,n){r.refresh_custom_select(e(this),n)}).on("click.fndtn.forms","form.custom label",function(t){if(e(t.target).is("label")){var n=e("#"+r.escape(e(this).attr("for"))+':not([data-customforms="disabled"])'),i,s;n.length!==0&&(n.attr("type")==="checkbox"?(t.preventDefault(),i=e(this).find("span.custom.checkbox"),i.length==0&&(i=n.add(this).siblings("span.custom.checkbox").first()),r.toggle_checkbox(i)):n.attr("type")==="radio"&&(t.preventDefault(),s=e(this).find("span.custom.radio"),s.length==0&&(s=n.add(this).siblings("span.custom.radio").first()),r.toggle_radio(s)))}}).on("click.fndtn.forms","form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector",function(t){var n=e(this),s=n.closest("div.custom.dropdown"),o=i(s,"select");s.hasClass("open")||e(r.scope).trigger("click"),t.preventDefault();if(!1===o.is(":disabled"))return s.toggleClass("open"),s.hasClass("open")?e(r.scope).on("click.fndtn.forms.customdropdown",function(){s.removeClass("open"),e(r.scope).off(".fndtn.forms.customdropdown")}):e(r.scope).on(".fndtn.forms.customdropdown"),!1}).on("click.fndtn.forms touchend.fndtn.forms","form.custom div.custom.dropdown li",function(t){var n=e(this),r=n.closest("div.custom.dropdown"),s=i(r,"select"),o=0;t.preventDefault(),t.stopPropagation();if(!e(this).hasClass("disabled")){e("div.dropdown").not(r).removeClass("open");var u=n.closest("ul").find("li.selected");u.removeClass("selected"),n.addClass("selected"),r.removeClass("open").find("a.current").text(n.text()),n.closest("ul").find("li").each(function(e){n[0]==this&&(o=e)}),s[0].selectedIndex=o,s.data("prevalue",u.html()),s.trigger("change")}}),e(t).on("keydown",function(t){var r=n.activeElement,i=Foundation.libs.forms,s=e(".custom.dropdown.open");if(s.length>0){t.preventDefault(),t.which===13&&s.find("li.selected").trigger("click"),t.which===27&&s.removeClass("open");if(t.which>=65&&t.which<=90){var o=i.go_to(s,t.which),u=s.find("li.selected");o&&(u.removeClass("selected"),i.scrollTo(o.addClass("selected"),300))}if(t.which===38){var u=s.find("li.selected"),a=u.prev(":not(.disabled)");a.length>0&&(a.parent()[0].scrollTop=a.parent().scrollTop()-i.outerHeight(a),u.removeClass("selected"),a.addClass("selected"))}else if(t.which===40){var u=s.find("li.selected"),o=u.next(":not(.disabled)");o.length>0&&(o.parent()[0].scrollTop=o.parent().scrollTop()+i.outerHeight(o),u.removeClass("selected"),o.addClass("selected"))}}}),this.settings.init=!0},go_to:function(e,t){var n=e.find("li"),r=n.length;if(r>0)for(var i=0;i').insertAfter(r)),s.toggleClass("checked",r.is(":checked")),s.toggleClass("disabled",r.is(":disabled"))},append_custom_select:function(t,n){var r=Foundation.libs.forms,i=e(n),s=i.next("div.custom.dropdown"),o=s.find("ul"),u=s.find(".current"),a=s.find(".selector"),f=i.find("option"),l=f.filter(":selected"),c=i.attr("class")?i.attr("class").split(" "):[],h=0,p="",d,v=!1;if(i.hasClass(r.settings.disable_class))return;if(s.length===0){var m=i.hasClass("small")?"small":i.hasClass("medium")?"medium":i.hasClass("large")?"large":i.hasClass("expand")?"expand":"";s=e(''),a=s.find(".selector"),o=s.find("ul"),p=f.map(function(){return""+e(this).html()+""}).get().join(""),o.append(p),v=s.prepend(''+l.html()+"").find(".current"),i.after(s).addClass("hidden-field")}else p=f.map(function(){return""+e(this).html()+""}).get().join(""),o.html("").append(p);r.assign_id(i,s),s.toggleClass("disabled",i.is(":disabled")),d=o.find("li"),r.cache[s.data("id")]=d.length,f.each(function(t){this.selected&&(d.eq(t).addClass("selected"),v&&v.html(e(this).html())),e(this).is(":disabled")&&d.eq(t).addClass("disabled")});if(!s.is(".small, .medium, .large, .expand")){s.addClass("open");var r=Foundation.libs.forms;r.hidden_fix.adjust(o),h=r.outerWidth(d)>h?r.outerWidth(d):h,Foundation.libs.forms.hidden_fix.reset(),s.removeClass("open")}},assign_id:function(e,t){var n=[+(new Date),Foundation.random_str(5)].join("-");e.attr("data-id",n),t.attr("data-id",n)},refresh_custom_select:function(t,n){var r=this,i=0,s=t.next(),o=t.find("option"),u=s.find("li");if(u.length!=this.cache[s.data("id")]||n)s.find("ul").html(""),o.each(function(){var t=e(""+e(this).html()+"");s.find("ul").append(t)}),o.each(function(t){this.selected&&(s.find("li").eq(t).addClass("selected"),s.find(".current").html(e(this).html())),e(this).is(":disabled")&&s.find("li").eq(t).addClass("disabled")}),s.removeAttr("style").find("ul").removeAttr("style"),s.find("li").each(function(){s.addClass("open"),r.outerWidth(e(this))>i&&(i=r.outerWidth(e(this))),s.removeClass("open")}),u=s.find("li"),this.cache[s.data("id")]=u.length},toggle_checkbox:function(e){var t=e.prev(),n=t[0];!1===t.is(":disabled")&&(n.checked=n.checked?!1:!0,e.toggleClass("checked"),t.trigger("change"))},toggle_radio:function(e){var t=e.prev(),n=t.closest("form.custom"),r=t[0];!1===t.is(":disabled")&&(n.find('input[type="radio"][name="'+this.escape(t.attr("name"))+'"]').next().not(e).removeClass("checked"),e.hasClass("checked")||e.toggleClass("checked"),r.checked=e.hasClass("checked"),t.trigger("change"))},escape:function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},hidden_fix:{tmp:[],hidden:null,adjust:function(t){var n=this;n.hidden=t.parents().andSelf().filter(":hidden"),n.hidden.each(function(){var t=e(this);n.tmp.push(t.attr("style")),t.css({visibility:"hidden",display:"block"})})},reset:function(){var t=this;t.hidden.each(function(n){var i=e(this),s=t.tmp[n];s===r?i.removeAttr("style"):i.attr("style",s)}),t.tmp=[],t.hidden=null}},off:function(){e(this.scope).off(".fndtn.forms")}};var i=function(t,n){var t=t.prev();while(t.length){if(t.is(n))return t;t=t.prev()}return e()}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.joyride={name:"joyride",version:"4.1.2",defaults:{expose:!1,modal:!1,tipLocation:"bottom",nubPosition:"auto",scrollSpeed:300,timer:0,startTimerOnClick:!0,startOffset:0,nextButton:!0,tipAnimation:"fade",pauseAfter:[],exposed:[],tipAnimationFadeSpeed:300,cookieMonster:!1,cookieName:"joyride",cookieDomain:!1,cookieExpires:365,tipContainer:"body",postRideCallback:function(){},postStepCallback:function(){},preStepCallback:function(){},preRideCallback:function(){},postExposeCallback:function(){},template:{link:'×',timer:'',tip:'',wrapper:'',button:'',modal:'',expose:'',exposeCover:''}},settings:{},init:function(t,n,r){return this.scope=t||this.scope,Foundation.inherit(this,"throttle data_options scrollTo scrollLeft delay"),typeof n=="object"?e.extend(!0,this.settings,this.defaults,n):e.extend(!0,this.settings,this.defaults,r),typeof n!="string"?(this.settings.init||this.events(),this.settings.init):this[n].call(this,r)},events:function(){var n=this;e(this.scope).on("click.joyride",".joyride-next-tip, .joyride-modal-bg",function(e){e.preventDefault(),this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())}.bind(this)).on("click.joyride",".joyride-close-tip",function(e){e.preventDefault(),this.end()}.bind(this)),e(t).on("resize.fndtn.joyride",n.throttle(function(){if(e("[data-joyride]").length>0&&n.settings.$next_tip){if(n.settings.exposed.length>0){var t=e(n.settings.exposed);t.each(function(){var t=e(this);n.un_expose(t),n.expose(t)})}n.is_phone()?n.pos_phone():n.pos_default(!1,!0)}},100)),this.settings.init=!0},start:function(){var t=this,n=e(this.scope).find("[data-joyride]"),r=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],i=r.length;this.settings.init||this.init(),this.settings.$content_el=n,this.settings.$body=e(this.settings.tipContainer),this.settings.body_offset=e(this.settings.tipContainer).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.tipLocationPatterns={top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},typeof e.cookie!="function"&&(this.settings.cookieMonster=!1);if(!this.settings.cookieMonster||this.settings.cookieMonster&&e.cookie(this.settings.cookieName)===null)this.settings.$tip_content.each(function(n){var s=e(this);e.extend(!0,t.settings,t.data_options(s));for(var o=i-1;o>=0;o--)t.settings[r[o]]=parseInt(t.settings[r[o]],10);t.create({$li:s,index:n})}),!this.settings.startTimerOnClick&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")},resume:function(){this.set_li(),this.show()},tip_template:function(t){var n,r;return t.tip_class=t.tip_class||"",n=e(this.settings.template.tip).addClass(t.tip_class),r=e.trim(e(t.li).html())+this.button_text(t.button_text)+this.settings.template.link+this.timer_instance(t.index),n.append(e(this.settings.template.wrapper)),n.first().attr("data-index",t.index),e(".joyride-content-wrapper",n).append(r),n[0]},timer_instance:function(t){var n;return t===0&&this.settings.startTimerOnClick&&this.settings.timer>0||this.settings.timer===0?n="":n=this.outerHTML(e(this.settings.template.timer)[0]),n},button_text:function(t){return this.settings.nextButton?(t=e.trim(t)||"Next",t=this.outerHTML(e(this.settings.template.button).append(t)[0])):t="",t},create:function(t){var n=t.$li.attr("data-button")||t.$li.attr("data-text"),r=t.$li.attr("class"),i=e(this.tip_template({tip_class:r,index:t.index,button_text:n,li:t.$li}));e(this.settings.tipContainer).append(i)},show:function(t){var n=null;this.settings.$li===r||e.inArray(this.settings.$li.index(),this.settings.pauseAfter)===-1?(this.settings.paused?this.settings.paused=!1:this.set_li(t),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0?(t&&(this.settings.preRideCallback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.preStepCallback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tipSettings=e.extend(this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tipSettings.tipLocationPattern=this.settings.tipLocationPatterns[this.settings.tipSettings.tipLocation],/body/i.test(this.settings.$target.selector)||this.scroll_to(),this.is_phone()?this.pos_phone(!0):this.pos_default(!0),n=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tipAnimation)?(n.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),this.delay(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tipAnimationFadeSpeed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tipAnimation)&&(n.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tipAnimationFadeSpeed).show(),this.delay(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tipAnimationFadeSpeed)):this.settings.$next_tip.fadeIn(this.settings.tipAnimationFadeSpeed)),this.settings.$current_tip=this.settings.$next_tip):this.settings.$li&&this.settings.$target.length<1?this.show():this.end()):this.settings.paused=!0},is_phone:function(){return Modernizr?Modernizr.mq("only screen and (max-width: 767px)")||e(".lt-ie9").length>0:this.settings.$window.width()<767},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||e(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),this.settings.postStepCallback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(e){e?(this.settings.$li=this.settings.$tip_content.eq(this.settings.startOffset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=e(".joyride-tip-guide[data-index='"+this.settings.$li.index()+"']"),this.settings.$next_tip.data("closed","")},set_target:function(){var t=this.settings.$li.attr("data-class"),r=this.settings.$li.attr("data-id"),i=function(){return r?e(n.getElementById(r)):t?e("."+t).first():e("body")};this.settings.$target=i()},scroll_to:function(){var n,r;n=e(t).height()/2,r=Math.ceil(this.settings.$target.offset().top-n+this.outerHeight(this.settings.$next_tip)),r>0&&this.scrollTo(e("html, body"),r,this.settings.scrollSpeed)},paused:function(){return e.inArray(this.settings.$li.index()+1,this.settings.pauseAfter)===-1},restart:function(){this.hide(),this.settings.$li=r,this.show("init")},pos_default:function(n,r){var i=Math.ceil(e(t).height()/2),s=this.settings.$next_tip.offset(),o=this.settings.$next_tip.find(".joyride-nub"),u=Math.ceil(this.outerWidth(o)/2),a=Math.ceil(this.outerHeight(o)/2),f=n||!1;f&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),typeof r=="undefined"&&(r=!1);if(!/body/i.test(this.settings.$target.selector)){if(this.bottom()){var l=this.settings.$target.offset().left;Foundation.rtl&&(l=this.settings.$target.offset().width-this.settings.$next_tip.width()+l),this.settings.$next_tip.css({top:this.settings.$target.offset().top+a+this.outerHeight(this.settings.$target),left:l}),this.nub_position(o,this.settings.tipSettings.nubPosition,"top")}else if(this.top()){var l=this.settings.$target.offset().left;Foundation.rtl&&(l=this.settings.$target.offset().width-this.settings.$next_tip.width()+l),this.settings.$next_tip.css({top:this.settings.$target.offset +().top-this.outerHeight(this.settings.$next_tip)-a,left:l}),this.nub_position(o,this.settings.tipSettings.nubPosition,"bottom")}else this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.outerWidth(this.settings.$target)+this.settings.$target.offset().left+u}),this.nub_position(o,this.settings.tipSettings.nubPosition,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.settings.$target.offset().left-this.outerWidth(this.settings.$next_tip)-u}),this.nub_position(o,this.settings.tipSettings.nubPosition,"right"));!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof e)i=arguments[0];else{if(!this.settings.$target||!!/body/i.test(this.settings.$target.selector))return!1;i=this.settings.$target}if(i.length<1)return t.console&&console.error("element not valid",i),!1;n=e(this.settings.template.expose),this.settings.$body.append(n),n.css({top:i.offset().top,left:i.offset().left,width:this.outerWidth(i,!0),height:this.outerHeight(i,!0)}),r=e(this.settings.template.exposeCover),s={zIndex:i.css("z-index"),position:i.css("position")},i.css("z-index",parseInt(n.css("z-index"))+1),s.position=="static"&&i.css("position","relative"),i.data("expose-css",s),r.css({top:i.offset().top,left:i.offset().left,width:this.outerWidth(i,!0),height:this.outerHeight(i,!0)}),this.settings.$body.append(r),n.addClass(o),r.addClass(o),i.data("expose",o),this.settings.postExposeCallback(this.settings.$li.index(),this.settings.$next_tip,i),this.add_exposed(i)},un_expose:function(){var n,r,i,s,o=!1;if(arguments.length>0&&arguments[0]instanceof e)r=arguments[0];else{if(!this.settings.$target||!!/body/i.test(this.settings.$target.selector))return!1;r=this.settings.$target}if(r.length<1)return t.console&&console.error("element not valid",r),!1;n=r.data("expose"),i=e("."+n),arguments.length>1&&(o=arguments[1]),o===!0?e(".joyride-expose-wrapper,.joyride-expose-cover").remove():i.remove(),s=r.data("expose-css"),s.zIndex=="auto"?r.css("z-index",""):r.css("z-index",s.zIndex),s.position!=r.css("position")&&(s.position=="static"?r.css("position",""):r.css("position",s.position)),r.removeData("expose"),r.removeData("expose-z-index"),this.remove_exposed(r)},add_exposed:function(t){this.settings.exposed=this.settings.exposed||[],t instanceof e||typeof t=="object"?this.settings.exposed.push(t[0]):typeof t=="string"&&this.settings.exposed.push(t)},remove_exposed:function(t){var n,r;t instanceof e?n=t[0]:typeof t=="string"&&(n=t),this.settings.exposed=this.settings.exposed||[],r=this.settings.exposed.length;for(var i=0;ia&&(a=u),[n.offset().topn.offset().left]},visible:function(e){var t=e.length;while(t--)if(e[t])return!1;return!0},nub_position:function(e,t,n){t==="auto"?e.addClass(n):e.addClass(t)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(){this.settings.cookieMonster&&e.cookie(this.settings.cookieName,"ridden",{expires:this.settings.cookieExpires,domain:this.settings.cookieDomain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.$next_tip.data("closed",!0),e(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),this.settings.postStepCallback(this.settings.$li.index(),this.settings.$current_tip),this.settings.postRideCallback(this.settings.$li.index(),this.settings.$current_tip),e(".joyride-tip-guide").remove()},outerHTML:function(e){return e.outerHTML||(new XMLSerializer).serializeToString(e)},off:function(){e(this.scope).off(".joyride"),e(t).off(".joyride"),e(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),e(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate),this.settings={}}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.magellan={name:"magellan",version:"4.0.0",settings:{activeClass:"active"},init:function(t,n,r){return this.scope=t||this.scope,Foundation.inherit(this,"data_options"),typeof n=="object"&&e.extend(!0,this.settings,n),typeof n!="string"?(this.settings.init||(this.fixed_magellan=e("[data-magellan-expedition]"),this.set_threshold(),this.last_destination=e("[data-magellan-destination]").last(),this.events()),this.settings.init):this[n].call(this,r)},events:function(){var n=this;e(this.scope).on("arrival.fndtn.magellan","[data-magellan-arrival]",function(t){var r=e(this),i=r.closest("[data-magellan-expedition]"),s=i.attr("data-magellan-active-class")||n.settings.activeClass;r.closest("[data-magellan-expedition]").find("[data-magellan-arrival]").not(r).removeClass(s),r.addClass(s)}),this.fixed_magellan.on("update-position.fndtn.magellan",function(){var t=e(this)}).trigger("update-position"),e(t).on("resize.fndtn.magellan",function(){this.fixed_magellan.trigger("update-position")}.bind(this)).on("scroll.fndtn.magellan",function(){var r=e(t).scrollTop();n.fixed_magellan.each(function(){var t=e(this);typeof t.data("magellan-top-offset")=="undefined"&&t.data("magellan-top-offset",t.offset().top),typeof t.data("magellan-fixed-position")=="undefined"&&t.data("magellan-fixed-position",!1);var i=r+n.settings.threshold>t.data("magellan-top-offset"),s=t.attr("data-magellan-top-offset");t.data("magellan-fixed-position")!=i&&(t.data("magellan-fixed-position",i),i?t.css({position:"fixed",top:0}):t.css({position:"",top:""}),i&&typeof s!="undefined"&&s!=0&&t.css({position:"fixed",top:s+"px"}))})}),this.last_destination.length>0&&e(t).on("scroll.fndtn.magellan",function(r){var i=e(t).scrollTop(),s=i+e(t).height(),o=Math.ceil(n.last_destination.offset().top);e("[data-magellan-destination]").each(function(){var t=e(this),r=t.attr("data-magellan-destination"),u=t.offset().top-i;u<=n.settings.threshold&&e("[data-magellan-arrival='"+r+"']").trigger("arrival"),s>=e(n.scope).height()&&o>i&&o0?this.outerHeight(this.fixed_magellan,!0):0)},off:function(){e(this.scope).off(".fndtn.magellan")}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs=Foundation.libs||{},Foundation.libs.orbit={name:"orbit",version:"4.1.0",settings:{timer_speed:1e4,animation_speed:500,bullets:!0,stack_on_small:!0,navigation_arrows:!0,slide_number:!0,container_class:"orbit-container",stack_on_small_class:"orbit-stack-on-small",next_class:"orbit-next",prev_class:"orbit-prev",timer_container_class:"orbit-timer",timer_paused_class:"paused",timer_progress_class:"orbit-progress",slides_container_class:"orbit-slides-container",bullets_container_class:"orbit-bullets",bullets_active_class:"active",slide_number_class:"orbit-slide-number",caption_class:"orbit-caption",active_slide_class:"active",orbit_transition_class:"orbit-transitioning"},init:function(t,n,r){var i=this;Foundation.inherit(i,"data_options"),typeof n=="object"&&e.extend(!0,i.settings,n),e("[data-orbit]",t).each(function(t,n){var r=e.extend(!0,{},i);r._init(t,n)})},_container_html:function(){var e=this;return''},_bullets_container_html:function(t){var n=this,r=e('');return t.each(function(t,i){var s=e('');t===0&&s.addClass(n.settings.bullets_active_class),r.append(s)}),r},_slide_number_html:function(t,n){var r=this,i=e('');return i.append(""+t+" of "+n+""),i},_timer_html:function(){var e=this;return typeof e.settings.timer_speed=="number"&&e.settings.timer_speed>0?'':""},_next_html:function(){var e=this;return'Next '},_prev_html:function(){var e=this;return'Prev '},_init:function(t,n){var r=this,i=e(n),s=i.wrap(r._container_html()).parent(),o=i.children();e.extend(!0,r.settings,r.data_options(i)),r.settings.navigation_arrows&&(s.append(r._prev_html()),s.append(r._next_html())),i.addClass(r.settings.slides_container_class),r.settings.stack_on_small&&s.addClass(r.settings.stack_on_small_class),r.settings.slide_number&&s.append(r._slide_number_html(1,o.length)),s.append(r._timer_html()),r.settings.bullets&&s.after(r._bullets_container_html(o)),i.append(o.first().clone().attr("data-orbit-slide","")),i.prepend(o.last().clone().attr("data-orbit-slide","")),i.css("marginLeft","-100%"),o.first().addClass(r.settings.active_slide_class),r._init_events(i),r._init_dimensions(i),r._start_timer(i)},_init_events:function(i){var s=this,o=i.parent();e(t).on("load.fndtn.orbit",function(){i.height(""),i.height(i.height(o.height())),i.trigger("orbit:ready")}).on("resize.fndtn.orbit",function(){i.height(""),i.height(i.height(o.height()))}),e(n).on("click.fndtn.orbit","[data-orbit-link]",function(t){t.preventDefault();var n=e(t.currentTarget).attr("data-orbit-link"),r=i.find("[data-orbit-slide="+n+"]").first();r.length===1&&(s._reset_timer(i,!0),s._goto(i,r.index(),function(){}))}),o.siblings("."+s.settings.bullets_container_class).on("click.fndtn.orbit","[data-orbit-slide-number]",function(t){t.preventDefault(),s._reset_timer(i,!0),s._goto(i,e(t.currentTarget).data("orbit-slide-number"),function(){})}),o.on("orbit:after-slide-change.fndtn.orbit",function(e,t){var n=o.find("."+s.settings.slide_number_class);n.length===1&&n.replaceWith(s._slide_number_html(t.slide_number,t.total_slides))}).on("orbit:next-slide.fndtn.orbit click.fndtn.orbit","."+s.settings.next_class,function(e){e.preventDefault(),s._reset_timer(i,!0),s._goto(i,"next",function(){})}).on("orbit:prev-slide.fndtn.orbit click.fndtn.orbit","."+s.settings.prev_class,function(e){e.preventDefault(),s._reset_timer(i,!0),s._goto(i,"prev",function(){})}).on("orbit:toggle-play-pause.fndtn.orbit click.fndtn.orbit touchstart.fndtn.orbit","."+s.settings.timer_container_class,function(t){t.preventDefault();var n=e(t.currentTarget).toggleClass(s.settings.timer_paused_class),r=n.closest("."+s.settings.container_class).find("."+s.settings.slides_container_class);n.hasClass(s.settings.timer_paused_class)?s._stop_timer(r):s._start_timer(r)}).on("touchstart.fndtn.orbit",function(e){e.touches||(e=e.originalEvent);var t={start_page_x:e.touches[0].pageX,start_page_y:e.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:r};o.data("swipe-transition",t),e.stopPropagation()}).on("touchmove.fndtn.orbit",function(e){e.touches||(e=e.originalEvent);if(e.touches.length>1||e.scale&&e.scale!==1)return;var t=o.data("swipe-transition");typeof t=="undefined"&&(t={}),t.delta_x=e.touches[0].pageX-t.start_page_x,typeof t.is_scrolling=="undefined"&&(t.is_scrolling=!!(t.is_scrolling||Math.abs(t.delta_x)").attr(n.extend(f(this),{type:"text"}))}e.removeAttr("name").data({"placeholder-password":!0,"placeholder-id":s}).bind("focus.placeholder",l),r.data({"placeholder-textinput":e,"placeholder-id":s}).before(e)}r=r.removeAttr("id").hide().prev().attr("id",s).show()}r.addClass("placeholder"),r[0].value=r.attr("placeholder")}else r.removeClass("placeholder")}var r="placeholder"in t.createElement("input"),i="placeholder"in t.createElement("textarea"),s=n.fn,o=n.valHooks,u,a;r&&i?(a=s.placeholder=function(){return this},a.input=a.textarea=!0):(a=s.placeholder=function(){var e=this;return e.filter((r?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":l,"blur.placeholder":c}).data("placeholder-enabled",!0).trigger("blur.placeholder"),e},a.input=r,a.textarea=i,u={get:function(e){var t=n(e);return t.data("placeholder-enabled")&&t.hasClass("placeholder")?"":e.value},set:function(e,r){var i=n(e);return i.data("placeholder-enabled")?(r==""?(e.value=r,e!=t.activeElement&&c.call(e)):i.hasClass("placeholder")?l.call(e,!0,r)||(e.value=r):e.value=r,i):e.value=r}},r||(o.input=u),i||(o.textarea=u),n(function(){n(t).delegate("form","submit.placeholder",function(){var e=n(".placeholder",this).each(l);setTimeout(function(){e.each(c)},10)})}),n(e).bind("beforeunload.placeholder",function(){n(".placeholder").each(function(){this.value=""})}))}(this,document,Foundation.zj),function(e,t,n,r){"use strict";Foundation.libs.reveal={name:"reveal",version:"4.1.3",locked:!1,settings:{animation:"fadeAndPop",animationSpeed:250,closeOnBackgroundClick:!0,dismissModalClass:"close-reveal-modal",bgClass:"reveal-modal-bg",open:function(){},opened:function(){},close:function(){},closed:function(){},bg:e(".reveal-modal-bg"),css:{open:{opacity:0,visibility:"visible",display:"block"},close:{opacity:1,visibility:"hidden",display:"none"}}},init:function(t,n,r){return this.scope=t||this.scope,Foundation.inherit(this,"data_options delay"),typeof n=="object"?e.extend(!0,this.settings,n):typeof r!="undefined"&&e.extend(!0,this.settings,r),typeof n!="string"?(this.events(),this.settings.init):this[n].call(this,r)},events:function(){var t=this;return e(this.scope).off(".fndtn.reveal").on("click.fndtn.reveal","[data-reveal-id]",function(n){n.preventDefault(),t.locked||(t.locked=!0,t.open.call(t,e(this)))}).on("click.fndtn.reveal touchend.click.fndtn.reveal",this.close_targets(),function(n){n.preventDefault();if(!t.locked){var r=e.extend({},t.settings,t.data_options(e(".reveal-modal.open")));if(e(n.target)[0]===e("."+r.bgClass)[0]&&!r.closeOnBackgroundClick)return;t.locked=!0,t.close.call(t,e(this).closest(".reveal-modal"))}}).on("open.fndtn.reveal",".reveal-modal",this.settings.open).on("opened.fndtn.reveal",".reveal-modal",this.settings.opened).on("opened.fndtn.reveal",".reveal-modal",this.open_video).on("close.fndtn.reveal",".reveal-modal",this.settings.close).on("closed.fndtn.reveal",".reveal-modal",this.settings.closed).on("closed.fndtn.reveal",".reveal-modal",this.close_video),!0},open:function(t){if(t)var n=e("#"+t.data("reveal-id"));else var n=e(this.scope);if(!n.hasClass("open")){var r=e(".reveal-modal.open");typeof n.data("css-top")=="undefined"&&n.data("css-top",parseInt(n.css("top"),10)).data("offset",this.cache_offset(n)),n.trigger("open"),r.length<1&&this.toggle_bg(n),this.hide(r,this.settings.css.close),this.show(n,this.settings.css.open)}},close:function(t){var t=t||e(this.scope),n=e(".reveal-modal.open");n.length>0&&(this.locked=!0,t.trigger("close"),this.toggle_bg(t),this.hide(n,this.settings.css.close))},close_targets:function(){var e="."+this.settings.dismissModalClass;return this.settings.closeOnBackgroundClick?e+", ."+this.settings.bgClass:e},toggle_bg:function(t){e(".reveal-modal-bg").length===0&&(this.settings.bg=e("",{"class":this.settings.bgClass}).appendTo("body")),this.settings.bg.filter(":visible").length>0?this.hide(this.settings.bg):this.show(this.settings.bg)},show:function(n,r){if(r){if(/pop/i.test(this.settings.animation)){r.top=e(t).scrollTop()-n.data("offset")+"px";var i={top:e(t).scrollTop()+n.data("css-top")+"px",opacity:1};return this.delay(function(){return n.css(r).animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.trigger("opened")}.bind(this)).addClass("open")}.bind(this),this.settings.animationSpeed/2)}if(/fade/i.test(this.settings.animation)){var i={opacity:1};return this.delay(function(){return n.css(r).animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.trigger("opened")}.bind(this)).addClass("open")}.bind(this),this.settings.animationSpeed/2)}return n.css(r).show().css({opacity:1}).addClass("open").trigger("opened")}return/fade/i.test(this.settings.animation)?n.fadeIn(this.settings.animationSpeed/2):n.show()},hide:function(n,r){if(r){if(/pop/i.test(this.settings.animation)){var i={top:-e(t).scrollTop()-n.data("offset")+"px",opacity:0};return this.delay(function(){return n.animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.css(r).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),this.settings.animationSpeed/2)}if(/fade/i.test(this.settings.animation)){var i={opacity:0};return this.delay(function(){return n.animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.css(r).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),this.settings.animationSpeed/2)}return n.hide().css(r).removeClass("open").trigger("closed")}return/fade/i.test(this.settings.animation)?n.fadeOut(this.settings.animationSpeed/2):n.hide()},close_video:function(t){var n=e(this).find(".flex-video"),r=n.find("iframe");r.length>0&&(r.attr("data-src",r[0].src),r.attr("src","about:blank"),n.fadeOut(100).hide())},open_video:function(t){var n=e(this).find(".flex-video"),r=n.find("iframe");if(r.length>0){var i=r.attr("data-src");typeof i=="string"&&(r[0].src=r.attr("data-src")),n.show().fadeIn(100)}},cache_offset:function(e){var t=e.show().height()+parseInt(e.css("top"),10);return e.hide(),t},off:function(){e(this.scope).off(".fndtn.reveal")}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.section={name:"section",version:"4.1.3",settings:{deep_linking:!1,one_up:!0,section_selector:"[data-section]",region_selector:"section, .section, [data-section-region]",title_selector:".title, [data-section-title]",active_region_selector:"section.active, .section.active, .active[data-section-region]",content_selector:".content, [data-section-content]",nav_selector:'[data-section="vertical-nav"], [data-section="horizontal-nav"]',callback:function(){}},init:function(t,n,r){var i=this;return Foundation.inherit(this,"throttle data_options position_right offset_right"),typeof n=="object"&&e.extend(!0,i.settings,n),typeof n!="string"?(this.set_active_from_hash(),this.events(),!0):this[n].call(this,r)},events:function(){var r=this;e(this.scope).on("click.fndtn.section","[data-section] .title, [data-section] [data-section-title]",function(t){var n=e(this),i=n.closest(r.settings.section_selector);r.toggle_active.call(this,t,r),r.reflow()}),e(t).on("resize.fndtn.section",r.throttle(function(){r.resize.call(this)},30)).on("hashchange",function(){r.settings.toggled||(r.set_active_from_hash(),e(this).trigger("resize"))}).trigger("resize"),e(n).on("click.fndtn.section",function(t){e(t.target).closest(r.settings.title_selector).length<1&&e(r.settings.nav_selector).children(r.settings.region_selector).removeClass("active").attr("style","")})},toggle_active:function(t,n){var r=e(this),n=Foundation.libs.section,i=r.closest(n.settings.region_selector),s=r.siblings(n.settings.content_selector),o=i.parent(),u=e.extend({},n.settings,n.data_options(o)),a=o.children(n.settings.active_region_selector);n.settings.toggled=!0,!u.deep_linking&&s.length>0&&t.preventDefault();if(i.hasClass("active"))(n.small(o)||n.is_vertical_nav(o)||n.is_horizontal_nav(o)||n.is_accordion(o))&&(a[0]!==i[0]||a[0]===i[0]&&!u.one_up)&&i.removeClass("active").attr("style","");else{var a=o.children(n.settings.active_region_selector),f=n.outerHeight(i.children(n.settings.title_selector));if(n.small(o)||u.one_up)n.small(o)?a.attr("style",""):a.attr("style","visibility: hidden; padding-top: "+f+"px;");n.small(o)?i.attr("style",""):i.css("padding-top",f),i.addClass("active"),a.length>0&&a.removeClass("active").attr("style",""),n.is_vertical_tabs(o)&&(s.css("display","block"),a!==null&&a.children(n.settings.content_selector).css("display","none"))}setTimeout(function(){n.settings.toggled=!1},300),u.callback()},resize:function(){var t=Foundation.libs.section,n=e(t.settings.section_selector);n.each(function(){var n=e(this),r=n.children(t.settings.active_region_selector),i=e.extend({},t.settings,t.data_options(n));if(r.length>1)r.not(":first").removeClass("active").attr("style","");else if(r.length<1&&!t.is_vertical_nav(n)&&!t.is_horizontal_nav(n)&&!t.is_accordion(n)){var s=n.children(t.settings.region_selector).first();(i.one_up||!t.small(n))&&s.addClass("active"),t.small(n)?s.attr("style",""):s.css("padding-top",t.outerHeight(s.children(t.settings.title_selector)))}t.small(n)?r.attr("style",""):r.css("padding-top",t.outerHeight(r.children(t.settings.title_selector))),t.position_titles(n),t.is_horizontal_nav(n)&&!t.small(n)||t.is_vertical_tabs(n)?t.position_content(n):t.position_content(n,!1)})},is_vertical_nav:function(e){return/vertical-nav/i.test(e.data("section"))},is_horizontal_nav:function(e){return/horizontal-nav/i.test(e.data("section"))},is_accordion:function(e){return/accordion/i.test(e.data("section"))},is_horizontal_tabs:function(e){return/^tabs$/i.test(e.data("section"))},is_vertical_tabs:function(e){return/vertical-tabs/i.test(e.data("section"))},set_active_from_hash:function(){var n=t.location.hash.substring(1),r=e("[data-section]"),i=this;r.each(function(){var t=e(this),r=e.extend({},i.settings,i.data_options(t));if(n.length>0&&r.deep_linking){var s=t.children(i.settings.region_selector).attr("style","").removeClass("active");s.map(function(){return e(this).children('.content[data-slug="'+n+'"], [data-section-content][data-slug="'+n+'"]')}).parent().addClass("active")}})},position_titles:function(t,n){var r=this,i=t.children(this.settings.region_selector).map(function(){return e(this).children(r.settings.title_selector)}),s=0,o=0,r=this;typeof n=="boolean"?i.attr("style",""):i.each(function(){r.is_vertical_tabs(t)?(e(this).css("top",o),o+=r.outerHeight(e(this))):(r.rtl?e(this).css("right",s):e(this).css("left",s),s+=r.outerWidth(e(this)))})},position_content:function(t,n){var r=this,i=t.children(r.settings.region_selector),s=i.map(function(){return e(this).children(r.settings.title_selector)}),o=i.map(function(){return e(this).children(r.settings.content_selector)});if(typeof n=="boolean")o.attr("style",""),t.attr("style","");else if(r.is_vertical_tabs(t)&&!r.small(t)){var u=0,a=Number.MAX_VALUE,f=null;i.each(function(){var n=e(this),i=n.children(r.settings.title_selector),s=n.children(r.settings.content_selector),o=0;f=r.outerWidth(i),o=r.outerWidth(t)-f,o'+t+''}},cache:{},init:function(t,n,r){var i=this;this.scope=t||this.scope,typeof n=="object"&&e.extend(!0,this.settings,n);if(typeof n=="string")return this[n].call(this,r);Modernizr.touch?e(this.scope).on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip","[data-tooltip]",function(t){t.preventDefault(),e(i.settings.tooltipClass).hide(),i.showOrCreateTip(e(this))}).on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip",this.settings.tooltipClass,function(t){t.preventDefault(),e(this).fadeOut(150)}):e(this.scope).on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip","[data-tooltip]",function(t){var n=e(this);t.type==="mouseover"||t.type==="mouseenter"?i.showOrCreateTip(n):(t.type==="mouseout"||t.type==="mouseleave")&&i.hide(n)})},showOrCreateTip:function(e){var t=this.getTip(e);return t&&t.length>0?this.show(e):this.create(e)},getTip:function(t){var n=this.selector(t),r=null;return n&&(r=e("span[data-selector="+n+"]"+this.settings.tooltipClass)),typeof r=="object"?r:!1},selector:function(e){var t=e.attr("id"),n=e.attr("data-tooltip")||e.attr("data-selector");return(t&&t.length<1||!t)&&typeof n!="string"&&(n="tooltip"+Math.random().toString(36).substring(7),e.attr("data-selector",n)),t&&t.length>0?t:n},create:function(t){var n=e(this.settings.tipTemplate(this.selector(t),e("").html(t.attr("title")).html())),r=this.inheritable_classes(t);n.addClass(r).appendTo(this.settings.appendTo),Modernizr.touch&&n.append('tap to close '),t.removeAttr("title").attr("title",""),this.show(t)},reposition:function(n,r,i){var s,o,u,a,f,l;r.css("visibility","hidden").show(),s=n.data("width"),o=r.children(".nub"),u=this.outerHeight(o),a=this.outerHeight(o),l=function(e,t,n,r,i,s){return e.css({top:t?t:"auto",bottom:r?r:"auto",left:i?i:"auto",right:n?n:"auto",width:s?s:"auto"}).end()},l(r,n.offset().top+this.outerHeight(n)+10,"auto","auto",n.offset().left,s);if(e(t).width()<767)l(r,n.offset().top+this.outerHeight(n)+10,"auto","auto",12.5,e(this.scope).width()),r.addClass("tip-override"),l(o,-u,"auto","auto",n.offset().left);else{var c=n.offset().left;Foundation.rtl&&(c=n.offset().left+n.offset().width-this.outerWidth(r)),l(r,n.offset().top+this.outerHeight(n)+10,"auto","auto",c,s),r.removeClass("tip-override"),i&&i.indexOf("tip-top")>-1?l(r,n.offset().top-this.outerHeight(r),"auto","auto",c,s).removeClass("tip-override"):i&&i.indexOf("tip-left")>-1?l(r,n.offset().top+this.outerHeight(n)/2-u*2.5,"auto","auto",n.offset().left-this.outerWidth(r)-u,s).removeClass("tip-override"):i&&i.indexOf("tip-right")>-1&&l(r,n.offset().top+this.outerHeight(n)/2-u*2.5,"auto","auto",n.offset +().left+this.outerWidth(n)+u,s).removeClass("tip-override")}r.css("visibility","visible").hide()},inheritable_classes:function(t){var n=["tip-top","tip-left","tip-bottom","tip-right","noradius"].concat(this.settings.additionalInheritableClasses),r=t.attr("class"),i=r?e.map(r.split(" "),function(t,r){if(e.inArray(t,n)!==-1)return t}).join(" "):"";return e.trim(i)},show:function(e){var t=this.getTip(e);this.reposition(e,t,e.attr("class")),t.fadeIn(150)},hide:function(e){var t=this.getTip(e);t.fadeOut(150)},reload:function(){var t=e(this);return t.data("fndtn-tooltips")?t.foundationTooltips("destroy").foundationTooltips("init"):t.foundationTooltips("init")},off:function(){e(this.scope).off(".fndtn.tooltip"),e(this.settings.tooltipClass).each(function(t){e("[data-tooltip]").get(t).attr("title",e(this).text())}).remove()}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.topbar={name:"topbar",version:"4.1.2",settings:{index:0,stickyClass:"sticky",custom_back_text:!0,back_text:"Back",init:!1},init:function(n,r,i){var s=this;return typeof r=="object"&&e.extend(!0,this.settings,r),typeof r!="string"?(e(".top-bar").each(function(){s.settings.$w=e(t),s.settings.$topbar=e(this),s.settings.$section=s.settings.$topbar.find("section"),s.settings.$titlebar=s.settings.$topbar.children("ul").first(),s.settings.$topbar.data("index",0);var n=e("").insertAfter(s.settings.$topbar);s.settings.breakPoint=n.width(),n.remove(),s.assemble(),s.settings.$topbar.parent().hasClass("fixed")&&e("body").css("padding-top",s.outerHeight(s.settings.$topbar))}),s.settings.init||this.events(),this.settings.init):this[r].call(this,i)},events:function(){var n=this,r=this.outerHeight(e(".top-bar"));e(this.scope).on("click.fndtn.topbar",".top-bar .toggle-topbar",function(i){var s=e(this).closest(".top-bar"),o=s.find("section, .section"),u=s.children("ul").first();s.data("height")||n.largestUL(),i.preventDefault(),n.breakpoint()&&s.toggleClass("expanded").css("min-height",""),s.hasClass("expanded")?s.parent().hasClass("fixed")&&(s.parent().removeClass("fixed"),s.addClass("fixed"),e("body").css("padding-top","0"),t.scrollTo(0,0)):(n.rtl?(o.css({right:"0%"}),o.find(">.name").css({right:"100%"})):(o.css({left:"0%"}),o.find(">.name").css({left:"100%"})),o.find("li.moved").removeClass("moved"),s.data("index",0),s.hasClass("fixed")&&(s.parent().addClass("fixed"),s.removeClass("fixed"),e("body").css("padding-top",r)))}).on("click.fndtn.topbar",".top-bar .has-dropdown>a",function(t){var r=e(this).closest(".top-bar"),i=r.find("section, .section"),s=r.children("ul").first(),o=e(this).next(".dropdown").outerHeight();(Modernizr.touch||n.breakpoint())&&t.preventDefault();if(n.breakpoint()){var u=e(this),a=u.closest("li");r.data("index",r.data("index")+1),a.addClass("moved"),n.rtl?(i.css({right:-(100*r.data("index"))+"%"}),i.find(">.name").css({right:100*r.data("index")+"%"})):(i.css({left:-(100*r.data("index"))+"%"}),i.find(">.name").css({left:100*r.data("index")+"%"})),e(".top-bar").css("min-height",o),u.siblings("ul").height(r.data("height")+n.outerHeight(s,!0)),r.css("min-height",r.data("height")+n.outerHeight(s,!0)*2)}}),e(t).on("resize.fndtn.topbar",function(){n.breakpoint()||e(".top-bar").css("min-height","").removeClass("expanded")}.bind(this)),e(this.scope).on("click.fndtn",".top-bar .has-dropdown .back",function(t){t.preventDefault();var r=e(this),i=r.closest(".top-bar"),s=i.find("section, .section"),o=r.closest("li.moved"),u=o.parent();i.data("index",i.data("index")-1),n.rtl?(s.css({right:-(100*i.data("index"))+"%"}),s.find(">.name").css({right:100*i.data("index")+"%"})):(s.css({left:-(100*i.data("index"))+"%"}),s.find(">.name").css({left:100*i.data("index")+"%"})),i.data("index")===0&&i.css("min-height",0),setTimeout(function(){o.removeClass("moved")},300)})},breakpoint:function(){return e(t).width()<=this.settings.breakPoint||e("html").hasClass("lt-ie9")},assemble:function(){var t=this;this.settings.$section.detach(),this.settings.$section.find(".has-dropdown>a").each(function(){var n=e(this),r=n.siblings(".dropdown"),i=e('');t.settings.custom_back_text==1?i.find("h5>a").html("« "+t.settings.back_text):i.find("h5>a").html("« "+n.html()),r.prepend(i)}),this.settings.$section.appendTo(this.settings.$topbar),this.sticky()},largestUL:function(){var t=this.settings.$topbar.find("section ul ul"),n=t.first(),r=0,i=this;t.each(function(){e(this).children("li").length>n.children("li").length&&(n=e(this))}),n.children("li").each(function(){r+=i.outerHeight(e(this),!0)}),this.settings.$topbar.data("height",r)},sticky:function(){var n="."+this.settings.stickyClass;if(e(n).length>0){var r=e(n).length?e(n).offset().top:0,i=e(t),s=this.outerHeight(e(".top-bar"));i.scroll(function(){i.scrollTop()>=r?(e(n).addClass("fixed"),e("body").css("padding-top",s)):i.scrollTop())[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=lt(),k=lt(),E=lt(),S=!1,A=function(){return 0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=bt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+xt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return At(e.replace(z,"$1"),t,n,i)}function st(e){return K.test(e+"")}function lt(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function ut(e){return e[b]=!0,e}function ct(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pt(e,t,n){e=e.split("|");var r,i=e.length,a=n?null:t;while(i--)(r=o.attrHandle[e[i]])&&r!==t||(o.attrHandle[e[i]]=a)}function ft(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:e[t]===!0?t.toLowerCase():null}function dt(e,t){return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function ht(e){return"input"===e.nodeName.toLowerCase()?e.defaultValue:t}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function mt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function yt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function vt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),r.attributes=ct(function(e){return e.innerHTML="",pt("type|href|height|width",dt,"#"===e.firstChild.getAttribute("href")),pt(B,ft,null==e.getAttribute("disabled")),e.className="i",!e.getAttribute("className")}),r.input=ct(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}),pt("value",ht,r.attributes&&r.input),r.getElementsByTagName=ct(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ct(function(e){return e.innerHTML="",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ct(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=st(n.querySelectorAll))&&(ct(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ct(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=st(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ct(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=st(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},r.sortDetached=ct(function(e){return 1&e.compareDocumentPosition(n.createElement("div"))}),A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return gt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?gt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:ut,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=bt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ut(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?ut(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ut(function(e){return function(t){return at(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:ut(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:vt(function(){return[0]}),last:vt(function(e,t){return[t-1]}),eq:vt(function(e,t,n){return[0>n?n+t:n]}),even:vt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:vt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:vt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:vt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=mt(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=yt(n);function bt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function xt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function wt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function Tt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Ct(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function Nt(e,t,n,r,i,o){return r&&!r[b]&&(r=Nt(r)),i&&!i[b]&&(i=Nt(i,o)),ut(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||St(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:Ct(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=Ct(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=Ct(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function kt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=wt(function(e){return e===t},s,!0),p=wt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[wt(Tt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return Nt(l>1&&Tt(f),l>1&&xt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&kt(e.slice(l,r)),i>r&&kt(e=e.slice(r)),i>r&&xt(e))}f.push(n)}return Tt(f)}function Et(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=Ct(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?ut(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=bt(e)),n=t.length;while(n--)o=kt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Et(i,r))}return o};function St(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function At(e,t,n,i){var a,s,u,c,p,f=bt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&xt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}o.pseudos.nth=o.pseudos.eq;function jt(){}jt.prototype=o.filters=o.pseudos,o.setFilters=new jt,r.sortStable=b.split("").sort(A).join("")===b,p(),[0,0].sort(A),r.detectDuplicates=S,x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!u||(n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="t",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s; +if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=x(this),l=t,u=e.match(T)||[];while(o=u[a++])l=r?l:!s.hasClass(o),s[l?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,"",""],legend:[1,"",""],area:[1,"",""],param:[1,"",""],thead:[1,"",""],tr:[2,"",""],col:[2,"",""],td:[3,"",""],_default:x.support.htmlSerialize?[0,"",""]:[1,"X",""]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}) +}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write(""),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(n.unit=o,n.start=+a||+r||0,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);a.finish=function(){t.stop(!0)},(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window); diff --git a/content/js/main.coffee b/content/js/main.coffee new file mode 100644 index 0000000..f2d9611 --- /dev/null +++ b/content/js/main.coffee @@ -0,0 +1,2 @@ +$ -> + diff --git a/content/js/plugins.js b/content/js/plugins.js deleted file mode 100644 index d226e0b..0000000 --- a/content/js/plugins.js +++ /dev/null @@ -1,3 +0,0 @@ -//= require _jquery_script.js -//= require _jquery_prettyphoto.js -//= require _jquery_tweetsanywhere.js \ No newline at end of file diff --git a/content/js/retina.js b/content/js/retina.js new file mode 100644 index 0000000..a926142 --- /dev/null +++ b/content/js/retina.js @@ -0,0 +1,3 @@ +// retina.js, a high-resolution image swapper (http://retinajs.com), v0.0.2 + +(function(){function t(e){this.path=e;var t=this.path.split("."),n=t.slice(0,t.length-1).join("."),r=t[t.length-1];this.at_2x_path=n+"@2x."+r}function n(e){this.el=e,this.path=new t(this.el.getAttribute("src"));var n=this;this.path.check_2x_variant(function(e){e&&n.swap()})}var e=typeof exports=="undefined"?window:exports;e.RetinaImagePath=t,t.confirmed_paths=[],t.prototype.is_external=function(){return!!this.path.match(/^https?\:/i)&&!this.path.match("//"+document.domain)},t.prototype.check_2x_variant=function(e){var n,r=this;if(this.is_external())return e(!1);if(this.at_2x_path in t.confirmed_paths)return e(!0);n=new XMLHttpRequest,n.open("HEAD",this.at_2x_path),n.onreadystatechange=function(){return n.readyState!=4?e(!1):n.status>=200&&n.status<=399?(t.confirmed_paths.push(r.at_2x_path),e(!0)):e(!1)},n.send()},e.RetinaImage=n,n.prototype.swap=function(e){function n(){t.el.complete?(t.el.setAttribute("width",t.el.offsetWidth),t.el.setAttribute("height",t.el.offsetHeight),t.el.setAttribute("src",e)):setTimeout(n,5)}typeof e=="undefined"&&(e=this.path.at_2x_path);var t=this;n()},e.devicePixelRatio>1&&(window.onload=function(){var e=document.getElementsByTagName("img"),t=[],r,i;for(r=0;rdivide and conquer. --- A few days ago I wrote about getting up early and getting stuff done diff --git a/content/projects.haml b/content/projects.haml index 88a3ce3..72cdc87 100644 --- a/content/projects.haml +++ b/content/projects.haml @@ -1,75 +1,75 @@ --- title: Projects --- -.content_wrap.nobg - %section#middle_content - .two_third - :markdown - ### Open Source Projects +.row + .large-6.columns + :markdown + ### Open Source Projects - This is an incomplete list of projects I've been working on in the recent pasts. - There are several projects that I've worked on, but long since abandoned because - they became obsolete and were superseded by other alternatives. + This is an incomplete list of projects I've been working on in the recent pasts. + There are several projects that I've worked on, but long since abandoned because + they became obsolete and were superseded by other alternatives. - #### Focal + #### Focal - Focal is a utility web application that creates sexy and informative burndowns - for you and your team. + Focal is a utility web application that creates sexy and informative burndowns + for you and your team. - Hooked up to the Pivotal Tracker API, Focal will gather information about the - current iteration on a daily basis and provide you and the team with valuable - progress information. + Hooked up to the Pivotal Tracker API, Focal will gather information about the + current iteration on a daily basis and provide you and the team with valuable + progress information. - _Focal is developed by Kabisa._ + _Focal is developed by Kabisa._ - * [Github](https://github.com/kabisaict/focal) + * [Github](https://github.com/kabisaict/focal) - ### IMDB + ### IMDB - The IMDB gem allows you to programatically access IMDB. Although IMDB does not - officially expose an API you are able to look at what's on their public pages. + The IMDB gem allows you to programatically access IMDB. Although IMDB does not + officially expose an API you are able to look at what's on their public pages. - * [Github](https://github.com/ariejan/imdb) + * [Github](https://github.com/ariejan/imdb) - #### Firefly + #### Firefly - At the height of 140 character limited tweets, URL shortners where the hippest - thing around. + At the height of 140 character limited tweets, URL shortners where the hippest + thing around. - Firefly provides you with a personal url shortner. It can be easily deployed to - Heroku and it has proven to be able to handle millions of shortened URLs. + Firefly provides you with a personal url shortner. It can be easily deployed to + Heroku and it has proven to be able to handle millions of shortened URLs. - * [Website](http://fireflyrb.com) - * [Github](https://github.com/ariejan/firefly) + * [Website](http://fireflyrb.com) + * [Github](https://github.com/ariejan/firefly) - #### PostcodeAPI + #### PostcodeAPI - A simple ruby wrapper around the [Postcode API service](http://www.postcodeapi.nu/). + A simple ruby wrapper around the [Postcode API service](http://www.postcodeapi.nu/). - * [Github](https://github.com/ariejan/postcodeapi) + * [Github](https://github.com/ariejan/postcodeapi) - #### elfproef + #### elfproef - The 11-check is a checksum algorithm used to validate Dutch bank account numbers and - social security numbers. + The 11-check is a checksum algorithm used to validate Dutch bank account numbers and + social security numbers. - This gem allows you to add validations to your Rails models for these kind of fields. + This gem allows you to add validations to your Rails models for these kind of fields. - * [Github](https://github.com/sytzeloor/elfproef) + * [Github](https://github.com/sytzeloor/elfproef) - .one-third.last - :markdown - ### Open Source contributions + .large-6.columns + :markdown + ### Open Source contributions - Besides doing my own projects, I've also contributed to a wide variety of open - source projects. Mostly to scratch my own itch with that project. + Besides doing my own projects, I've also contributed to a wide variety of open + source projects. Mostly to scratch my own itch with that project. - * Rails - * Gitlab - * rails-i18n - * elfproef - * rubber - * capistrano-resque + * Rails + * Gitlab + * rails-i18n + * elfproef + * opensourcerails + * rubber + * capistrano-resque - Check out my [github profile page](https://github.com/ariejan) for other projects - and specifics. \ No newline at end of file + Check out my [github profile page](https://github.com/ariejan) for other projects + and specifics. diff --git a/content/talks.haml b/content/talks.haml index 9d2be7f..2a26c2f 100644 --- a/content/talks.haml +++ b/content/talks.haml @@ -1,36 +1,36 @@ --- title: Talks by Ariejan --- -.content_wrap.nobg - %section#middle_content +.row + .large-8.push-2.columns :markdown + # Talks + *I'm available for talks and presentations on software craftsmanship for your company or event! If you are interested in having me, please [contact me](/about) to discus details.* - My talks are about software craftsmanship, Ruby on Rails or any other - subject that's relevant at the time. + I love giving talks to motivate and inspire others. My talks can be in-depth + technical or on a higher level about clean code and craftsmanship. - ### Previous talks + ## Previous talks Since 2012 I'm keeping track of the talks I've given. You can find the slides to them below. - .one_third.talk - :plain - - .caption - Software Craftsmanship, - %br - june 2012 +.row + .large-6.columns + %h4 + Software Craftsmanship + %p + june 2012 + :plain + - .one_third.talk - :plain - - .caption - Introducting Gitlab, Lighting Talk, - %br - april 2012 - - .one_third.talk.last - = " " + .large-6.columns + %h4 + Introducting Gitlab + %p + Lighting Talk, april 2012 + :plain + diff --git a/layouts/default.haml b/layouts/default.haml index f35e044..b1b3fa3 100644 --- a/layouts/default.haml +++ b/layouts/default.haml @@ -1,87 +1,52 @@ -!!! -/[if lt IE 7] -/[if IE 7] -/[if IE 8] -/ [if gt IE 8]> "ltr", :lang => "en-US"} - / 'utf-8'} - %meta{:content => "text/html;charset=utf-8", "http-equiv" => "content-type"} - %meta{:content => "a blog by ariejan de vroom about software engineering and craftsmanship.", :name => "description"} - %meta{:content => "software engineering, programming, craftsmanship, devops, ruby, rubyonrails, rails, git, svn, postgres, postgresql, mysql, mac, ios, apple, web2.0, go, golang", :name => "keywords"} - %meta{:content => "width=device-width, initial-scale=1, maximum-scale=1", :name => "viewport"} - %meta{:content => "3bgidck6YUMyx-kvL_a8E4ry0DJOAIOYaZkZxQ0kZw4", :name => "google-site-verification"} + %meta(charset="UTF-8") + %meta(content="text/html;charset=utf-8" http-equiv="content-type") + %meta(http-equiv="X-UA-Compatible" content="IE=edge") + %meta(name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no") + %meta(name="author" content="Ariejan de Vroom") + + %meta(name="description" content="a blog by ariejan de vroom about software engineering and craftsmanship.") + %meta(name="keywords" content="software engineering, programming, craftsmanship, devops, ruby, rubyonrails, rails, git, svn, postgres, postgresql, mysql, mac, ios, apple, web2.0, go, golang") + + %meta(content="3bgidck6YUMyx-kvL_a8E4ry0DJOAIOYaZkZxQ0kZw4" name="google-site-verification") %link(href='http://www.myopenid.com/server' rel='openid.server') %link(href='http://ariejan.myopenid.com/' rel='openid.delegate') - %link{:href => "/images/favicon.ico", :rel => "shortcut icon", :type => "image/x-icon"} - %link{:rel => "alternate", :type => "application/rss+xml", :title => "RSS", :href => "http://ariejan.net/rss.xml"} - %link{:href => "/css/style.css", :media => "screen", :rel => "stylesheet", :type => "text/css"} + %link(href="/images/favicon.ico" rel="shortcut icon" type="image/x-icon") + %link(href="http://ariejan.net/rss.xml" rel="alternate" type="application/rss+xml" title="RSS") - %link{:href => "https://fonts.googleapis.com/css?family=Open+Sans:400,600,800,400italic", :rel => "stylesheet", :type => "text/css"} - - /[if lt IE 9] - - - - %script{:src => "/js/application.js", :type => "text/javascript"} + %link(href="/css/screen.css" rel="stylesheet" type="text/css" media="screen") %title= "#{@item[:title]} — ariejan.net" + %body - / __________________________________________________ Start Page - %section#page - %a#slide_top{:href => "#"} - .container - / __________________________________________________ Start Header - %header#header - .header_inner - %a.logo{:href => "/"} - %img{:alt => "", :width => 166, :height => 57, :src => "/images/logo.png"}/ - .custom_html - %h3{:style => "color:#ffffff; margin:0; line-height:24px;"} May the Source be with you. - = render 'social_list' + %header#title + %h1 ariejan.net - .nav_wrap - .nav_wrap_inner - .responsibe_block - .responsibe_block_inner - %a.resp_navigation{:href => "#"} - = render 'social_list' + %nav#primary + %ol.interal + %li= link_to "Home", "/" + %li= link_to "Projects", "/projects/" + %li= link_to "Craftsmanship", "/craftsmanship/" + %li= link_to "Talks", "/talks/" + %li= link_to "About", "/about/" - = render "navigation" - .cl - / __________________________________________________ Finish Header - / __________________________________________________ Start Middle - %section#middle - .headline - .three_fourth - %h2= @item[:title] + #wrapper + = yield - .one_fourth.last - .search-box - %form{action: "http://www.google.com/cse", id: "cse-search-box"} - %input{type: "hidden", name: "cx", value: "011455777682120765364:szqyrcy79dw"} - %input{type: "hidden", name: "ie", value: "UTF-8"} - %input#google-search-box{name: "q", placeholder: "Search site", type: "search"}/ - .cl - - = yield - / __________________________________________________ Finish Middle - / __________________________________________________ Finish Page - / __________________________________________________ Start Footer - %footer#footer - .footer_inner + %footer + .copyright %p Copyright © 1999 - #{Time.now.year} Ariejan de Vroom %ul.tla :plain - Some messages from the Dark Side: + A message from the Dark Side: Medifast Coupon Code - / __________________________________________________ Finish Footer %script{:src => "/js/plugins.js", :type => "text/javascript"} :javascript var _gaq = _gaq || []; diff --git a/layouts/page.haml b/layouts/page.haml new file mode 100644 index 0000000..35c5b2e --- /dev/null +++ b/layouts/page.haml @@ -0,0 +1,4 @@ +%section.page + #content + %article.page + = yield diff --git a/layouts/post.haml b/layouts/post.haml index 0ea1915..f04c8eb 100644 --- a/layouts/post.haml +++ b/layouts/post.haml @@ -1,38 +1,37 @@ -.content_wrap - .post - %section#content - %article +%section.post + %section#main + #content + %article.post + %h1= item[:title] + + %p.meta + Written by Ariejan de Vroom on #{get_pretty_date(item)}. + = yield - #disqus_thread + %section#comments + #disqus_thread - %section#sidebar - %aside.widget.widget_metadata - %h3.widgettitle About this post - %p - This post was written by Ariejan de Vroom on - #{get_pretty_date(item)} and - tagged with #{get_tags(item)}. + :javascript + var disqus_url = "#{url_for(item)}"; + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://ariejannet.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); - %aside.widget.widget_influads - #influad - - if ENV['NANOC_ENV'] == "development" - .influads_block - .influads_img - %img(src="http://placehold.it/130x100&text=Influad%20(130x100)" width="130" height="100") - .influads_text - = link_to "The exquisite, low-cost way to design, send, and track email.", "#" - .influads_powered_div - = link_to "Powered by InfluAds", "#" - - else - :plain - - - -:javascript - var disqus_url = "#{url_for(item)}"; - (function() { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://ariejannet.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - })(); \ No newline at end of file + %section#sidebar + %aside.influads + #influad + - if ENV['NANOC_ENV'] == "development" + .influads_block + .influads_img + %img(src="http://placehold.it/130x100&text=Influad%20(130x100)" width="130" height="100") + .influads_text + = link_to "The exquisite, low-cost way to design, send, and track email.", "#" + .influads_powered_div + = link_to "Powered by InfluAds", "#" + - else + :plain + + diff --git a/lib/helpers/post.rb b/lib/helpers/post.rb index ea445b0..995bb14 100644 --- a/lib/helpers/post.rb +++ b/lib/helpers/post.rb @@ -8,12 +8,26 @@ module PostHelper end end + def get_summary(post, length = 200) + doc = Nokogiri.HTML(post.compiled_content) + + summary = "" + paragraphs = doc.search("p") + + paragraphs.each do |paragraph| + summary += paragraph.to_s + break if summary.size >= length + end + + summary + end + def get_short_date(post) attribute_to_time(post[:created_at]).strftime('%Y-%m-%d') end def get_pretty_date(post) - attribute_to_time(post[:created_at]).strftime('%-d %B, %Y') + attribute_to_time(post[:created_at]).strftime('%-d %B %Y') end def get_tags(post)
tags +$code-color: darken($alert-color, 15%) !default; +$code-font-family: Consolas, 'Liberation Mono', Courier, monospace !default; +$code-font-weight: bold !default; + +// We use these to style anchors +$anchor-text-decoration: none !default; +$anchor-font-color: $primary-color !default; +$anchor-font-color-hover: darken($primary-color, 5%) !default; + +// We use these to style the element +$hr-border-width: 1px !default; +$hr-border-style: solid !default; +$hr-border-color: #ddd !default; +$hr-margin: emCalc(20px) !default; + +// We use these to style lists +$list-style-position: outside !default; +$list-side-margin: emCalc(20px) !default; +$definition-list-header-weight: bold !default; +$definition-list-header-margin-bottom: .3em !default; +$definition-list-margin-bottom: emCalc(12px) !default; + +// We use these to style blockquotes +$blockquote-font-color: lighten($header-font-color, 30%) !default; +$blockquote-padding: emCalc(9px) emCalc(20px) 0 emCalc(19px) !default; +$blockquote-border: 1px solid #ddd !default; +$blockquote-cite-font-size: emCalc(13px) !default; +$blockquote-cite-font-color: lighten($header-font-color, 20%) !default; +$blockquote-cite-link-color: $blockquote-cite-font-color !default; + +// Acronym styles +$acronym-underline: 1px dotted #ddd !default; + +// We use these to control padding and margin +$microformat-padding: emCalc(10px) emCalc(12px) !default; +$microformat-margin: 0 0 emCalc(20px) 0 !default; + +// We use these to control the border styles +$microformat-border-width: 1px !default; +$microformat-border-style: solid !default; +$microformat-border-color: #ddd !default; + +// We use these to control full name font styles +$microformat-fullname-font-weight: bold !default; +$microformat-fullname-font-size: emCalc(15px) !default; + +// We use this to control the summary font styles +$microformat-summary-font-weight: bold !default; + +// We use this to control abbr padding +$microformat-abbr-padding: 0 emCalc(1px) !default; + +// We use this to control abbr font styles +$microformat-abbr-font-weight: bold !default; +$microformat-abbr-font-decoration: none !default; + + +// +// Typography Placeholders +// +%lead { + font-size: $paragraph-font-size + emCalc(3.5px); + line-height: 1.6; +} + +%subheader { + line-height: $subheader-line-height; + color: $subheader-font-color; + font-weight: $subheader-font-weight; + margin-top: $subheader-top-margin; + margin-bottom: $subheader-bottom-margin; +} + + +/* Typography resets */ +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +pre, +form, +p, +blockquote, +th, +td { + margin:0; + padding:0; + direction: $text-direction; +} + +/* Default Link Styles */ +a { + color: $anchor-font-color; + text-decoration: $anchor-text-decoration; + line-height: inherit; + + &:hover, + &:focus { color: $anchor-font-color-hover; } + + img { border:none; } +} + +/* Default paragraph styles */ +p { + font-family: $paragraph-font-family; + font-weight: $paragraph-font-weight; + font-size: $paragraph-font-size; + line-height: $paragraph-line-height; + margin-bottom: $paragraph-margin-bottom; + text-rendering: $paragraph-text-rendering; + + &.lead { @extend %lead; } + + & aside { + font-size: $paragraph-aside-font-size; + line-height: $paragraph-aside-line-height; + font-style: $paragraph-aside-font-style; + } +} + +/* Default header styles */ +h1, h2, h3, h4, h5, h6 { + font-family: $header-font-family; + font-weight: $header-font-weight; + font-style: $header-font-style; + color: $header-font-color; + text-rendering: $header-text-rendering; + margin-top: $header-top-margin; + margin-bottom: $header-bottom-margin; + line-height: $header-line-height - emCalc(3px); + + small { + font-size: $small-font-size; + color: $small-font-color; + line-height: 0; + } +} + +h1 { font-size: $h1-font-size - emCalc(10px); } +h2 { font-size: $h2-font-size - emCalc(10px); } +h3 { font-size: $h3-font-size - emCalc(5px); } +h4 { font-size: $h4-font-size - emCalc(5px); } +h5 { font-size: $h5-font-size; } +h6 { font-size: $h6-font-size; } + +.subheader { @extend %subheader; } + +hr { + border: $hr-border-style $hr-border-color; + border-width: $hr-border-width 0 0; + clear: both; + margin: $hr-margin 0 ($hr-margin - emCalc(1px)); + height: 0; +} + +/* Helpful Typography Defaults */ +em, +i { + font-style: italic; + line-height: inherit; +} + +strong, +b { + font-weight: bold; + line-height: inherit; +} + +small { + font-size: $small-font-size; + line-height: inherit; +} + +code { + font-family: $code-font-family; + font-weight: $code-font-weight; + color: $code-color; +} + +/* Lists */ +ul, +ol, +dl { + font-size: $paragraph-font-size; + line-height: $paragraph-line-height; + margin-bottom: $paragraph-margin-bottom; + list-style-position: $list-style-position; + font-family: $paragraph-font-family; +} + +/* Unordered Lists */ +ul { + li { + ul, + ol { + margin-#{$default-float}: $list-side-margin; + margin-bottom: 0; + font-size: 1em; /* Override nested font-size change */ + } + } + &.square, + &.circle, + &.disc { + li ul { list-style: inherit; } + } + + &.square { list-style-type: square; } + &.circle { list-style-type: circle; } + &.disc { list-style-type: disc; } + &.no-bullet { list-style: none; } +} + +/* Ordered Lists */ +ol { + li { + ul, + ol { + margin-#{$default-float}: $list-side-margin; + margin-bottom: 0; + } + } +} + +/* Definition Lists */ +dl { + dt { + margin-bottom: $definition-list-header-margin-bottom; + font-weight: $definition-list-header-weight; + } + dd { margin-bottom: $definition-list-margin-bottom; } +} + +/* Abbreviations */ +abbr, +acronym { + text-transform: uppercase; + font-size: 90%; + color: $body-font-color; + border-bottom: $acronym-underline; + cursor: help; +} +abbr { + text-transform: none; +} + +/* Blockquotes */ +blockquote { + margin: 0 0 $paragraph-margin-bottom; + padding: $blockquote-padding; + border-#{$default-float}: $blockquote-border; + + cite { + display: block; + font-size: $blockquote-cite-font-size; + color: $blockquote-cite-font-color; + &:before { + content: "\2014 \0020"; + } + + a, + a:visited { + color: $blockquote-cite-link-color; + } + } +} +blockquote, +blockquote p { + line-height: $paragraph-line-height; + color: $blockquote-font-color; +} + +/* Microformats */ +.vcard { + display: inline-block; + margin: $microformat-margin; + border: $microformat-border-width $microformat-border-style $microformat-border-color; + padding: $microformat-padding; + + li { + margin: 0; + display: block; + } + .fn { + font-weight: $microformat-fullname-font-weight; + font-size: $microformat-fullname-font-size; + } +} + +.vevent { + .summary { font-weight: $microformat-summary-font-weight; } + + abbr { + cursor: default; + text-decoration: $microformat-abbr-font-decoration; + font-weight: $microformat-abbr-font-weight; + border: none; + padding: $microformat-abbr-padding; + } +} + + +@media #{$small} { + h1,h2,h3,h4,h5,h6 { line-height: $header-line-height; } + h1 { font-size: $h1-font-size; } + h2 { font-size: $h2-font-size; } + h3 { font-size: $h3-font-size; } + h4 { font-size: $h4-font-size; } +} + +// Only include these styles if you want them. +@if $include-print-styles { + /* + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) + */ + .print-only { display: none !important; } + @media print { + * { + background: transparent !important; + color: #000 !important; /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { text-decoration: underline;} + a[href]:after { content: " (" attr(href) ")"; } + + abbr[title]:after { content: " (" attr(title) ")"; } + + // Don't show links for images, or javascript/internal links + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { content: ""; } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { display: table-header-group; /* h5bp.com/t */ } + + tr, + img { page-break-inside: avoid; } + + img { max-width: 100% !important; } + + @page { margin: 0.5cm; } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { page-break-after: avoid; } + + .hide-on-print { display: none !important; } + .print-only { display: block !important; } + .hide-for-print { display: none !important; } + .show-for-print { display: inherit !important; } + } +} diff --git a/content/css/zurb-foundation/foundation/components/_visibility.scss b/content/css/zurb-foundation/foundation/components/_visibility.scss new file mode 100644 index 0000000..1fcc26f --- /dev/null +++ b/content/css/zurb-foundation/foundation/components/_visibility.scss @@ -0,0 +1,320 @@ +// +// Foundation Visibility Classes +// +@if $include-html-visibility-classes { + + /* Foundation Visibility HTML Classes */ + .show-for-small, + .show-for-medium-down, + .show-for-large-down { display: inherit !important; } + + .show-for-medium, + .show-for-medium-up, + .show-for-large, + .show-for-large-up, + .show-for-xlarge { display: none !important; } + + .hide-for-medium, + .hide-for-medium-up, + .hide-for-large, + .hide-for-large-up, + .hide-for-xlarge { display: inherit !important; } + + .hide-for-small, + .hide-for-medium-down, + .hide-for-large-down { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table; } + } + thead { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-header-group !important; } + } + tbody { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-row-group !important; } + } + tr { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-row !important; } + } + td, + th { + &.show-for-small, + &.show-for-medium-down, + &.show-for-large-down, + &.hide-for-medium, + &.hide-for-medium-up, + &.hide-for-large, + &.hide-for-large-up, + &.hide-for-xlarge { display: table-cell !important; } + } + + /* Medium Displays: 768px - 1279px */ + @media #{$small} { + .show-for-medium, + .show-for-medium-up { display: inherit !important; } + + .show-for-small { display: none !important; } + + .hide-for-small { display: inherit !important; } + + .hide-for-medium, + .hide-for-medium-up { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table; } + } + thead { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-header-group !important; } + } + tbody { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-row-group !important; } + } + tr { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-row !important; } + } + td, + th { + &.show-for-medium, + &.show-for-medium-up, + &.hide-for-small { display: table-cell !important; } + } + } + + /* Large Displays: 1280px - 1440px */ + @media #{$medium} { + .show-for-large, + .show-for-large-up { display: inherit !important; } + + .show-for-medium, + .show-for-medium-down { display: none !important; } + + .hide-for-medium, + .hide-for-medium-down { display: inherit !important; } + + .hide-for-large, + .hide-for-large-up { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table; } + } + thead { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-header-group !important; } + } + tbody { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-row-group !important; } + } + tr { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-row !important; } + } + td, + th { + &.show-for-large, + &.show-for-large-up, + &.hide-for-medium, + &.hide-for-medium-down { display: table-cell !important; } + } + } + + /* X-Large Displays: 1400px and up */ + @media #{$large} { + .show-for-xlarge { display: inherit !important; } + + .show-for-large, + .show-for-large-down { display: none !important; } + + .hide-for-large, + .hide-for-large-down { display: inherit !important; } + + .hide-for-xlarge { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table; } + } + thead { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-header-group !important; } + } + tbody { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-row-group !important; } + } + tr { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-row !important; } + } + td, + th { + &.show-for-xlarge, + &.hide-for-large, + &.hide-for-large-down { display: table-cell !important; } + } + } + + + /* Orientation targeting */ + .show-for-landscape, + .hide-for-portrait { display: inherit !important; } + .hide-for-landscape, + .show-for-portrait { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.hide-for-landscape, + &.show-for-portrait { display: table; } + } + thead { + &.hide-for-landscape, + &.show-for-portrait { display: table-header-group !important; } + } + tbody { + &.hide-for-landscape, + &.show-for-portrait { display: table-row-group !important; } + } + tr { + &.hide-for-landscape, + &.show-for-portrait { display: table-row !important; } + } + td, + th { + &.hide-for-landscape, + &.show-for-portrait { display: table-cell !important; } + } + + @media #{$landscape} { + .show-for-landscape, + .hide-for-portrait { display: inherit !important; } + .hide-for-landscape, + .show-for-portrait { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-landscape, + &.hide-for-portrait { display: table; } + } + thead { + &.show-for-landscape, + &.hide-for-portrait { display: table-header-group !important; } + } + tbody { + &.show-for-landscape, + &.hide-for-portrait { display: table-row-group !important; } + } + tr { + &.show-for-landscape, + &.hide-for-portrait { display: table-row !important; } + } + td, + th { + &.show-for-landscape, + &.hide-for-portrait { display: table-cell !important; } + } + } + + @media #{$portrait} { + .show-for-portrait, + .hide-for-landscape { display: inherit !important; } + .hide-for-portrait, + .show-for-landscape { display: none !important; } + + /* Specific visilbity for tables */ + table { + &.show-for-portrait, + &.hide-for-landscape { display: table; } + } + thead { + &.show-for-portrait, + &.hide-for-landscape { display: table-header-group !important; } + } + tbody { + &.show-for-portrait, + &.hide-for-landscape { display: table-row-group !important; } + } + tr { + &.show-for-portrait, + &.hide-for-landscape { display: table-row !important; } + } + td, + th { + &.show-for-portrait, + &.hide-for-landscape { display: table-cell !important; } + } + } + + /* Touch-enabled device targeting */ + .show-for-touch { display: none !important; } + .hide-for-touch { display: inherit !important; } + .touch .show-for-touch { display: inherit !important; } + .touch .hide-for-touch { display: none !important; } + + /* Specific visilbity for tables */ + table.hide-for-touch { display: table; } + .touch table.show-for-touch { display: table; } + thead.hide-for-touch { display: table-header-group !important; } + .touch thead.show-for-touch { display: table-header-group !important; } + tbody.hide-for-touch { display: table-row-group !important; } + .touch tbody.show-for-touch { display: table-row-group !important; } + tr.hide-for-touch { display: table-row !important; } + .touch tr.show-for-touch { display: table-row !important; } + td.hide-for-touch { display: table-cell !important; } + .touch td.show-for-touch { display: table-cell !important; } + th.hide-for-touch { display: table-cell !important; } + .touch th.show-for-touch { display: table-cell !important; } + +} \ No newline at end of file diff --git a/content/css/zurb-foundation/normalize.scss b/content/css/zurb-foundation/normalize.scss new file mode 100644 index 0000000..559de6a --- /dev/null +++ b/content/css/zurb-foundation/normalize.scss @@ -0,0 +1,396 @@ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ + +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined in IE 8/9. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * Correct `inline-block` display not defined in IE 8/9. + */ + +audio, +canvas, +video { + display: inline-block; +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +[hidden] { + display: none; +} + +/* ========================================================================== + Base + ========================================================================== */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* ========================================================================== + Links + ========================================================================== */ + +/** + * Address `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* ========================================================================== + Typography + ========================================================================== */ + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari 5 and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Correct font family set oddly in Safari 5 and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +/** + * Improve readability of pre-formatted text in all browsers. + */ + +pre { + white-space: pre-wrap; +} + +/** + * Set consistent quote types. + */ + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9. + */ + +img { + border: 0; +} + +/** + * Correct overflow displayed oddly in IE 9. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + Figures + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari 5. + */ + +figure { + margin: 0; +} + +/* ========================================================================== + Forms + ========================================================================== */ + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + */ + +button, +input, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/* ========================================================================== + Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/content/fonts/slkscr-webfont-eot.eot b/content/fonts/slkscr-webfont-eot.eot new file mode 100755 index 0000000..b136c7e Binary files /dev/null and b/content/fonts/slkscr-webfont-eot.eot differ diff --git a/content/fonts/slkscr-webfont-svg.svg b/content/fonts/slkscr-webfont-svg.svg new file mode 100755 index 0000000..dd9eeb5 --- /dev/null +++ b/content/fonts/slkscr-webfont-svg.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/fonts/slkscr-webfont-ttf.ttf b/content/fonts/slkscr-webfont-ttf.ttf new file mode 100755 index 0000000..73f2dd3 Binary files /dev/null and b/content/fonts/slkscr-webfont-ttf.ttf differ diff --git a/content/fonts/slkscr-webfont-woff.woff b/content/fonts/slkscr-webfont-woff.woff new file mode 100755 index 0000000..e9214af Binary files /dev/null and b/content/fonts/slkscr-webfont-woff.woff differ diff --git a/content/img/appstore-badge.png b/content/img/appstore-badge.png new file mode 100644 index 0000000..c2c95c5 Binary files /dev/null and b/content/img/appstore-badge.png differ diff --git a/content/img/appstore-badge@2x.png b/content/img/appstore-badge@2x.png new file mode 100644 index 0000000..7b10ef5 Binary files /dev/null and b/content/img/appstore-badge@2x.png differ diff --git a/content/img/closelabel.png b/content/img/closelabel.png new file mode 100644 index 0000000..c339e59 Binary files /dev/null and b/content/img/closelabel.png differ diff --git a/content/img/hero.png b/content/img/hero.png new file mode 100644 index 0000000..b7f03b0 Binary files /dev/null and b/content/img/hero.png differ diff --git a/content/img/hero@2x.png b/content/img/hero@2x.png new file mode 100644 index 0000000..d240de0 Binary files /dev/null and b/content/img/hero@2x.png differ diff --git a/content/img/loading.gif b/content/img/loading.gif new file mode 100755 index 0000000..f864d5f Binary files /dev/null and b/content/img/loading.gif differ diff --git a/content/img/logo-alpha.png b/content/img/logo-alpha.png new file mode 100644 index 0000000..2e73da9 Binary files /dev/null and b/content/img/logo-alpha.png differ diff --git a/content/img/logo-alpha@2x.png b/content/img/logo-alpha@2x.png new file mode 100644 index 0000000..19f19e1 Binary files /dev/null and b/content/img/logo-alpha@2x.png differ diff --git a/content/img/logo.png b/content/img/logo.png new file mode 100644 index 0000000..5d11666 Binary files /dev/null and b/content/img/logo.png differ diff --git a/content/img/logo@2x.png b/content/img/logo@2x.png new file mode 100644 index 0000000..a60e7a5 Binary files /dev/null and b/content/img/logo@2x.png differ diff --git a/content/img/screenshot-binary-deep.png b/content/img/screenshot-binary-deep.png new file mode 100644 index 0000000..6f9cb2c Binary files /dev/null and b/content/img/screenshot-binary-deep.png differ diff --git a/content/img/screenshot-binary-deep@2x.png b/content/img/screenshot-binary-deep@2x.png new file mode 100644 index 0000000..6f9cb2c Binary files /dev/null and b/content/img/screenshot-binary-deep@2x.png differ diff --git a/content/index.haml b/content/index.haml index ce72971..36ac1d8 100644 --- a/content/index.haml +++ b/content/index.haml @@ -1,14 +1,14 @@ --- title: Ariejan's Blog --- -.content_wrap.nobg - %section#middle_content - - #posts +.row + .large-8.push-2.columns + %section#posts - articles_by_year(sorted_articles).each do |year, articles| - %ol.posts - - articles.each do |article| - %li - %span.date= get_short_date(article) - – - = link_to article[:title], article.path, title: article[:title] + %h2.year= year + - articles.each do |article| + .post-listing + %h3.title= link_to article[:title], article.path, title: article[:title] + .summary + %p Written by Ariejan de Vroom on #{get_pretty_date(article)}. + = article[:summary] diff --git a/content/js/_jquery.js b/content/js/_jquery.js deleted file mode 100644 index a39aba7..0000000 --- a/content/js/_jquery.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @package WordPress - * @subpackage Pacifico - * @since Pacifico 1.0 - */ - -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ - - -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;ca",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o=""+""+"",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="t",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"",""],thead:[1,"",""],tr:[2,"",""],td:[3,"",""],col:[2,"",""],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div",""]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>$2>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/'},pp_settings);var matchedObjects=this,percentBased=false,pp_dimensions,pp_open,pp_contentHeight,pp_contentWidth,pp_containerHeight,pp_containerWidth,windowHeight=$(window).height(),windowWidth=$(window).width(),pp_slideshow;doresize=true,scroll_pos=_get_scroll();$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){_center_overlay();_resize_overlay();});if(pp_settings.keyboard_shortcuts){$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){if(typeof $pp_pic_holder!='undefined'){if($pp_pic_holder.is(':visible')){switch(e.keyCode){case 37:$.prettyPhoto.changePage('previous');e.preventDefault();break;case 39:$.prettyPhoto.changePage('next');e.preventDefault();break;case 27:if(!settings.modal) -$.prettyPhoto.close();e.preventDefault();break;};};};});};$.prettyPhoto.initialize=function(){settings=pp_settings;if(settings.theme=='pp_default')settings.horizontal_padding=16;if(settings.ie6_fallback&&$.browser.msie&&parseInt($.browser.version)==6)settings.theme="light_square";theRel=$(this).attr('rel');galleryRegExp=/\[(?:.*)\]/;isSet=(galleryRegExp.exec(theRel))?true:false;pp_images=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return $(n).attr('href');}):$.makeArray($(this).attr('href'));pp_titles=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return($(n).find('img').attr('alt'))?$(n).find('img').attr('alt'):"";}):$.makeArray($(this).find('img').attr('alt'));pp_descriptions=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return($(n).attr('title'))?$(n).attr('title'):"";}):$.makeArray($(this).attr('title'));set_position=jQuery.inArray($(this).attr('href'),pp_images);rel_index=(isSet)?set_position:$("a[rel^='"+theRel+"']").index($(this));_build_overlay(this);if(settings.allow_resize) -$(window).bind('scroll.prettyphoto',function(){_center_overlay();});$.prettyPhoto.open();return false;} -$.prettyPhoto.open=function(event){if(typeof settings=="undefined"){settings=pp_settings;if($.browser.msie&&$.browser.version==6)settings.theme="light_square";pp_images=$.makeArray(arguments[0]);pp_titles=(arguments[1])?$.makeArray(arguments[1]):$.makeArray("");pp_descriptions=(arguments[2])?$.makeArray(arguments[2]):$.makeArray("");isSet=(pp_images.length>1)?true:false;set_position=0;_build_overlay(event.target);} -if($.browser.msie&&$.browser.version==6)$('select').css('visibility','hidden');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden');_checkPosition($(pp_images).size());$('.pp_loaderIcon').show();if($ppt.is(':hidden'))$ppt.css('opacity',0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find('.currentTextHolder').text((set_position+1)+settings.counter_separator_label+$(pp_images).size());if(pp_descriptions[set_position]!=""){$pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position]));}else{$pp_pic_holder.find('.pp_description').hide();} -movie_width=(parseFloat(getParam('width',pp_images[set_position])))?getParam('width',pp_images[set_position]):settings.default_width.toString();movie_height=(parseFloat(getParam('height',pp_images[set_position])))?getParam('height',pp_images[set_position]):settings.default_height.toString();percentBased=false;if(movie_height.indexOf('%')!=-1){movie_height=parseFloat(($(window).height()*parseFloat(movie_height)/100)-150);percentBased=true;} -if(movie_width.indexOf('%')!=-1){movie_width=parseFloat(($(window).width()*parseFloat(movie_width)/100)-150);percentBased=true;} -$pp_pic_holder.fadeIn(function(){(settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined")?$ppt.html(unescape(pp_titles[set_position])):$ppt.html(' ');imgPreloader="";skipInjection=false;switch(_getFileType(pp_images[set_position])){case'image':imgPreloader=new Image();nextImage=new Image();if(isSet&&set_position<$(pp_images).size()-1)nextImage.src=pp_images[set_position+1];prevImage=new Image();if(isSet&&pp_images[set_position-1])prevImage.src=pp_images[set_position-1];$pp_pic_holder.find('#pp_full_res')[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]);imgPreloader.onload=function(){pp_dimensions=_fitToViewport(imgPreloader.width,imgPreloader.height);_showContent();};imgPreloader.onerror=function(){alert('Image cannot be loaded. Make sure the path is correct and image exist.');$.prettyPhoto.close();};imgPreloader.src=pp_images[set_position];break;case'youtube':pp_dimensions=_fitToViewport(movie_width,movie_height);movie='http://www.youtube.com/embed/'+getParam('v',pp_images[set_position]);(getParam('rel',pp_images[set_position]))?movie+="?rel="+getParam('rel',pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case'vimeo':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=pp_images[set_position];var regExp=/http:\/\/(www\.)?vimeo.com\/(\d+)/;var match=movie_id.match(regExp);movie='http://player.vimeo.com/video/'+match[2]+'?title=0&byline=0&portrait=0';if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=pp_dimensions['width']+'/embed/?moog_width='+pp_dimensions['width'];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie);break;case'quicktime':pp_dimensions=_fitToViewport(movie_width,movie_height);pp_dimensions['height']+=15;pp_dimensions['contentHeight']+=15;pp_dimensions['containerHeight']+=15;toInject=settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case'flash':pp_dimensions=_fitToViewport(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf('flashvars')+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf('?'));toInject=settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars);break;case'iframe':pp_dimensions=_fitToViewport(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf('iframe')-1);toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url);break;case'ajax':doresize=false;pp_dimensions=_fitToViewport(movie_width,movie_height);doresize=true;skipInjection=true;$.get(pp_images[set_position],function(responseHTML){toInject=settings.inline_markup.replace(/{content}/g,responseHTML);$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();});break;case'custom':pp_dimensions=_fitToViewport(movie_width,movie_height);toInject=settings.custom_markup;break;case'inline':myClone=$(pp_images[set_position]).clone().append('').css({'width':settings.default_width}).wrapInner('').appendTo($('body')).show();doresize=false;pp_dimensions=_fitToViewport($(myClone).width(),$(myClone).height());doresize=true;$(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html());break;};if(!imgPreloader&&!skipInjection){$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();};});return false;};$.prettyPhoto.changePage=function(direction){currentGalleryPage=0;if(direction=='previous'){set_position--;if(set_position<0)set_position=$(pp_images).size()-1;}else if(direction=='next'){set_position++;if(set_position>$(pp_images).size()-1)set_position=0;}else{set_position=direction;};rel_index=set_position;if(!doresize)doresize=true;$('.pp_contract').removeClass('pp_contract').addClass('pp_expand');_hideContent(function(){$.prettyPhoto.open();});};$.prettyPhoto.changeGalleryPage=function(direction){if(direction=='next'){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0;}else if(direction=='previous'){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage;}else{currentGalleryPage=direction;};slide_speed=(direction=='next'||direction=='previous')?settings.animation_speed:0;slide_to=currentGalleryPage*(itemsPerPage*itemWidth);$pp_gallery.find('ul').animate({left:-slide_to},slide_speed);};$.prettyPhoto.startSlideshow=function(){if(typeof pp_slideshow=='undefined'){$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){$.prettyPhoto.stopSlideshow();return false;});pp_slideshow=setInterval($.prettyPhoto.startSlideshow,settings.slideshow);}else{$.prettyPhoto.changePage('next');};} -$.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});clearInterval(pp_slideshow);pp_slideshow=undefined;} -$.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;$.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find('object,embed').css('visibility','hidden');$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){$(this).remove();});$pp_overlay.fadeOut(settings.animation_speed,function(){if($.browser.msie&&$.browser.version==6)$('select').css('visibility','visible');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible');$(this).remove();$(window).unbind('scroll.prettyphoto');settings.callback();doresize=true;pp_open=false;delete settings;});};function _showContent(){$('.pp_loaderIcon').hide();projectedTop=scroll_pos['scrollTop']+((windowHeight/2)-(pp_dimensions['containerHeight']/2));if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find('.pp_content').animate({height:pp_dimensions['contentHeight'],width:pp_dimensions['contentWidth']},settings.animation_speed);$pp_pic_holder.animate({'top':projectedTop,'left':(windowWidth/2)-(pp_dimensions['containerWidth']/2),width:pp_dimensions['containerWidth']},settings.animation_speed,function(){$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']);$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed);if(isSet&&_getFileType(pp_images[set_position])=="image"){$pp_pic_holder.find('.pp_hoverContainer').show();}else{$pp_pic_holder.find('.pp_hoverContainer').hide();} -if(pp_dimensions['resized']){$('a.pp_expand,a.pp_contract').show();}else{$('a.pp_expand').hide();} -if(settings.autoplay_slideshow&&!pp_slideshow&&!pp_open)$.prettyPhoto.startSlideshow();if(settings.deeplinking) -setHashtag();settings.changepicturecallback();pp_open=true;});_insert_gallery();};function _hideContent(callback){$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden');$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){$('.pp_loaderIcon').show();callback();});};function _checkPosition(setCount){(setCount>1)?$('.pp_nav').show():$('.pp_nav').hide();};function _fitToViewport(width,height){resized=false;_getDimensions(width,height);imageWidth=width,imageHeight=height;if(((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight))&&doresize&&settings.allow_resize&&!percentBased){resized=true,fitting=false;while(!fitting){if((pp_containerWidth>windowWidth)){imageWidth=(windowWidth-200);imageHeight=(height/width)*imageWidth;}else if((pp_containerHeight>windowHeight)){imageHeight=(windowHeight-200);imageWidth=(width/height)*imageHeight;}else{fitting=true;};pp_containerHeight=imageHeight,pp_containerWidth=imageWidth;};_getDimensions(imageWidth,imageHeight);if((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight)){_fitToViewport(pp_containerWidth,pp_containerHeight)};};return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(pp_containerHeight),containerWidth:Math.floor(pp_containerWidth)+(settings.horizontal_padding*2),contentHeight:Math.floor(pp_contentHeight),contentWidth:Math.floor(pp_contentWidth),resized:resized};};function _getDimensions(width,height){width=parseFloat(width);height=parseFloat(height);$pp_details=$pp_pic_holder.find('.pp_details');$pp_details.width(width);detailsHeight=parseFloat($pp_details.css('marginTop'))+parseFloat($pp_details.css('marginBottom'));$pp_details=$pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({'position':'absolute','top':-10000});detailsHeight+=$pp_details.height();detailsHeight=(detailsHeight<=34)?36:detailsHeight;if($.browser.msie&&$.browser.version==7)detailsHeight+=8;$pp_details.remove();$pp_title=$pp_pic_holder.find('.ppt');$pp_title.width(width);titleHeight=parseFloat($pp_title.css('marginTop'))+parseFloat($pp_title.css('marginBottom'));$pp_title=$pp_title.clone().appendTo($('body')).css({'position':'absolute','top':-10000});titleHeight+=$pp_title.height();$pp_title.remove();pp_contentHeight=height+detailsHeight;pp_contentWidth=width;pp_containerHeight=pp_contentHeight+titleHeight+$pp_pic_holder.find('.pp_top').height()+$pp_pic_holder.find('.pp_bottom').height();pp_containerWidth=width;} -function _getFileType(itemSrc){if(itemSrc.match(/youtube\.com\/watch/i)){return'youtube';}else if(itemSrc.match(/vimeo\.com/i)){return'vimeo';}else if(itemSrc.match(/\b.mov\b/i)){return'quicktime';}else if(itemSrc.match(/\b.swf\b/i)){return'flash';}else if(itemSrc.match(/\biframe=true\b/i)){return'iframe';}else if(itemSrc.match(/\bajax=true\b/i)){return'ajax';}else if(itemSrc.match(/\bcustom=true\b/i)){return'custom';}else if(itemSrc.substr(0,1)=='#'){return'inline';}else{return'image';};};function _center_overlay(){if(doresize&&typeof $pp_pic_holder!='undefined'){scroll_pos=_get_scroll();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=(windowHeight/2)+scroll_pos['scrollTop']-(contentHeight/2);if(projectedTop<0)projectedTop=0;if(contentHeight>windowHeight) -return;$pp_pic_holder.css({'top':projectedTop,'left':(windowWidth/2)+scroll_pos['scrollLeft']-(contentwidth/2)});};};function _get_scroll(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};};};function _resize_overlay(){windowHeight=$(window).height(),windowWidth=$(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height($(document).height()).width(windowWidth);};function _insert_gallery(){if(isSet&&settings.overlay_gallery&&_getFileType(pp_images[set_position])=="image"&&(settings.ie6_fallback&&!($.browser.msie&&parseInt($.browser.version)==6))){itemWidth=52+5;navWidth=(settings.theme=="facebook"||settings.theme=="pp_default")?50:30;itemsPerPage=Math.floor((pp_dimensions['containerWidth']-100-navWidth)/itemWidth);itemsPerPage=(itemsPerPage";};toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find('#pp_full_res').after(toInject);$pp_gallery=$('.pp_pic_holder .pp_gallery'),$pp_gallery_li=$pp_gallery.find('li');$pp_gallery.find('.pp_arrow_next').click(function(){$.prettyPhoto.changeGalleryPage('next');$.prettyPhoto.stopSlideshow();return false;});$pp_gallery.find('.pp_arrow_previous').click(function(){$.prettyPhoto.changeGalleryPage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_content').hover(function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn();},function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut();});itemWidth=52+5;$pp_gallery_li.each(function(i){$(this).find('a').click(function(){$.prettyPhoto.changePage(i);$.prettyPhoto.stopSlideshow();return false;});});};if(settings.slideshow){$pp_pic_holder.find('.pp_nav').prepend('Play') -$pp_pic_holder.find('.pp_nav .pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});} -$pp_pic_holder.attr('class','pp_pic_holder '+settings.theme);$pp_overlay.css({'opacity':0,'height':$(document).height(),'width':$(window).width()}).bind('click',function(){if(!settings.modal)$.prettyPhoto.close();});$('a.pp_close').bind('click',function(){$.prettyPhoto.close();return false;});$('a.pp_expand').bind('click',function(e){if($(this).hasClass('pp_expand')){$(this).removeClass('pp_expand').addClass('pp_contract');doresize=false;}else{$(this).removeClass('pp_contract').addClass('pp_expand');doresize=true;};_hideContent(function(){$.prettyPhoto.open();});return false;});$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){$.prettyPhoto.changePage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){$.prettyPhoto.changePage('next');$.prettyPhoto.stopSlideshow();return false;});_center_overlay();};if(!pp_alreadyInitialized&&getHashtag()){pp_alreadyInitialized=true;hashIndex=getHashtag();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf('/'));setTimeout(function(){$("a[rel^='"+hashRel+"']:eq("+hashIndex+")").trigger('click');},50);} -return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize);};function getHashtag(){url=location.href;hashtag=(url.indexOf('#!')!=-1)?decodeURI(url.substring(url.indexOf('#!')+2,url.length)):false;return hashtag;};function setHashtag(){if(typeof theRel=='undefined')return;location.hash='!'+theRel+'/'+rel_index+'/';};function getParam(name,url){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^]*)";var regex=new RegExp(regexS);var results=regex.exec(url);return(results==null)?"":results[1];}})(jQuery);var pp_alreadyInitialized=false; \ No newline at end of file diff --git a/content/js/_jquery_script.js b/content/js/_jquery_script.js deleted file mode 100644 index 5ed0fd9..0000000 --- a/content/js/_jquery_script.js +++ /dev/null @@ -1,551 +0,0 @@ -/** - * @package Site Template - * @subpackage Willbridge HTML - * @since Willbridge HTML 1.0 - * - * Template Scripts - * Created by CMSMasters - * - */ - -/* - * Responsive Content Slider v1.0.1 - jQuery Content Slider - * - * (c) Copyright Steven "cmsmasters" Masters - * http://cmsmastrs.net/ - * For sale on ThemeForest.net - */ - - -(function(a){a.fn.cmsmsResponsiveContentSlider=function(b){var c={sliderWidth:1e3,sliderHeight:500,animationSpeed:500,animationEffect:"slide",animationEasing:"easeInOutExpo",pauseTime:5e3,activeSlide:1,touchControls:true,pauseOnHover:true,arrowNavigation:true,arrowNavigationHover:false,slidesNavigation:true,slidesNavigationHover:false,afterSliderLoad:function(){},beforeSlideChange:function(){},afterSlideChange:function(){}},d=this,e=d.wrap('').parent(),f=undefined,g={};g={init:function(){g.options=a.extend({},c,b);g.el=d;g.vars={};g.vars.oldSlide=undefined;g.vars.newSlide=undefined;g.vars.active_sl_numb=g.options.activeSlide==="random"?0:Number(g.options.activeSlide-1);g.vars.ifWNumber=typeof g.options.sliderWidth==="number"?true:false;g.vars.ifHNumber=typeof g.options.sliderHeight==="number"?true:false;g.vars.autoHeight=g.options.sliderHeight==="auto"?true:false;g.vars.inPause=true;g.vars.inAnimation=true;g.vars.mouseClicked=false;if(g.options.pauseTime!==0){g.vars.countdown=Math.round(g.options.pauseTime/50);g.vars.countMax=Math.round(g.options.pauseTime/50)}else{g.vars.countdown=-1;g.vars.countMax=-1}if(!g.vars.autoHeight){e.css({height:g.options.sliderHeight})}g.setSliderVars();g.preloadSlider()},setSliderVars:function(){g.vars.sliderWidth=g.vars.ifWNumber?g.options.sliderWidth+"px":g.options.sliderWidth;g.vars.sliderHeight=g.vars.ifHNumber?g.options.sliderHeight+"px":g.options.sliderHeight;g.vars.slides=g.el.find(">li");g.vars.sl_count=g.vars.slides.length;g.vars.first_sl=g.vars.slides.first();g.vars.last_sl=g.vars.slides.eq(g.vars.sl_count-1)},preloadSlider:function(){var b=g.vars.slides.find("img:eq(0)"),c=b.length;if(b.length>0){b.each(function(){var b=new Image,d=a(this).attr("src");b.src=d;a(this).addClass("cmsms_img");var e=setInterval(function(){if(isImageOk(b)||isImageOk(b)==="stop"){clearInterval(e);c-=1;if(c===0){g.buildSlider();g.buildControls();g.attachEvents();g.afterSliderLoad()}}},50)})}else{g.buildSlider();g.buildControls();g.attachEvents();g.afterSliderLoad()}},buildSlider:function(){g.vars.slides.addClass("cmsmsContentSlide").css({left:g.vars.sliderWidth});if(g.options.activeSlide==="random"){g.vars.active_sl_numb=parseInt(Math.random()*g.vars.sl_count)}g.el.css({background:"none"});e.css({width:g.vars.sliderWidth,padding:0,opacity:0});if(g.vars.autoHeight){g.vars.slides.css({height:"auto"});g.setSlideHeight(g.vars.slides.eq(g.vars.active_sl_numb),false)}g.vars.slides.eq(g.vars.active_sl_numb).css({left:0,zIndex:2}).addClass("active");e.animate({opacity:1},g.options.animationSpeed/2,g.options.animationEasing);g.vars.inPause=false;g.vars.inAnimation=false},buildControls:function(){if(g.options.slidesNavigation){e.append('');g.vars.slidesNav=e.find("ul.cmsms_slides_nav");if(g.options.slidesNavigationHover){g.vars.slidesNav.css({opacity:0})}for(var a=0;a'+(a+1)+"")}g.vars.slidesNav.find(">li").eq(g.vars.active_sl_numb).addClass("active");g.vars.slidesNavButton=g.vars.slidesNav.find(">li>a")}if(g.options.arrowNavigation){e.parent().prepend(''+'');g.vars.prevSlideButton=e.parent().find(".cmsms_content_prev_slide");g.vars.nextSlideButton=e.parent().find(".cmsms_content_next_slide");if(g.options.arrowNavigationHover){g.vars.prevSlideButton.css({left:"-100px",opacity:0});g.vars.nextSlideButton.css({right:"-100px",opacity:0})}}},attachEvents:function(){if(g.options.touchControls){g.vars.slides.bind("mousedown",function(a){g.mouseDoun(a);return false});g.vars.slides.bind("mousemove",function(a){g.mouseMove(a);return false});g.vars.slides.bind("mouseup",function(){g.mouseUp();return false});e.bind("mouseleave",function(){if(!g.vars.mouseClicked){return}g.mouseUp();return false})}if(g.options.arrowNavigation){g.vars.nextSlideButton.bind("click",function(){g.nextSlide();return false});g.vars.prevSlideButton.bind("click",function(){g.prevSlide();return false})}if(g.options.slidesNavigation){g.vars.slidesNavButton.bind("click",function(){if(a(this).parent().is(".active")){return false}else{g.slideChoose(a(this).parent().index())}return false})}if(g.options.pauseOnHover){e.bind("mouseenter",function(){g.vars.inPause=true}).bind("mouseleave",function(){g.vars.inPause=false})}if(g.options.slidesNavigation&&g.options.slidesNavigationHover){e.bind("mouseenter",function(){g.vars.slidesNav.css({opacity:1})}).bind("mouseleave",function(){g.vars.slidesNav.css({opacity:0})})}if(g.options.arrowNavigation&&g.options.arrowNavigationHover){e.bind("mouseenter",function(){g.vars.prevSlideButton.stop().animate({left:"10px",opacity:1},g.options.animationSpeed,g.options.animationEasing);g.vars.nextSlideButton.stop().animate({right:"10px",opacity:1},g.options.animationSpeed,g.options.animationEasing)}).bind("mouseleave",function(){g.vars.prevSlideButton.stop().animate({left:"-100px",opacity:0},g.options.animationSpeed,g.options.animationEasing);g.vars.nextSlideButton.stop().animate({right:"-100px",opacity:0},g.options.animationSpeed,g.options.animationEasing)})}if(g.vars.autoHeight){a(window).bind("resize",function(){if(g.vars.active_sl===undefined){g.getSlVars()}g.setSlideHeight(g.vars.active_sl,false)})}f=setInterval(function(){g.timerController()},50)},getSlVars:function(){g.vars.active_sl=g.el.find(">li.active")},setSlideHeight:function(a,b){if(b){e.animate({height:a[0].scrollHeight+"px"},g.options.animationSpeed,g.options.animationEasing)}else{e.css({height:a[0].scrollHeight+"px"})}},navActiveSl:function(a,b){g.vars.slidesNav.find(">li").eq(a.index()).removeClass("active");g.vars.slidesNav.find(">li").eq(b.index()).addClass("active")},setTimer:function(){g.vars.inPause=false;if(g.options.pauseTime!==0){g.vars.countdown=Math.round(g.options.pauseTime/50);g.vars.countMax=Math.round(g.options.pauseTime/50)}else{g.vars.countdown=-1;g.vars.countMax=-1}},nextSlide:function(){if(g.vars.inAnimation||g.vars.sl_count<2){return false}else{g.vars.inAnimation=true}g.getSlVars();g.setTimer();g.beforeSlideChange();g.vars.oldSlide=g.vars.active_sl;g.vars.newSlide=g.vars.active_sl.index()0?g.vars.active_sl.prev():g.vars.last_sl;if(g.options.slidesNavigation){g.navActiveSl(g.vars.oldSlide,g.vars.newSlide)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.newSlide,true)}if(g.options.animationEffect==="slide"){g.vars.oldSlide.removeClass("active").animate({left:g.vars.sliderWidth},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:1})});g.vars.newSlide.addClass("active").css({left:"-"+g.vars.sliderWidth,zIndex:3}).animate({left:g.vars.ifWNumber?0:"0%"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:2});g.vars.inAnimation=false;g.afterSlideChange()})}else if(g.options.animationEffect==="fade"){g.fadeSlide(g.vars.oldSlide,g.vars.newSlide,false)}},slideChoose:function(b){if(g.vars.inAnimation){return false}else{g.vars.inAnimation=true}g.getSlVars();g.setTimer();g.beforeSlideChange();g.vars.oldSlide=g.vars.active_sl;g.vars.newSlide=g.vars.slides.eq(b);if(g.options.slidesNavigation){g.navActiveSl(g.vars.oldSlide,g.vars.newSlide)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.newSlide,true)}if(g.vars.active_sl.index()0){if(g.options.animationEffect==="slide"){g.vars.prev_sl.css({left:-g.vars.sliderPxWidth+g.vars.xIndex+"px",zIndex:3})}else if(g.options.animationEffect==="fade"){if(g.vars.nextTouch){g.vars.nextTouch=false;g.vars.touchTarget.css({left:g.vars.sliderPxWidth+"px"})}if(!g.vars.prevTouch){g.vars.prevTouch=true}if(g.vars.active_sl.index()!==0){g.vars.touchTarget=g.vars.active_sl.prev()}else{g.vars.touchTarget=g.vars.last_sl}g.vars.touchTarget.css({left:0})}}},mouseUp:function(){if(!g.vars.mouseClicked){return}g.vars.mouseClicked=false;if(g.vars.xIndex<0){if(g.vars.xIndex<-75){g.beforeSlideChange();if(g.options.slidesNavigation){g.navActiveSl(g.vars.active_sl,g.vars.next_sl)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.next_sl,true)}if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:"-"+g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({left:g.vars.sliderPxWidth+"px",zIndex:1})});g.vars.next_sl.addClass("active").animate({left:0},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:"-"+g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1});g.vars.next_sl.addClass("active").css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}}else{if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}g.vars.active_sl.animate({left:0},g.options.animationSpeed,g.options.animationEasing);g.vars.next_sl.animate({left:g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.inAnimation=false;g.vars.inPause=false})}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}g.vars.active_sl.animate({left:0,opacity:1},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px"});g.vars.inAnimation=false;g.vars.inPause=false})}}}else if(g.vars.xIndex>=0){if(g.vars.xIndex>75){g.beforeSlideChange();if(g.options.slidesNavigation){g.navActiveSl(g.vars.active_sl,g.vars.prev_sl)}if(g.vars.autoHeight){g.setSlideHeight(g.vars.prev_sl,true)}if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:1})});g.vars.prev_sl.addClass("active").animate({left:0},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}g.vars.active_sl.removeClass("active").animate({left:g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){a(this).css({opacity:1,zIndex:1});g.vars.prev_sl.addClass("active").css({zIndex:2});g.vars.inAnimation=false;g.setTimer();g.afterSlideChange()})}}else{if(g.options.animationEffect==="slide"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",zIndex:1})}if(g.vars.xIndex!==0){g.vars.active_sl.animate({left:0},g.options.animationSpeed,g.options.animationEasing);g.vars.prev_sl.animate({left:"-"+g.vars.sliderPxWidth+"px"},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.inAnimation=false;g.vars.inPause=false})}else{g.vars.inAnimation=false;g.vars.inPause=false}}else if(g.options.animationEffect==="fade"){if(g.vars.sl_count>2){g.vars.next_sl.css({left:g.vars.sliderPxWidth+"px",opacity:1,zIndex:1})}if(g.vars.xIndex!==0){g.vars.active_sl.animate({left:0,opacity:1},g.options.animationSpeed,g.options.animationEasing,function(){g.vars.prev_sl.css({left:g.vars.sliderPxWidth+"px"});g.vars.inAnimation=false;g.vars.inPause=false})}else{g.vars.inAnimation=false;g.vars.inPause=false}}}}},timerController:function(){if(g.vars.inPause||g.vars.countdown<0){return}if(g.vars.countdown===0){g.nextSlide()}g.vars.countdown-=1},afterSliderLoad:function(){g.options.afterSliderLoad()},beforeSlideChange:function(){g.options.beforeSlideChange()},afterSlideChange:function(){g.options.afterSlideChange()}};g.init()}})(jQuery); - - - -/* UItoTop jQuery Plugin 1.2 | Matt Varone | http://www.mattvarone.com/web-design/uitotop-jquery-plugin */ -(function($){$.fn.UItoTop=function(options){var defaults={text:'To Top',min:200,inDelay:600,outDelay:400,containerID:'toTop',containerHoverID:'toTopHover',scrollSpeed:1200,easingType:'linear'},settings=$.extend(defaults,options),containerIDhash='#'+settings.containerID,containerHoverIDHash='#'+settings.containerHoverID;$('body').append(''+settings.text+'');$(containerIDhash).hide().on('click.UItoTop',function(){$('html, body').animate({scrollTop:0},settings.scrollSpeed,settings.easingType);$('#'+settings.containerHoverID,this).stop().animate({'opacity':0},settings.inDelay,settings.easingType);return false;}).prepend('').hover(function(){$(containerHoverIDHash,this).stop().animate({'opacity':1},600,'linear');},function(){$(containerHoverIDHash,this).stop().animate({'opacity':0},700,'linear');});$(window).scroll(function(){var sd=$(window).scrollTop();if(typeof document.body.style.maxHeight==="undefined"){$(containerIDhash).css({'position':'absolute','top':sd+$(window).height()-50});} -if(sd>settings.min) -$(containerIDhash).fadeIn(settings.inDelay);else -$(containerIDhash).fadeOut(settings.Outdelay);});};})(jQuery); - -jQuery(document).ready(function() { - /* Scroll to top */ - jQuery().UItoTop({ - containerID: 'slide_top', - containerHoverID : 'slide_top_hover', - easingType: 'easeOutQuart' - }); -}); - - - -/* Social Icons Script */ -(function($){$.fn.socicons=function(c){var d={icons:'digg,stumbleupon,delicious,facebook,yahoo',imagesurl:'images/',imageformat:'png',light:true,targetblank:true,shorturl:''};var e=$.extend({},d,c);var f=this;var g=e.targetblank?'target="_blank"':'';var h=e.icons.split(',');for(key in h){var j=h[key];var k=socformat[h[key]];if(k!=undefined){k=k.replace('{TITLE}',urlencode(socicons_title()));k=k.replace('{URL}',urlencode(socicons_url()));k=k.replace('{SHORTURL}',urlencode(socicons_shorturl()));k=k.replace('{KEYWORDS}',urlencode(socicons_metawords()));k=k.replace('{DESCRIPTION}',urlencode(socicons_metadescript()));var l='';this.append(l)}}if(e.light){this.find('.socicons_icon').bind('mouseover',function(){$(this).siblings().stop().animate({'opacity':0.3},500)});this.find('.socicons_icon').bind('mouseout',function(){$(this).siblings().stop().animate({'opacity':1},500)})}var m;function socicons_metawords(){if(n==undefined){metaCollection=document.getElementsByTagName('meta');for(i=0;i 220) { - if ($('.nav_wrap_inner').addClass('navi_scrolled').is(':animated')) { - return false; - } else { - $('.nav_wrap_inner').addClass('navi_scrolled').animate( { - top : 0, - opacity : 1 - }, 500); - } - } else { - $('.nav_wrap_inner').removeClass('navi_scrolled').stop().attr( { style : '' } ); - } - } ); - - - - /* Social Icons Toggle */ - (function ($) { - $('a.cmsms_share').toggle(function () { - $(this).parent().find('.cmsms_social').show('slow'); - - return false; - } , function () { - $(this).parent().find('.cmsms_social').hide('slow'); - - return false; - } ); - } )(jQuery); - - - - /* PrettyPhoto Lighbox */ - (function ($) { - $('a[rel^="prettyPhoto"]').prettyPhoto( { - animation_speed : 'slow', - show_title : false, - deeplinking : false, - social_tools : '' - } ); - } )(jQuery); - - - - /* Mobile Devices Navigation Script */ - (function ($) { - $('a.resp_navigation').bind('click', function () { - if ($(this).hasClass('active')) { - $('#navigation').slideUp('fast'); - - $('#navigation ul').css( { display : 'none' } ); - $(this).removeClass('active'); - } else { - $('#navigation').slideDown('fast'); - - $(this).addClass('active'); - } - - return false; - } ); - - $('#navigation li a').bind('click', function () { - if ($('a.resp_navigation').is(':visible')) { - if ($(this).next().is('ul')) { - if ($(this).next().is(':visible')) { - $(this).next().slideUp('fast'); - - $(this).next().find('ul').css( { display : 'none' } ); - } else { - $(this).parent().parent().find('ul').slideUp('fast'); - $(this).next().slideDown('fast'); - } - - return false; - } - } - } ); - - $(window).bind('resize', function () { - if ($(this).width() > 540) { - $('a.resp_navigation').removeClass('active'); - - $('#navigation').removeAttr('style'); - $('#navigation ul').removeAttr('style'); - } - } ); - } )(jQuery); - - - - /* Popular, Latest and Related Posts */ - (function ($) { - $('.related_posts ul li a').click(function (e) { - var rposts = $(this).parent().parent().parent(), - index = $(this).parent().index(); - - rposts.find('ul').find('a').removeClass('current'); - $(this).addClass('current'); - - rposts.find('div.related_posts_content').not('div.related_posts_content:eq(' + index + ')').slideUp(); - rposts.find('div.related_posts_content:eq(' + index + ')').slideDown(); - - e.preventDefault(); - } ); - } )(jQuery); - - - - /* Toggle */ - (function ($) { - $('.togg a.tog').click(function (i) { - var dropDown = $(this).parent().find('.tab_content'); - - $(this).parent().find('.tab_content').not(dropDown).slideUp(); - - if ($(this).hasClass('current')) { - $(this).removeClass('current'); - } else { - $(this).addClass('current'); - } - - dropDown.stop(false, true).slideToggle().css( { display : 'block' } ); - - i.preventDefault(); - } ); - } )(jQuery); - - - - /* Accordion */ - (function ($) { - $('.accordion a.tog').click(function (j) { - var dropDown = $(this).parent().find('.tab_content'); - - $(this).parent().parent().find('.tab_content').not(dropDown).slideUp(); - - if ($(this).hasClass('current')) { - $(this).removeClass('current'); - } else { - $(this).parent().parent().find('.tog').removeClass('current'); - $(this).addClass('current'); - } - - dropDown.stop(false, true).slideToggle().css( { display : 'block' } ); - - j.preventDefault(); - } ); - } )(jQuery); - - - - /* Tabs */ - (function ($) { - $('.tab ul.tabs li:first-child a').addClass('current'); - $('.tab .tab_content div.tabs_tab:first-child').show(); - - $('.tab ul.tabs li a').click(function (g) { - var tab = $(this).parent().parent().parent(), - index = $(this).parent().index(); - - tab.find('ul.tabs').find('a').removeClass('current'); - $(this).addClass('current'); - - tab.find('.tab_content').find('div.tabs_tab').not('div.tabs_tab:eq(' + index + ')').slideUp(); - tab.find('.tab_content').find('div.tabs_tab:eq(' + index + ')').slideDown(); - - g.preventDefault(); - } ); - } )(jQuery); - - - - /* Tour */ - (function ($) { - $('.tour_content ul.tour li:first-child').addClass('current'); - $('.tour_content div.tour_box:first').show(); - - $('.tour_content ul.tour li a').click(function (f) { - var tour = $(this).parent().parent().parent().parent(), - index = $('ul.tour li').index($(this).parent()); - - tour.find('ul.tour').find('li').removeClass('current'); - $(this).parent().addClass('current'); - - tour.find('div.tour_box').not('div.tour_box:eq(' + index + ')').slideUp(); - tour.find('div.tour_box:eq(' + index + ')').slideDown(); - - f.preventDefault(); - } ); - } )(jQuery); - - - - /* Image Preloader */ - (function ($) { - var images = jQuery('.preloader img'), - max = images.length, - img = new Image(), - curr = 1; - - jQuery('.preloader').each(function () { - jQuery('').prependTo(jQuery(this)); - } ); - - images.remove(); - - if (max > 0) { - loadImage(0, max); - } else if ($('#middle .pj_sort').find('.p_options_block').html() !== null) { - loadSorting(); - } - - function loadImage(index, max) { - if (index < max) { - $('').each(function () { - $(this).prependTo($('.preloader .image_container_img').eq(index)); - } ); - - var img = new Image(), - curr = $('#img' + (index + 1)); - - $(img).load(function () { - $(curr).append(this).append(''); - - $(this).parent().parent().parent().css( { backgroundImage : 'none' } ); - - $(this).animate( { opacity : 1 }, 500, 'easeInOutExpo', function () { - if ($(this).parent().parent().parent().hasClass('inBlog')) { - $(this).parent().parent().parent().css( { - height : 'auto', - padding : 0 - } ); - } - } ); - - if (index !== (max - 1)) { - loadImage(index + 1, max); - } - } ).error(function () { - $(curr).remove(); - - loadImage((index + 1), max); - } ).attr( { - src : $(images[index]).attr('src'), - title : $(images[index]).attr('title'), - alt : $(images[index]).attr('alt') - } ).addClass($(images[index]).attr('class')); - - if (index === (max - 1) && $('#middle .pj_sort').find('.p_options_block').html() !== null) { - loadSorting(); - } - } - } - - function loadSorting() { - if ($.browser.msie && $.browser.version < 9) { - $('.p_options_loader').css( { display : 'none' } ); - $('.p_options_block').css( { display : 'block' } ); - } else { - $('.p_options_loader').fadeOut(200, function () { - $(this).css( { display : 'none' } ); - } ); - - $('.p_options_block').fadeIn(200); - } - } - } )(jQuery); -} ); - - - -/* Correct OS & Browser Check */ -var ua = navigator.userAgent, - checker = { - os : { - iphone : ua.match(/iPhone/), - ipod : ua.match(/iPod/), - ipad : ua.match(/iPad/), - blackberry : ua.match(/BlackBerry/), - android : ua.match(/(Android|Linux armv6l|Linux armv7l)/), - linux : ua.match(/Linux/), - win : ua.match(/Windows/), - mac : ua.match(/Macintosh/) - }, - ua : { - ie : ua.match(/MSIE/), - ie6 : ua.match(/MSIE 6.0/), - ie7 : ua.match(/MSIE 7.0/), - ie8 : ua.match(/MSIE 8.0/), - ie9 : ua.match(/MSIE 9.0/), - ie10 : ua.match(/MSIE 10.0/), - opera : ua.match(/Opera/), - firefox : ua.match(/Firefox/), - chrome : ua.match(/Chrome/), - safari : ua.match(/(Safari|BlackBerry)/) - } - }; - - - -/* Correct Image Load Check */ -function isImageOk(img) { - if (!img.complete) { - return false; - } - - if (typeof img.naturalWidth !== undefined && img.naturalWidth === 0) { - return 'stop'; - } - - return true; -} - - - -/* Convert Touch Events to Mouse Events Function */ -function touchHandler(e) { - var first = e.changedTouches[0], - type = '', - simulatedEvent = undefined; - - switch (e.type) { - case 'touchstart': - type = 'mousedown'; - - break; - case 'touchmove': - type = 'mousemove'; - - break; - case 'touchend': - type = 'mouseup'; - - break; - case 'touchcancel': - type = 'mouseleave'; - - break; - default: - return; - } - - simulatedEvent = document.createEvent('MouseEvent'); - simulatedEvent.initMouseEvent( - type, - true, - true, - window, - 1, - first.screenX, - first.screenY, - first.clientX, - first.clientY, - false, - false, - false, - false, - 0, - null - ); - - first.target.dispatchEvent(simulatedEvent); - - e.preventDefault(); -} - - -/* Sliders Touch Events Convert Run */ -(function ($) { - if (!checker.ua.ie6 && !checker.ua.ie7 && !checker.ua.ie8) { - document.addEventListener('touchstart', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - - document.addEventListener('touchmove', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - - document.addEventListener('touchend', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - - document.addEventListener('touchcancel', function (e) { - if ( - $(e.changedTouches[0].target).is('img.cmsms_img') || - $(e.changedTouches[0].target).is('ul.responsiveSlider > li') || - $(e.changedTouches[0].target).is('div.cmsms_img_pattern') || - $(e.changedTouches[0].target).is('div.cmsms_img_video') || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('ul.responsiveSlider > li')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) || - ($(e.changedTouches[0].target).is(':not(a)') && $(e.changedTouches[0].target).parent().parent().parent().parent().parent().is('li.cmsmsContentSlide.active')) - ) { - touchHandler(e); - } - }, true); - } -} )(jQuery); - - - -(function ($) { - if (checker.os.iphone || checker.os.ipod || checker.os.ipad || checker.os.blackberry || checker.os.android) { - $('body').addClass('touch_dev'); - } -} )(jQuery); - diff --git a/content/js/_jquery_tweetsanywhere.js b/content/js/_jquery_tweetsanywhere.js deleted file mode 100644 index 07c116b..0000000 --- a/content/js/_jquery_tweetsanywhere.js +++ /dev/null @@ -1,2241 +0,0 @@ -/** - * jTweetsAnywhere V1.3.1 - * http://thomasbillenstein.com/jTweetsAnywhere/ - * - * Copyright 2011, Thomas Billenstein - * Licensed under the MIT license. - * http://thomasbillenstein.com/jTweetsAnywhere/license.txt - */ - - -/** - * The code below is used as supplied by Twitter (https://dev.twitter.com/docs/intents) - * - * Twitter says: - - * "Some sites may prefer to embed the unobtrusive Web Intents pop-up Javascript inline - * or without a dependency to platform.twitter.com. The snippet below will offer the - * equivalent functionality without the external dependency." - */ -(function() -{ - if (window.__twitterIntentHandler) - return; - - var intentRegex = /twitter\.com(\:\d{2,4})?\/intent\/(\w+)/, - windowOptions = 'scrollbars=yes,resizable=yes,toolbar=no,location=yes', - width = 550, - height = 420, - winHeight = screen.height, - winWidth = screen.width; - - - function handleIntent(e) - { - e = e || window.event; - - var target = e.target || e.srcElement, - m, left, top; - - while (target && target.nodeName.toLowerCase() !== 'a') - { - target = target.parentNode; - } - - if (target && target.nodeName.toLowerCase() === 'a' && target.href) - { - m = target.href.match(intentRegex); - if (m) - { - left = Math.round((winWidth / 2) - (width / 2)); - top = 0; - - if (winHeight > height) - { - top = Math.round((winHeight / 2) - (height / 2)); - } - - window.open(target.href, 'intent', windowOptions + ',width=' + width + ',height=' + height + ',left=' + left + ',top=' + top); - e.returnValue = false; - e.preventDefault && e.preventDefault(); - } - } - } - - if (document.addEventListener) - { - document.addEventListener('click', handleIntent, false); - } - else if (document.attachEvent) - { - document.attachEvent('onclick', handleIntent); - } - - window.__twitterIntentHandler = true; -}()); - - -/** - * JTA_I18N is based on SimpleI18N V0.1.0 - * - * SimpleI18N.js is a tiny library for simple i18n support in Javascript. - * Currently only translation is supported. - */ -(function() -{ - if (window.__JTA_I18N) - { - return; - } - - JTA_I18N = function() - { - var _resources = {}; - - function ResourceBundle(locale, resources) - { - this.getLocale = function() - { - return locale; - }; - - this.get = function(key, params) - { - return xlate(key, 1, params); - }; - - this._ = this.get; - - this.nget = function(singular, plural, count, params) - { - return count === 1 ? xlate(singular, 1, params) : xlate(plural, count, params); - }; - - this.__ = this.nget; - - function xlate(key, count, params) - { - var resource = getValue(key); - - if (count !== 1 && typeof resource === "object") - { - resource = evalMulti(key, resource, count); - } - - if (resource && params) - { - for (p in params) - { - resource = resource.replace(p, getValue(params[p])); - } - } - - return resource; - }; - - function getValue(resource) - { - return resources ? (resources[resource] || resource) : resource; - }; - - function evalMulti(key, resource, count) - { - for (pat in resource) - { - var re = /(\d+)\s*-\s*(\d+)/, - match = re.exec(pat); - - if (match) - { - var from = match[1]; - var to = match[2]; - if (count >= from && count <= to) - { - return resource[pat]; - } - } - - re = /([<>]=?)\s*(\d+)/; - match = re.exec(pat); - - if (match) - { - var op = match[1]; - var num = match[2]; - if (op === '>' && count > num) - { - return resource[pat]; - } - else if (op === '>=' && count >= num) - { - return resource[pat]; - } - else if (op === '<' && count < num) - { - return resource[pat]; - } - else if (op === '<=' && count <= num) - { - return resource[pat]; - } - } - - re = /\s*,\s*/; - match = pat.split(re); - - if (match) - { - for (var i = 0; i < match.length; i++) - { - if (count === ~~match[i]) - { - return resource[pat]; - } - } - } - } - - return key; - } - }; - - return { - - addResourceBundle: function(project, locale, resources) - { - if (!_resources[project]) - { - _resources[project] = {}; - } - - _resources[project][locale] = resources; - }, - - getResourceBundle: function(project, locale) - { - return new ResourceBundle(locale, _resources[project] ? _resources[project][locale] : null); - } - }; - }(); - - window.__JTA_I18N = true; -}()); - -JTA_I18N.addResourceBundle('jTweetsAnywhere', 'en', -{ - '$$monthNames': [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] -}); - -(function($) -{ - $.fn.jTweetsAnywhere = function(config) - { - // setup the default options - var options = $.extend( - { - /** - * The user's name who's tweet feed or list feed is displayed. This - * param is also used when a Twitter "Follow Button" is displayed. Usually - * this param is a string, but can also be an array of strings. If an array - * is supplied (and the params 'list' and 'searchParams' are null), a - * combined feed of all users is displayed. - * - * Sample: 'tbillenstein' or ['twitterapi', '...', '...'] - */ - username: 'tbillenstein', - - /** - * The name of a user's list where the tweet feed is generated from. The special - * list name 'favorites' can be used to display a user's favorited tweets. - */ - list: null, - - /** - * A single search param string or an array of search params, to be used in - * a Twitter search call. All Twitter Search Params are supported - * See here for the details: - * http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search - * - * Sample: 'q=twitter' or ['q=twitter', 'geocode=48.856667,2.350833,30km'] - */ - searchParams: null, - - /** - * The number of tweets shown in the tweet feed. If this param is 0, no feed - * is displayed. For user or list feeds the maximum count is 20, for search - * results the maximum count is 100. - * - * Unlike in previous releases, since 1.2.0 jTweetsAnywhere is based on a - * tweets caching algorithm that will always deliver the requested count of - * tweets accepting that this request can only be fullfilled by calling Twitter - * more than once. - * - * IMPORTANT: Please always keep in mind, that the use of the Twitter API is - * rate limited. Non-authenticated users are rated IP-based and you have only - * 150 calls per hour available. Every retrieval of tweets counts and so does - * for example hovering over a profile image to show the hovercard. - * jTweetsAnywhere will always check the remaining count of free API calls before - * actually calling Twitter to avoid black listing your visitor's IP. - */ - count: 0, - - /** - * A flag (true/false) that specifies whether to display a profile image in - * tweets. If the param is set to null (the default value), a profile image - * is displayed only if the feed represents a user's list or the result of a - * Twitter search. - * - * THIS OPTION IS DEPRECATED. You should use showTweetFeed.showProfileImages - * instead. - */ - tweetProfileImagePresent: null, - - /** - * Each tweet that is loaded from Twitter will pass the tweetFilter. if - * the filter returns true, the tweet will be added to the tweets cache - * otherwise it is ignored. The defaultTweetFilter alsways retruns true - * but you can supply your own tweet filter to customize the tweet feed. - */ - tweetFilter: defaultTweetFilter, - - /** - * A flag (true/false) that specifies whether to display a Tweet Feed - * or an object literal representing the configuration options for the - * Tweet Feed. This flag works in conjunction with the count parameter: - * - if count equals 0, no feed is displayed, ignoring showTweetFeed - * - if count not equals 0 and showTweetFeed equals false, no feed - * is displayed - * { - * autoConformToTwitterStyleguide: false, - * // Boolean - as the name implies, sets all options to confirm to Twitter's - * // styleguide regulations. Implies: - * // showTweetFeed: { - * // showUserFullNames: null, // null means: if usernames are shown, show - * // // fullnames too - * // showTwitterBird: true, - * // showActionReply: true, - * // showActionRetweet: true, - * // showActionFavorite: true - * // } - * - * showTwitterBird: true, // Boolean - show Twitter bird icon beneath the timestamp of a tweet, linking to - * // the tweeter's MiniProfile Web Intent - * - * showTimestamp: true, // A flag (true/false) that specifies whether to display a tweet's timestamp - * // or an object literal representing the configuration options for the - * // timestamp. - * // { - * // refreshInterval: 0, // Time in seconds to be waited until the - * // // timestamps of the displayed tweets get refreshed - * // // 0 means no refreshing. - * // } - * - * showSource: false, // Boolean - Show info about the source of the tweet. - * - * showGeoLocation: true, // Boolean - Show geolocation info and link to Google maps. - * - * showInReplyTo: true, // Boolean - Show link to the "replied to" tweet (if available). - * - * showActionReply: false, // Boolean - Show tweet's 'Reply' action (supplies a link to popup the tweet's - * // Reply Web Intent) - * - * showActionRetweet: false, // Boolean - Show tweet's 'Retweet' action (supplies a link to popup the tweet's - * // Retweet Web Intent) - * - * showActionFavorite: false, // Boolean - Show tweet's 'Favorite' action (supplies a link to popup the tweet's - * // Favorite Web Intent) - * - * showProfileImages: null, // A flag (true/false) that specifies whether to display a profile image in - * // tweets. If the param is set to null (the default value), a profile image - * // is displayed only if the feed represents a user's list or the result of a - * // Twitter search. - * - * showUserScreenNames: null, // A flag (true/false/null) that specifies whether to display a username in - * // tweets. If the param is set to null (the default value), a username - * // is displayed only if the feed represents a user's list or the result of a - * // Twitter search. - * - * showUserFullNames: false, // A flag (true/false/null) that specifies whether to display a user's full name - * // in tweets. If the param is set to null, a user's full name - * // is displayed only if the feed represents a user's list or the result of a - * // Twitter search. - * - * expandHovercards: false, // Boolean - Show Hovercards in expanded mode. - * - * includeRetweets: true, // Boolean - Include native retweets in a user's tweet feed - * - * paging: // An object literal representing the configuration options for the - * { // paging support, that specifies how more/earlier tweets can be loaded - * mode: "none" // by using the supplied UI controls (more/next buttons, scrollbar). - * }, // Accepted values for mode are: "none" | "more" | "prev-next" | "endless-scroll" - * // if mode equals "endless-scroll" you have to set the height of the tweet feed - * // element (.jta-tweet-list) in your CSS to get a scrollbar! You should also set - * // the "overflow" attribute to "auto". - * - * autorefresh: // An object literal representing the configuration options for the - * { // autorefresh behaviour. - * - * // IMPORTANT: Please always keep in mind, that using the Twitter API is rate - * // limited. Non-authenticated users are rated IP-based and you have only 150 - * // calls per hour available. Every retrieval of tweets counts and so does for - * // example hovering over a profile image to show the hovercard. jTweetsAnywhere will - * // always check the remaining count of free API calls before actually calling - * // Twitter to avoid black listing your visitor's IP. - * - * // However - choose your settings wisely to keep your visitors happy. An update - * // interval of 30 seconds on a feed that is updated averaged once per hour - * // does not make sense and is a total waste of remaining API calls! - * - * mode: "none", // Accepted values for mode are: "none" | "auto-insert" | "trigger-insert" - * // "none" (the default value) - disables the autorefresh feature - * // "auto-insert" - automatically insert the new tweets on top of the tweet feed - * // "trigger-insert" - if new tweets arrived, show or update a button that displays - * // the number of new tweets. These new tweets are inserted on top of the tweet - * // feed, if the user clicks on the button. - * - * interval: 60, // Time in seconds to be waited until the next request for new tweets. Minimum - * // value is 30. - * - * duration: 3600 // Time in seconds for how long the autorefresh will be active. After - * // this period of time, autorefreshing will stop. A value of -1 means - * // autorefresh for ever. - * } - * } - */ - showTweetFeed: true, - - /** - * A flag (true/false) that specifies whether to display a Twitter "Follow - * Button". - */ - showFollowButton: false, - - /** - * A flag (true/false) that specifies whether to display a Twitter "Connect - * Button" or an object literal representing the configuration options for - * the "Tweet Box". - * { - * size: 'medium' // String - The size of the Connect Button. Valid values are: small, medium, large, xlarge - * } - */ - showConnectButton: false, - - /** - * A flag (true/false) that specifies whether to display Login Infos. - */ - showLoginInfo: false, - - /** - * A flag (true/false) that specifies whether to display a Twitter "Tweet - * Box" or an object literal representing the configuration options for - * the "Tweet Box". - * { - * counter: true, // Boolean - Display a counter in the Tweet Box for counting characters - * width: 515, // Number - The width of the Tweet Box in pixels - * height: 65, // Number - The height of the Tweet Box in pixels - * label: "What's happening?", // String - The text above the Tweet Box, a call to action - * defaultContent: , // String - Pre-populated text in the Tweet Box. Useful for an @mention, a #hashtag, a link, etc. - * onTweet: // Function - Specify a listener for when a tweet is sent from the Tweet Box. The listener receives two arguments: a plaintext tweet and an HTML tweet - * } - */ - showTweetBox: false, - - /** - * Identifies the locale for I18N support. The default locale is 'en'. To use this option you have to inlude the - * adequate locale script, jtweetsanywhere-{language}-{version}.js, e.g. jtweetsanywhere-de-1.3.0.js - */ - locale: 'en', - - /** - * A dataProvider is a function that delivers the "raw" Twitter data in - * JSON format. ATM internal use only! - */ - tweetDataProvider: - defaultTweetDataProvider, - //mockedTweetDataProvider, - rateLimitDataProvider: - defaultRateLimitDataProvider, - //mockedRateLimitDataProvider, - - /** - * A decorator is a function that is responsible for constructing a certain - * element of the widget. Most of the decorators return a HTML string. - * Exceptions are the mainDecorator, which defines the basic sequence of - * the widget's components, plus the linkDecorator, the usernameDecorator - * and the hashtagDecorator which return the string that is supplied as a - * function param, enriched with the HTML tags. - * - * For details, see the implementations of the default decorators. Each - * default decorator can be overwritten by your own implementation. - */ - mainDecorator: defaultMainDecorator, - - tweetFeedDecorator: defaultTweetFeedDecorator, - - tweetDecorator: defaultTweetDecorator, - tweetProfileImageDecorator: defaultTweetProfileImageDecorator, - tweetBodyDecorator: defaultTweetBodyDecorator, - tweetUsernameDecorator: defaultTweetUsernameDecorator, - tweetTextDecorator: defaultTweetTextDecorator, - - tweetAttributesDecorator: defaultTweetAttributesDecorator, - tweetTwitterBirdDecorator: defaultTweetTwitterBirdDecorator, - tweetTimestampDecorator: defaultTweetTimestampDecorator, - tweetSourceDecorator: defaultTweetSourceDecorator, - tweetGeoLocationDecorator: defaultTweetGeoLocationDecorator, - tweetInReplyToDecorator: defaultTweetInReplyToDecorator, - tweetRetweeterDecorator: defaultTweetRetweeterDecorator, - - tweetActionsDecorator: defaultTweetActionsDecorator, - tweetActionReplyDecorator: defaultTweetActionReplyDecorator, - tweetActionRetweetDecorator: defaultTweetActionRetweetDecorator, - tweetActionFavoriteDecorator: defaultTweetActionFavoriteDecorator, - - tweetFeedControlsDecorator: defaultTweetFeedControlsDecorator, - tweetFeedControlsMoreBtnDecorator: defaultTweetFeedControlsMoreBtnDecorator, - tweetFeedControlsPrevBtnDecorator: defaultTweetFeedControlsPrevBtnDecorator, - tweetFeedControlsNextBtnDecorator: defaultTweetFeedControlsNextBtnDecorator, - - tweetFeedAutorefreshTriggerDecorator: defaultTweetFeedAutorefreshTriggerDecorator, - tweetFeedAutorefreshTriggerContentDecorator: defaultTweetFeedAutorefreshTriggerContentDecorator, - - connectButtonDecorator: defaultConnectButtonDecorator, - - loginInfoDecorator: defaultLoginInfoDecorator, - loginInfoContentDecorator: defaultLoginInfoContentDecorator, - - followButtonDecorator: defaultFollowButtonDecorator, - - tweetBoxDecorator: defaultTweetBoxDecorator, - - linkDecorator: defaultLinkDecorator, - usernameDecorator: defaultUsernameDecorator, - hashtagDecorator: defaultHashtagDecorator, - - loadingDecorator: defaultLoadingDecorator, - errorDecorator: defaultErrorDecorator, - noDataDecorator: defaultNoDataDecorator, - - /** - * Formatters are currently used for date format processing only. - * - * The tweetTimestampFormatter formats the tweet's timestamp to be shown - * in the tweet attributes section - * - * For details, see the implementation of the defaultTweetTimestampFormatter. - */ - tweetTimestampFormatter : defaultTweetTimestampFormatter, - - /** - * The tweetTimestampTooltipFormatter formats the tweet's timestamp to be shown - * in the tooltip when hovering over the timestamp link. - */ - tweetTimestampTooltipFormatter : defaultTweetTimestampTooltipFormatter, - - /** - * A visualizer is a function that is responsible for adding one or more - * elements to the DOM and thereby making them visible to the user. - * A visualizer might also be responsible to do the opposite effect: - * To remove one or more elements from the DOM. - * - * The tweetVisualizer gets called each time a tweet element should be - * appended or prepended to the tweet feed element. - * - * For details, see the implementation of the defaultTweetVisualizer. - * - * Each default visualizer can be overwritten by your own implementation. - */ - tweetVisualizer: defaultTweetVisualizer, - - /** - * The loadingIndicatorVisualizer gets called each time data is retrieved - * from Twitter to visualize the loading indicator. This visualizer is also - * used to hide the loading indicator. - * - * For details, see the implementation of the defaultLoadingIndicatorVisualizer. - */ - loadingIndicatorVisualizer: defaultLoadingIndicatorVisualizer, - - /** - * The autorefreshTriggerVisualizer will be called if the autorefresh - * trigger should be visualized or hidden. - * - * For details, see the implementation of the autorefreshTriggerVisualizer. - */ - autorefreshTriggerVisualizer: defaultAutorefreshTriggerVisualizer, - - /** - * An event handler is a function that gets called whenever the event you - * are interested in, occurs. - * - * The onDataRequest event handler will be called immediatly before calling - * Twitter to retrieve new data and gives you the opportunity to deny - * the call by returning false from the function. - * - * This feature might be used in conjunction with the paging feature, - * especially when using the "endless-scroll" paging mode, to avoid the - * exhaustion of remaining Twitter API calls, before the rate limit is - * reached. The stats parameter contains statistical infos and counters - * that you can examine to base your decision whether to return true or - * false. - */ - onDataRequestHandler: defaultOnDataRequestHandler, - - /** - * The onRateLimitData event handler is called each time - * jTweetsAnywhere retrieved the rate limit data from Twitter. The actual - * rate limit data is contained in the stats object. - */ - onRateLimitDataHandler: defaultOnRateLimitDataHandler, - - /** - * The OnOptionsInitializingHandler event handler is called before initializing - * the user options - */ - onOptionsInitializingHandler: defaultOnOptionsInitializingHandler, - - _tweetFeedConfig: - { - autoConformToTwitterStyleguide: false, - showTwitterBird: true, - showTimestamp: - { - refreshInterval: 0 - }, - showSource: false, - showGeoLocation: true, - showInReplyTo: true, - showActionReply: false, - showActionRetweet: false, - showActionFavorite: false, - showProfileImages: null, - showUserScreenNames: null, - showUserFullNames: false, - expandHovercards: false, - includeRetweets: true, - paging: - { - mode: "none", - _limit: 0, - _offset: 0 - }, - autorefresh: - { - mode: "none", - interval: 60, - duration: 3600, - max: -1, - _startTime: null, - _triggerElement: null - }, - _pageParam: 0, - _maxId: null, - _recLevel: 0, - _noData: false, - _clearBeforePopulate: false - }, - _tweetBoxConfig: - { - counter: true, - width: 515, - height: 65, - label: null, - defaultContent: '', - onTweet: function(textTweet, htmlTweet) {} - }, - _connectButtonConfig: - { - size: "medium" - }, - _baseSelector: null, - _baseElement: null, - _tweetFeedElement: null, - _tweetFeedControlsElement: null, - _followButtonElement: null, - _loginInfoElement: null, - _connectButtonElement: null, - _tweetBoxElement: null, - _loadingIndicatorElement: null, - _noDataElement: null, - _tweetsCache: [], - _autorefreshTweetsCache: [], - _stats: - { - dataRequestCount: 0, - rateLimitPreventionCount: 0, - rateLimit: - { - remaining_hits: 150, - hourly_limit: 150 - } - }, - _resourceBundle: null - }, config); - - // save the plugin's base selector - options._baseSelector = this.selector; - - options.onOptionsInitializingHandler(options); - setupOptions(options); - - // no main decorator? nothing to do! - if (!options.mainDecorator) - { - return; - } - - $.ajaxSetup({ cache: true }); - - return this.each(function() - { - // the DOM element, where to display the widget - options._baseElement = $(this); - - // create the widget's necessary sub DOM elements - options._tweetFeedElement = options.tweetFeedDecorator ? $(options.tweetFeedDecorator(options)) : null; - options._tweetFeedControlsElement = options.tweetFeedControlsDecorator ? $(options.tweetFeedControlsDecorator(options)) : null; - options._followButtonElement = options.followButtonDecorator ? $(options.followButtonDecorator(options)) : null; - options._tweetBoxElement = options.tweetBoxDecorator ? $(options.tweetBoxDecorator(options)) : null; - options._connectButtonElement = options.connectButtonDecorator ? $(options.connectButtonDecorator(options)): null; - options._loginInfoElement = options.loginInfoDecorator ? $(options.loginInfoDecorator(options)) : null; - - // add the widget to the DOM - options.mainDecorator(options); - - populateTweetFeed(options); - populateAnywhereControls(options); - - bindEventHandlers(options); - - setupAutorefresh(options); - }); - }; - defaultMainDecorator = function(options) - { - // defines the default sequence of the widget's elements - if (options._tweetFeedElement) - { - options._baseElement.append(options._tweetFeedElement); - } - - if (options._tweetFeedControlsElement) - { - options._baseElement.append(options._tweetFeedControlsElement); - } - - if (options._connectButtonElement) - { - options._baseElement.append(options._connectButtonElement); - } - - if (options._loginInfoElement) - { - options._baseElement.append(options._loginInfoElement); - } - - if (options._followButtonElement) - { - options._baseElement.append(options._followButtonElement); - } - - if (options._tweetBoxElement) - { - options._baseElement.append(options._tweetBoxElement); - } - }; - defaultTweetFeedControlsDecorator = function(options) - { - // the default tweet feed's paging controls - var html = ''; - - if (options._tweetFeedConfig.paging.mode == 'prev-next') - { - if (options.tweetFeedControlsPrevBtnDecorator) - { - html += options.tweetFeedControlsPrevBtnDecorator(options); - } - - if (options.tweetFeedControlsNextBtnDecorator) - { - html += options.tweetFeedControlsNextBtnDecorator(options); - } - } - else if (options._tweetFeedConfig.paging.mode == 'endless-scroll') - { - // nothing to do here - } - else - { - if (options.tweetFeedControlsMoreBtnDecorator) - { - html += options.tweetFeedControlsMoreBtnDecorator(options); - } - } - - return '' + html + ''; - }; - defaultTweetFeedControlsMoreBtnDecorator = function(options) - { - return '' + options._resourceBundle._('More') + ''; - }; - defaultTweetFeedControlsPrevBtnDecorator = function(options) - { - return '' + options._resourceBundle._('Prev') + ''; - }; - defaultTweetFeedControlsNextBtnDecorator = function(options) - { - return '' + options._resourceBundle._('Next') + ''; - }; - defaultTweetFeedAutorefreshTriggerDecorator = function(count, options) - { - var html = ''; - - if (options.tweetFeedAutorefreshTriggerContentDecorator) - { - html = options.tweetFeedAutorefreshTriggerContentDecorator(count, options); - } - - return '' + html + ''; - }; - defaultTweetFeedAutorefreshTriggerContentDecorator = function(count, options) - { - var content = options._resourceBundle.__('%count% new tweet', '%count% new tweets', count, { '%count%' : count }); - - return '' + content + ''; - }; - defaultTweetFeedDecorator = function(options) - { - // the default placeholder for the tweet feed is an unordered list - return ''; - }; - defaultTweetDecorator = function(tweet, options) - { - // the default tweet is made of the optional user's profile image and the - // tweet body inside a list item element - var html = ''; - - if (options._tweetFeedConfig.showProfileImages) - { - html += options.tweetProfileImageDecorator(tweet, options); - } - - if (options.tweetBodyDecorator) - { - html += options.tweetBodyDecorator(tweet, options); - } - - return '' + html + ''; - }; - defaultTweetProfileImageDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's profile - var t = tweet.retweeted_status || tweet; - - // the default profile image decorator simply adds a link to the user's Twitter profile - var screenName = getScreenName(tweet); - var imageUrl = t.user ? t.user.profile_image_url : false || t.profile_image_url; - - var html = - '' + - '' + - ''; - - return '' + html + ''; - }; - defaultTweetBodyDecorator = function(tweet, options) - { - // the default tweet body contains the tweet text and the tweet's creation date - var html = ''; - - if (options.tweetTextDecorator) - { - html += options.tweetTextDecorator(tweet, options); - } - - if (options.tweetAttributesDecorator) - { - html += options.tweetAttributesDecorator(tweet, options); - } - - if (options.tweetActionsDecorator) - { - html += options.tweetActionsDecorator(tweet, options); - } - - return '' + - html + - ''; - }; - defaultTweetTextDecorator = function(tweet, options) - { - var tweetText = tweet.text; - - // if usernames should be visible and tweet is a native retweet, use - // the original tweet text - if (tweet.retweeted_status && - ( - options._tweetFeedConfig.showUserScreenNames || - options._tweetFeedConfig.showUserScreenNames == null || - options._tweetFeedConfig.showUserFullNames || - options._tweetFeedConfig.showUserFullNames == null - ) - ) - { - tweetText = tweet.retweeted_status.text; - } - - // the default tweet text decorator optionally marks links, @usernames, - // and #hashtags - if (options.linkDecorator) - { - tweetText = options.linkDecorator(tweetText, options); - } - - if (options.usernameDecorator) - { - tweetText = options.usernameDecorator(tweetText, options); - } - - if (options.hashtagDecorator) - { - tweetText = options.hashtagDecorator(tweetText, options); - } - - if (options._tweetFeedConfig.showUserScreenNames || - options._tweetFeedConfig.showUserFullNames || - tweet.retweeted_status && - ( - options._tweetFeedConfig.showUserScreenNames == null || - options._tweetFeedConfig.showUserFullNames == null - ) - ) - { - tweetText = options.tweetUsernameDecorator(tweet, options) + ' ' + tweetText; - } - - return '' + tweetText + ''; - }; - defaultTweetUsernameDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's profile - var screenName = getScreenName(tweet); - var fullName = getFullName(tweet); - - var htmlScreenName = null; - if (screenName && (options._tweetFeedConfig.showUserScreenNames || (options._tweetFeedConfig.showUserScreenNames == null && tweet.retweeted_status))) - { - htmlScreenName = - '' + - '' + - screenName + - '' + - ''; - } - - var htmlFullName = null; - if (fullName && (options._tweetFeedConfig.showUserFullNames || (options._tweetFeedConfig.showUserFullNames == null && tweet.retweeted_status))) - { - htmlFullName = - '' + - (htmlScreenName ? ' ' : '') + - '' + - fullName + - '' + - ''; - } - - var html = ''; - - if (htmlScreenName) - { - html += htmlScreenName; - } - - if (htmlFullName) - { - if (htmlScreenName) - { - html += ' '; - } - - html += htmlFullName; - } - - if (htmlScreenName || htmlFullName) - { - html = - '' + - (tweet.retweeted_status ? 'RT ' : '') + - html + - ''; - } - - return html; - }; - defaultTweetAttributesDecorator = function(tweet, options) - { - var html = ''; - - if (options.tweetTwitterBirdDecorator || - options.tweetTimestampDecorator || - options.tweetSourceDecorator || - options.tweetGeoLocationDecorator || - options.tweetInReplyToDecorator || - (tweet.retweeted_status && options.tweetRetweeterDecorator) - ) - { - - if (options.tweetTwitterBirdDecorator) - { - html += options.tweetTwitterBirdDecorator(tweet, options); - } - - if (options.tweetTimestampDecorator) - { - html += options.tweetTimestampDecorator(tweet, options); - } - - if (options.tweetSourceDecorator) - { - html += options.tweetSourceDecorator(tweet, options); - } - - if (options.tweetGeoLocationDecorator) - { - html += options.tweetGeoLocationDecorator(tweet, options); - } - - if (options.tweetInReplyToDecorator) - { - html += options.tweetInReplyToDecorator(tweet, options); - } - - if (tweet.retweeted_status && options.tweetRetweeterDecorator) - { - html += options.tweetRetweeterDecorator(tweet, options); - } - } - - return html; - }; - defaultTweetTimestampDecorator = function(tweet, options) - { - // the default tweet timestamp decorator does a little bit of Twitter like formatting. - - // if tweet is a native retweet, use the retweet's timestamp - var tw = tweet.retweeted_status || tweet; - - // reformat timestamp from Twitter, so IE is happy - var createdAt = formatDate(tw.created_at); - - // format the timestamp by the tweetTimestampFormatter - var tweetTimestamp = options.tweetTimestampFormatter(createdAt, options); - var tweetTimestampTooltip = options.tweetTimestampTooltipFormatter(createdAt); - - var html = - '' + - tweetTimestamp + - ''; - - return html; - }; - defaultTweetTwitterBirdDecorator = function(tweet, options) - { - var screenName = getScreenName(tweet); - var intentUrl = 'https://twitter.com/intent/user?screen_name=' + screenName; - var linkTitle = screenName + ' ' + options._resourceBundle._('on Twitter'); - - var html = - '' + - '' + - ' ' + - '' + - ''; - - return html; - }; - defaultTweetTimestampTooltipFormatter = function(timeStamp) - { - var d = new Date(timeStamp); - - return d.toLocaleString(); - }; - defaultTweetTimestampFormatter = function(timeStamp, options) - { - var now = new Date(); - - var diff = parseInt((now.getTime() - Date.parse(timeStamp)) / 1000); - - var tweetTimestamp = ''; - if (diff < 60) - { - tweetTimestamp += options._resourceBundle.__('%secs% second ago', '%secs% seconds ago', diff, { '%secs%': diff }); - } - else if (diff < 3600) - { - var t = parseInt((diff + 30) / 60); - tweetTimestamp += options._resourceBundle.__('%mins% minute ago', '%mins% minutes ago', t, { '%mins%': t }); - } - else if (diff < 86400) - { - var t = parseInt((diff + 1800) / 3600); - tweetTimestamp += options._resourceBundle.__('%hours% hour ago', '%hours% hours ago', t, { '%hours%': t }); - } - else - { - var t = parseInt((diff + 43200) / 86400); - tweetTimestamp += options._resourceBundle.__('%days% day ago', '%days% days ago', t, { '%days%': t }); - } - - return tweetTimestamp; - }; - defaultTweetSourceDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's source - var tw = tweet.retweeted_status || tweet; - - var source = tw.source.replace(/\<\;/gi,'<').replace(/\>\;/gi,'>').replace(/\"\;/gi,'"'); - var html = - '' + - ' ' + options._resourceBundle._('via') + ' ' + - '' + - source + - '' + - ''; - - return html; - }; - defaultTweetGeoLocationDecorator = function(tweet, options) - { - var html = ''; - - // if tweet is a native retweet, use the retweet's source - var tw = tweet.retweeted_status || tweet; - - var q = null; - if (tw.geo && tw.geo.coordinates) - { - q = tw.geo.coordinates.join(); - } - else if (tw.place && tw.place.full_name) - { - q = tw.place.full_name; - } - - if (q) - { - var location = options._resourceBundle._('here'); - if (tw.place && tw.place.full_name) - { - location = tw.place.full_name; - } - - var link = 'http://maps.google.com/maps?q=' + q; - - html = - '' + - ' ' + options._resourceBundle._('from') + ' ' + - '' + - location + - '' + - ''; - } - - return html; - }; - defaultTweetInReplyToDecorator = function(tweet, options) - { - // if tweet is a native retweet, use the retweet's source - var tw = tweet.retweeted_status || tweet; - - var html = ''; - - if (tw.in_reply_to_status_id && tw.in_reply_to_screen_name) - { - var linkHref = 'http://twitter.com/' + tw.in_reply_to_screen_name + '/status/' + tw.in_reply_to_status_id; - var linkText = options._resourceBundle._('in reply to') + ' ' + tw.in_reply_to_screen_name; - - html = - '' + - ' ' + - '' + - linkText + - '' + - ''; - } - - return html; - }; - defaultTweetRetweeterDecorator = function(tweet, options) - { - var html = ''; - - if (tweet.retweeted_status) - { - var screenName = getUserScreenName(tweet); - - var rtc = (tweet.retweeted_status.retweet_count || 0) - 1; - - var link = - '' + - screenName + - ''; - - var rtcount = options._resourceBundle.__(' and %rtc% other', ' and %rtc% others', rtc, { '%rtc%': rtc }); - - html = - '' + - '' + - options._resourceBundle._('Retweeted by') + ' ' + link + - (rtc > 0 ? rtcount : '') + - ''; - } - - return html; - }; - defaultTweetActionsDecorator = function(tweet, options) - { - var html = ''; - - if (options.tweetActionReplyDecorator || - options.tweetActionRetweetDecorator || - options.tweetActionFavoriteDecorator - ) - { - html += ''; - - if (options.tweetActionReplyDecorator) - { - html += options.tweetActionReplyDecorator(tweet, options); - } - - if (options.tweetActionRetweetDecorator) - { - html += options.tweetActionRetweetDecorator(tweet, options); - } - - if (options.tweetActionFavoriteDecorator) - { - html += options.tweetActionFavoriteDecorator(tweet, options); - } - - html += ''; - } - - return html; - }; - defaultTweetActionReplyDecorator = function(tweet, options) - { - var intentUrl = 'https://twitter.com/intent/tweet?in_reply_to=' + tweet.id; - var actionLabel = options._resourceBundle._('Reply'); - - var html = - '' + - '' + actionLabel + '' + - ''; - - return html; - }; - defaultTweetActionRetweetDecorator = function(tweet, options) - { - var intentUrl = 'https://twitter.com/intent/retweet?tweet_id=' + tweet.id; - var actionLabel = options._resourceBundle._('Retweet'); - - var html = - '' + - '' + actionLabel + '' + - ''; - - return html; - }; - defaultTweetActionFavoriteDecorator = function(tweet, options) - { - var intentUrl = 'https://twitter.com/intent/favorite?tweet_id=' + tweet.id; - var actionLabel = options._resourceBundle._('Favorite'); - - var html = - '' + - '' + actionLabel + '' + - ''; - - return html; - }; - defaultConnectButtonDecorator = function(options) - { - // the default placeholder for the @Anywhere ConnectButton - return ''; - }; - defaultLoginInfoDecorator = function(options) - { - // the default placeholder for the LoginInfo - return ''; - }; - defaultLoginInfoContentDecorator = function(options, T) - { - // the default markup of the LoginInfo content: the user's profile image, the - // user's screen_name and a "button" to sign out - var html = ''; - - if (T.isConnected()) - { - var screenName = T.currentUser.data('screen_name'); - var imageUrl = T.currentUser.data('profile_image_url'); - - html = - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + screenName + '' + - '' + - '' + - options._resourceBundle._('Sign out') + - '' + - '' + - ' ' - ; - } - - return html; - }; - defaultFollowButtonDecorator = function(options) - { - // the default placeholder for the @Anywhere FollowButton - return ''; - }; - defaultTweetBoxDecorator = function(options) - { - // the default placeholder for the @Anywhere TweetBox - return ''; - }; - defaultLinkDecorator = function(text, options) - { - // the regex to markup links - return text.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi,'$1<\/a>'); - }; - defaultUsernameDecorator = function(text, options) - { - // the regex to markup @usernames. if @Anywhere is present the task is left to - // them - return isAnywherePresent() ? text : text.replace(/\B@(\w+)/gi,'@$1<\/a>'); - }; - defaultHashtagDecorator = function(text, options) - { - // the regex to markup #hashtags - return text.replace(/#([a-zA-Z0-9_]+)/gi,'#$1<\/a>'); - }; - defaultLoadingDecorator = function(options) - { - // the default loading decorator simply says: loading ... - return ' '; - }; - defaultErrorDecorator = function(errorText, options) - { - // the default error decorator shows the error message - return '' + options._resourceBundle._('ERROR') + ': ' + errorText + ''; - }; - defaultNoDataDecorator = function(options) - { - // the default no-data decorator simply says: No more data - return '' + options._resourceBundle._('No more data') + ''; - }; - - defaultTweetFilter = function(tweet, options) - { - return true; - }; - - defaultTweetVisualizer = function(tweetFeedElement, tweetElement, inserter, options) - { - // insert (append/prepend) the tweetElement to the tweetFeedElement - tweetFeedElement[inserter](tweetElement); - }; - defaultLoadingIndicatorVisualizer = function(tweetFeedElement, loadingIndicatorElement, options, callback) - { - defaultVisualizer(tweetFeedElement, loadingIndicatorElement, 'append', 'fadeIn', 600, 'fadeOut', 200, callback); - }; - defaultAutorefreshTriggerVisualizer = function(tweetFeedElement, triggerElement, options, callback) - { - defaultVisualizer(tweetFeedElement, triggerElement, 'prepend', 'slideDown', 600, 'fadeOut', 200, callback); - }; - defaultVisualizer = function(container, element, inserter, effectIn, durationIn, effectOut, durationOut, callback) - { - // if param container is null element has to be removed from - // the DOM, else element has to be inserted in container - - // if param callback is not null, the callback function must be called - // in any case, if the visualizer is done - - var cb = function() - { - if (callback) - { - callback(); - } - }; - - if (container) - { - element.hide(); - container[inserter](element); - element[effectIn](durationIn, cb); - } - else - { - element[effectOut](durationOut, function() - { - element.remove(); - cb(); - }); - } - }; - defaultOnDataRequestHandler = function(stats, options) - { - return true; - }; - defaultOnRateLimitDataHandler = function(stats, options) - { - }; - defaultOnOptionsInitializingHandler = function(options) - { - }; - updateLoginInfoElement = function(options, T) - { - // update the content of the LoginInfo element - if (options._loginInfoElement && options.loginInfoContentDecorator) - { - options._loginInfoElement.children().remove(); - options._loginInfoElement.append(options.loginInfoContentDecorator(options, T)); - $(options._baseSelector + ' .jta-login-info-sign-out').bind('click', function() - { - twttr.anywhere.signOut(); - }); - } - }; - getFeedUrl = function(options, flPaging) - { - // create the Twitter API URL based on the configuration options - var url = ('https:' == document.location.protocol ? 'https:' : 'http:'); - - if (options.searchParams) - { - url += '//search.twitter.com/search.json?' + - ((options.searchParams instanceof Array) ? options.searchParams.join('&') : options.searchParams) + - '&rpp=100'; - } - else if (options.list) - { - if ('favorites' == options.list) - { - url += '//api.twitter.com/1/favorites/' + options.username + '.json?count=20'; - } - else - { - url += '//api.twitter.com/1/' + options.username + '/lists/' + options.list + '/statuses.json?per_page=20'; - } - } - else - { - url += '//api.twitter.com/1/statuses/user_timeline.json?screen_name=' + options.username + '&count=20'; - if (options._tweetFeedConfig.includeRetweets) - url += '&include_rts=true'; - } - - if (flPaging) - { - url += - (options._tweetFeedConfig._maxId ? '&max_id=' + options._tweetFeedConfig._maxId : '') + - '&page=' + options._tweetFeedConfig._pageParam; - } - - url += '&callback=?'; - - return url; - }; - isAnywherePresent = function() - { - // check, if @Anywhere is present - return (typeof(twttr) != 'undefined' && typeof(twttr.anywhere) != 'undefined'); - }; - clearTweetFeed = function(options) - { - if (options._tweetFeedElement) - { - options._tweetFeedElement.empty(); - } - }; - setupOptions = function(options) - { - options._resourceBundle = JTA_I18N.getResourceBundle('jTweetsAnywhere', options.locale); - - options._tweetBoxConfig.label = options._resourceBundle._("What's happening?"); - - // if username is an array, create the search query and flatten username - if (typeof(options.username) != 'string') - { - if (!options.searchParams) - { - options.searchParams = ['q=from:' + options.username.join(" OR from:")]; - } - - options.username = options.username[0]; - } - - // if showTweetFeed is not set to a boolean value, we expect the configuration of - // the tweet feed - if (typeof(options.showTweetFeed) == 'object') - { - $.extend(true, options._tweetFeedConfig, options.showTweetFeed); - } - - // if showTweetBox is not set to a boolean value, we expect the configuration of - // the TweetBox - if (typeof(options.showTweetBox) == 'object') - { - $.extend(true, options._tweetBoxConfig, options.showTweetBox); - options.showTweetBox = true; - } - - // if showConnectButton is not set to a boolean value, we expect the - // configuration of the Connect Button - if (typeof(options.showConnectButton) == 'object') - { - options._connectButtonConfig = options.showConnectButton; - options.showConnectButton = true; - } - - // to be compatible, check the deprecated option 'tweetProfileImagePresent' - if (options._tweetFeedConfig.showProfileImages == null) - { - options._tweetFeedConfig.showProfileImages = options.tweetProfileImagePresent; - } - - // if _tweetFeedConfig.showProfileImages is not set to a boolean value, - // we decide to show a profile image if the feed represents a user's - // list or the results of a Twitter search - if (options._tweetFeedConfig.showProfileImages == null) - { - options._tweetFeedConfig.showProfileImages = (options.list || options.searchParams) && options.tweetProfileImageDecorator; - } - - // handle the autoConformToTwitterStyleguide - if (options._tweetFeedConfig.autoConformToTwitterStyleguide) - { - options._tweetFeedConfig.showUserFullNames = null; - options._tweetFeedConfig.showTwitterBird = true; - options._tweetFeedConfig.showActionReply = true; - options._tweetFeedConfig.showActionRetweet = true; - options._tweetFeedConfig.showActionFavorite = true; - } - - // if _tweetFeedConfig.showUserScreenNames is not set to a boolean value, - // we decide to show a username if the feed represents a user's - // list or the results of a Twitter search or a tweet is a native retweet - if (options._tweetFeedConfig.showUserScreenNames == null) - { - if (options.list || options.searchParams) - { - options._tweetFeedConfig.showUserScreenNames = true; - } - - if (!options.tweetUsernameDecorator) - { - options._tweetFeedConfig.showUserScreenNames = false; - } - } - - // if _tweetFeedConfig.showUserFullNames is not set to a boolean value, - // we decide to show a user's full name if the feed represents a user's - // list or the results of a Twitter search or a tweet is a native retweet - if (options._tweetFeedConfig.showUserFullNames == null) - { - if (options.list || options.searchParams) - { - options._tweetFeedConfig.showUserFullNames = true; - } - - if (!options.tweetUsernameDecorator) - { - options._tweetFeedConfig.showUserFullNames = false; - } - } - - - options.count = validateRange(options.count, 0, options.searchParams ? 100 : 20); - - options._tweetFeedConfig.autorefresh.interval = Math.max(30, options._tweetFeedConfig.autorefresh.interval); - if (options._tweetFeedConfig.autorefresh.max <= 0) - { - options._tweetFeedConfig.autorefresh.max = -1; - } - options._tweetFeedConfig.paging._offset = 0; - options._tweetFeedConfig.paging._limit = options.count; - - // internally, the decision of what parts of a widget are to be - // displayed is based on the existence of the decorators - if (options.count == 0 || !options.showTweetFeed) - { - options.tweetFeedDecorator = null; - options.tweetFeedControlsDecorator = null; - } - - if (options._tweetFeedConfig.paging.mode == 'none') - { - options.tweetFeedControlsDecorator = null; - } - - if (!options.showFollowButton) - { - options.followButtonDecorator = null; - } - - if (!options.showTweetBox) - { - options.tweetBoxDecorator = null; - } - - if (!options.showConnectButton) - { - options.connectButtonDecorator = null; - } - - if (!options.showLoginInfo) - { - options.loginInfoDecorator = null; - } - - if (!options._tweetFeedConfig.showTwitterBird) - { - options.tweetTwitterBirdDecorator = null; - } - - if (!options._tweetFeedConfig.showTimestamp) - { - options.tweetTimestampDecorator = null; - } - - if (!options._tweetFeedConfig.showSource) - { - options.tweetSourceDecorator = null; - } - - if (!options._tweetFeedConfig.showGeoLocation) - { - options.tweetGeoLocationDecorator = null; - } - - if (!options._tweetFeedConfig.showInReplyTo) - { - options.tweetInReplyToDecorator = null; - } - - if (!options._tweetFeedConfig.showActionReply) - { - options.tweetActionReplyDecorator = null; - } - - if (!options._tweetFeedConfig.showActionRetweet) - { - options.tweetActionRetweetDecorator = null; - } - - if (!options._tweetFeedConfig.showActionFavorite) - { - options.tweetActionFavoriteDecorator = null; - } - }; - setupAutorefresh = function(options) - { - options._tweetFeedConfig.autorefresh._startTime = new Date().getTime(); - - startAutorefresh(options); - startTimestampRefresh(options); - }; - populateTweetFeed = function(options) - { - // if a tweet feed is to be displayed, get the tweets and show them - if (options.tweetDecorator && options._tweetFeedElement) - { - getPagedTweets(options, function(tweets, options) - { - if (options._tweetFeedConfig._clearBeforePopulate) - { - clearTweetFeed(options); - } - - hideLoadingIndicator(options, function() - { - // process the tweets - $.each(tweets, function(idx, tweet) - { - // decorate the tweet and give it to the tweet visualizer - options.tweetVisualizer( - options._tweetFeedElement, - $(options.tweetDecorator(tweet, options)), - 'append', - options - ); - }); - - if (options._tweetFeedConfig._noData && options.noDataDecorator && !options._tweetFeedConfig._noDataElement) - { - options._tweetFeedConfig._noDataElement = $(options.noDataDecorator(options)); - options._tweetFeedElement.append(options._tweetFeedConfig._noDataElement); - } - - if (options._tweetFeedConfig._clearBeforePopulate) - { - options._tweetFeedElement.scrollTop(0); - } - - addHovercards(options); - }); - }); - } - }; - populateTweetFeed2 = function(options) - { - if (options._tweetFeedElement && options._autorefreshTweetsCache.length > 0) - { - if (options._tweetFeedConfig.autorefresh.mode == 'trigger-insert') - { - if (options._tweetFeedConfig.autorefresh._triggerElement) - { - if (options.tweetFeedAutorefreshTriggerContentDecorator) - { - options._tweetFeedConfig.autorefresh._triggerElement.html( - options.tweetFeedAutorefreshTriggerContentDecorator(options._autorefreshTweetsCache.length, options) - ); - } - } - else - { - if (options.tweetFeedAutorefreshTriggerDecorator) - { - options._tweetFeedConfig.autorefresh._triggerElement = - $(options.tweetFeedAutorefreshTriggerDecorator(options._autorefreshTweetsCache.length, options)); - options._tweetFeedConfig.autorefresh._triggerElement.bind('click', function() - { - options.autorefreshTriggerVisualizer( - null, - options._tweetFeedConfig.autorefresh._triggerElement, - options, - function() - { - insertTriggerTweets(options); - } - ); - options._tweetFeedConfig.autorefresh._triggerElement = null; - }); - - options.autorefreshTriggerVisualizer(options._tweetFeedElement, options._tweetFeedConfig.autorefresh._triggerElement, options); - } - } - } - else - { - insertTriggerTweets(options); - } - } - }; - insertTriggerTweets = function(options) - { - // populate the tweet feed with tweets from the autorefresh cache - if (options.tweetDecorator && options._autorefreshTweetsCache.length > 0) - { - // process the autorefresh cache - while (options._autorefreshTweetsCache.length > 0) - { - // get the last tweet and remove it from the autorefresh cache - var tweet = options._autorefreshTweetsCache.pop(); - - // put that tweet on top of the tweets cache - options._tweetsCache.unshift(tweet); - - // adjust paging offset - options._tweetFeedConfig.paging._offset++; - - // decorate the tweet and give it to the tweet visualizer - options.tweetVisualizer( - options._tweetFeedElement, - $(options.tweetDecorator(tweet, options)), - 'prepend', - options - ); - } - - addHovercards(options); - } - }; - addHovercards = function(options) - { - if (isAnywherePresent()) - { - // if @Anywhere is present, append Hovercards to @username and - // profile images - twttr.anywhere(function(T) - { - T(options._baseSelector + ' .jta-tweet-list').hovercards({expanded: options._tweetFeedConfig.expandHovercards}); - T(options._baseSelector + ' .jta-tweet-profile-image img').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.alt; } - }); - T(options._baseSelector + ' .jta-tweet-retweeter-link').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.text; } - }); - T(options._baseSelector + ' .jta-tweet-user-screen-name-link').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.text; } - }); - T(options._baseSelector + ' .jta-tweet-user-full-name-link').hovercards( - { - expanded: options._tweetFeedConfig.expandHovercards, - username: function(node) { return node.name; } - }); - }); - } - }; - populateAnywhereControls = function(options) - { - if (isAnywherePresent()) - { - twttr.anywhere(function(T) - { - // optionally add an @Anywhere TweetBox - if (options.tweetBoxDecorator) - { - T(options._baseSelector + ' .jta-tweet-box').tweetBox(options._tweetBoxConfig); - } - - // optionally add an @Anywhere FollowButton - if (options.followButtonDecorator) - { - T(options._baseSelector + ' .jta-follow-button').followButton(options.username); - } - - // optionally add an @Anywhere ConnectButton - if (options.connectButtonDecorator) - { - var o = $.extend( - { - authComplete: function(user) - { - // display/update login infos on connect/signin event - updateLoginInfoElement(options, T); - }, - signOut: function() - { - // display/update login infos on signout event - updateLoginInfoElement(options, T); - } - }, options._connectButtonConfig); - - T(options._baseSelector + ' .jta-connect-button').connectButton(o); - - // display/update login infos - updateLoginInfoElement(options, T); - } - }); - } - }; - bindEventHandlers = function(options) - { - if (options.tweetFeedControlsDecorator) - { - if (options._tweetFeedConfig.paging.mode == 'prev-next') - { - $(options._baseSelector + ' .jta-tweet-list-controls-button-prev').bind('click', function() - { - if (!isLoading(options) && options._tweetFeedConfig.paging._offset > 0) - { - prevPage(options, true); - } - }); - $(options._baseSelector + ' .jta-tweet-list-controls-button-next').bind('click', function() - { - if (!isLoading(options)) - { - nextPage(options, true); - } - }); - } - else if (options._tweetFeedConfig.paging.mode == 'endless-scroll') - { - options._tweetFeedElement.bind("scroll", function() - { - if (!isLoading(options) && ($(this)[0].scrollHeight - $(this).scrollTop() == $(this).outerHeight())) - { - nextPage(options, false); - } - }); - } - else - { - $(options._baseSelector + ' .jta-tweet-list-controls-button-more').bind('click', function() - { - if (!isLoading(options)) - { - nextPage(options, false); - } - }); - } - } - }; - nextPage = function(options, flClear) - { - doPage(options, flClear, Math.min(options._tweetFeedConfig.paging._offset + options._tweetFeedConfig.paging._limit, options._tweetsCache.length)); - }; - prevPage = function(options, flClear) - { - doPage(options, flClear, Math.max(0, options._tweetFeedConfig.paging._offset - options._tweetFeedConfig.paging._limit)); - }; - doPage = function(options, flClear, newOffset) - { - options._tweetFeedConfig.paging._offset = newOffset; - options._tweetFeedConfig._clearBeforePopulate = flClear; - - populateTweetFeed(options); - }; - startAutorefresh = function(options) - { - if (options._tweetFeedConfig.autorefresh.mode != 'none' && - options._tweetFeedConfig.paging.mode != 'prev-next' && - options._tweetFeedConfig.autorefresh.duration != 0 && - ( - options._tweetFeedConfig.autorefresh.duration < 0 || - (new Date().getTime() - options._tweetFeedConfig.autorefresh._startTime) <= options._tweetFeedConfig.autorefresh.duration * 1000 - ) - ) - { - window.setTimeout(function() { processAutorefresh(options); }, options._tweetFeedConfig.autorefresh.interval * 1000); - } - }; - stopAutorefresh = function(options) - { - options._tweetFeedConfig.autorefresh.duration = 0; - }; - processAutorefresh = function(options) - { - if (options._tweetFeedConfig.autorefresh.duration != 0) - { - // load the data ... - getRateLimitedData(options, true, getFeedUrl(options, false), function(data, options) - { - // reverse the sequence of the autorefresh tweets ... - var tweets = (data.results || data).slice(0); - tweets.reverse(); - - // ...then process them - $.each(tweets, function(idx, tweet) - { - // Snowflake support: just update ids that are currently used - if (tweet.id_str) - { - tweet.id = tweet.id_str; - } - - if (tweet.in_reply_to_status_id_str) - { - tweet.in_reply_to_status_id = tweet.in_reply_to_status_id_str; - } - - // if this tweet is already in one of the tweet caches, ignore it - if (!isTweetInAutorefreshCache(tweet, options) && !isTweetInCache(tweet, options)) - { - // optionally filter tweet ... - if (options.tweetFilter(tweet, options)) - { - // ... then put it to the top of the autorefresh cache - options._autorefreshTweetsCache.unshift(tweet); - - // if a maximum autorefresh cache size is configured, remove elder tweets - if (options._tweetFeedConfig.autorefresh.max > 0) - { - while (options._autorefreshTweetsCache.length > options._tweetFeedConfig.autorefresh.max) - { - options._autorefreshTweetsCache.pop(); - } - } - } - } - }); - - populateTweetFeed2(options); - }); - - // restart autorefresh - startAutorefresh(options); - } - }; - startTimestampRefresh = function(options) - { - if ( - options.tweetTimestampDecorator && - typeof(options._tweetFeedConfig.showTimestamp) == 'object' && - options._tweetFeedConfig.showTimestamp.refreshInterval > 0 - ) - { - window.setTimeout(function() { processTimestampRefresh(options); }, options._tweetFeedConfig.showTimestamp.refreshInterval * 1000); - } - }; - processTimestampRefresh = function(options) - { - $.each(options._tweetFeedElement.find('.jta-tweet-timestamp-link'), function(idx, element) - { - var dataTimestamp = $(element).attr('data-timestamp'); - - $(element).html(options.tweetTimestampFormatter(dataTimestamp, options)); - }); - - startTimestampRefresh(options); - }; - isTweetInCache = function(tweet, options) - { - var l = options._tweetsCache.length; - - for (var i = 0; i < l; i++) - { - if (tweet.id == options._tweetsCache[i].id) - { - return true; - } - } - - return false; - }; - isTweetInAutorefreshCache = function(tweet, options) - { - var l = options._autorefreshTweetsCache.length; - - for (var i = 0; i < l; i++) - { - if (tweet.id == options._autorefreshTweetsCache[i].id) - { - return true; - } - } - - return false; - }; - showLoadingIndicator = function(options) - { - if (options._tweetFeedElement && options.loadingDecorator && !options._loadingIndicatorElement) - { - options._loadingIndicatorElement = $(options.loadingDecorator(options)); - options.loadingIndicatorVisualizer(options._tweetFeedElement, options._loadingIndicatorElement, options, null); - options._tweetFeedElement.scrollTop(1000000); - } - }; - hideLoadingIndicator = function(options, callback) - { - if (options._loadingIndicatorElement) - { - options.loadingIndicatorVisualizer(null, options._loadingIndicatorElement, options, callback); - options._loadingIndicatorElement = null; - } - else - { - if (callback) - { - callback(); - } - } - }; - isLoading = function(options) - { - return options._loadingIndicatorElement != null; - }; - formatDate = function(dateStr) - { - return dateStr.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i, '$1,$2$4$3'); - }; - getUserScreenName = function(tweet) - { - var screenName = tweet.user ? tweet.user.screen_name : false || tweet.from_user; - - return screenName; - }; - getScreenName = function(tweet) - { - var t = tweet.retweeted_status || tweet; - var screenName = t.user ? t.user.screen_name : false || t.from_user; - - return screenName; - }; - getFullName = function(tweet) - { - var t = tweet.retweeted_status || tweet; - var fullName = t.user ? t.user.name : undefined; - - return fullName; - }; - validateRange = function(num, lo, hi) - { - if (num < lo) - num = lo; - - if (num > hi) - num = hi; - - return num; - }; - showError = function(options, errorText) - { - if (options.errorDecorator && options._tweetFeedElement) - { - options._tweetFeedElement.append(options.errorDecorator(errorText, options)); - } - }; - getPagedTweets = function(options, callback) - { - options._tweetFeedConfig._recLevel = 0; - - getRecPagedTweets(options, options._tweetFeedConfig.paging._offset, options._tweetFeedConfig.paging._limit, callback); - }; - getRecPagedTweets = function(options, offset, limit, callback) - { - ++options._tweetFeedConfig._recLevel; - - if (offset + limit <= options._tweetsCache.length || - options._tweetFeedConfig._recLevel > 3 || - options._tweetFeedConfig._noData - ) - { - // if the requested data is already cached or the max. no. of - // consecutive API calls is reached, use the records - - if (offset + limit > options._tweetsCache.length) - { - limit = Math.max(0, options._tweetsCache.length - offset); - } - - var tweets = []; - - for (var i = 0; i < limit; i++) - { - tweets[i] = options._tweetsCache[offset + i]; - } - - callback(tweets, options); - } - else - { - // ... if not, load the data, fill the cache and try again - ++options._tweetFeedConfig._pageParam; - - getRateLimitedData(options, false, getFeedUrl(options, true), function(data, options) - { - var tweets = data.results || data; - - if (tweets.length == 0) - { - options._tweetFeedConfig._noData = true; - } - else - { - $.each(tweets, function(idx, tweet) - { - // Snowflake support: just update ids that are currently used - if (tweet.id_str) - { - tweet.id = tweet.id_str; - } - - if (tweet.in_reply_to_status_id_str) - { - tweet.in_reply_to_status_id = tweet.in_reply_to_status_id_str; - } - - // save the first tweet id for subsequent paging requests - if (!options._tweetFeedConfig._maxId) - { - options._tweetFeedConfig._maxId = tweet.id; - } - - // optionally filter tweet ... - if (options.tweetFilter(tweet, options)) - { - // then put it into the cache - options._tweetsCache.push(tweet); - } - }); - } - - getRecPagedTweets(options, offset, limit, callback); - }); - } - }; - getRateLimitedData = function(options, flAutorefresh, url, callback) - { - getRateLimit(options, function(rateLimit) - { - if (rateLimit && rateLimit.remaining_hits <= 0) - { - options._stats.rateLimitPreventionCount++; - hideLoadingIndicator(options, null); - return; - } - - getData(options, flAutorefresh, url, callback); - }); - }; - getData = function(options, flAutorefresh, url, callback) - { - options._stats.dataRequestCount++; - - if (!options.onDataRequestHandler(options._stats, options)) - { - hideLoadingIndicator(options, null); - return; - } - - if (!flAutorefresh) - { - showLoadingIndicator(options); - } - - options.tweetDataProvider(url, function(data) - { - if (data.error) - { - // in case of an error, display the error message - showError(options, data.error); - } - else - { - callback(data, options); - } - }); - }; - getRateLimit = function(options, callback) - { - options.rateLimitDataProvider(function(rateLimit) - { - options._stats.rateLimit = rateLimit; - - options.onRateLimitDataHandler(options._stats, options); - - callback(rateLimit); - }); - }; - defaultTweetDataProvider = function(url, callback) - { - $.getJSON(url, callback); - }; - defaultRateLimitDataProvider = function(callback) - { - $.getJSON('http://api.twitter.com/1/account/rate_limit_status.json?callback=?', callback); - }; -})(jQuery); diff --git a/content/js/_main.js b/content/js/_main.js deleted file mode 100644 index e69de29..0000000 diff --git a/content/js/_modernizr.js b/content/js/_modernizr.js deleted file mode 100644 index 86e910e..0000000 --- a/content/js/_modernizr.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.6.1 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexbox_legacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load - */ -;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(['#modernizr:after{content:"',l,'";visibility:hidden}'].join(""),function(b){a=b.offsetHeight>=1}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),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._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this); \ No newline at end of file diff --git a/content/js/application.js b/content/js/application.js deleted file mode 100644 index 07727f6..0000000 --- a/content/js/application.js +++ /dev/null @@ -1,6 +0,0 @@ -//= require _modernizr.js -//= require _respond.js -//= require _jquery.js -//= require _jquery_easing.js - -//= require _main.js diff --git a/content/js/foundation.js b/content/js/foundation.js new file mode 100644 index 0000000..06237ad --- /dev/null +++ b/content/js/foundation.js @@ -0,0 +1,15 @@ +/* + * Foundation Responsive Library + * http://foundation.zurb.com + * Copyright 2013, ZURB + * Free to use under the MIT license. + * http://www.opensource.org/licenses/mit-license.php +*/ +/*jslint unparam: true, browser: true, indent: 2 */ +// Accommodate running jQuery or Zepto in noConflict() mode by +// using an anonymous function to redefine the $ shorthand name. +// See http://docs.jquery.com/Using_jQuery_with_Other_Libraries +// and http://zeptojs.com/ +var libFuncName=null;if(typeof jQuery=="undefined"&&typeof Zepto=="undefined"&&typeof $=="function")libFuncName=$;else if(typeof jQuery=="function")libFuncName=jQuery;else{if(typeof Zepto!="function")throw new TypeError;libFuncName=Zepto}(function(e,t,n,r){"use strict";Array.prototype.filter||(Array.prototype.filter=function(e){if(this==null)throw new TypeError;var t=Object(this),n=t.length>>>0;if(typeof e!="function")return;var r=[],i=arguments[1];for(var s=0;s>>0;if(n===0)return-1;var r=0;arguments.length>1&&(r=Number(arguments[1]),r!=r?r=0:r!=0&&r!=Infinity&&r!=-Infinity&&(r=(r>0||-1)*Math.floor(Math.abs(r))));if(r>=n)return-1;var i=r>=0?r:Math.max(n-Math.abs(r),0);for(;i0)for(var l=u.length-1;l>=0;l--)f.push(this.init_lib(u[l],a))}else for(var c in this.libs)f.push(this.init_lib(c,a));return typeof n=="function"&&a.unshift(n),this.response_obj(f,a)},response_obj:function(e,t){for(var n=0,r=t.length;n=0;r--)this.lib_methods.hasOwnProperty(n[r])&&(this.libs[e.name][n[r]]=this.lib_methods[n[r]])},random_str:function(e){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split("");e||(e=Math.floor(Math.random()*t.length));var n="";for(var r=0;r=0;r--)i=s[r].split(":"),/true/i.test(i[1])&&(i[1]=!0),/false/i.test(i[1])&&(i[1]=!1),u(i[1])&&(i[1]=parseInt(i[1],10)),i.length===2&&i[0].length>0&&(n[a(i[0])]=a(i[1]));return n},delay:function(e,t){return setTimeout(e,t)},scrollTo:function(n,r,i){if(i<0)return;var s=r-e(t).scrollTop(),o=s/i*10;this.scrollToTimerCache=setTimeout(function(){isNaN(parseInt(o,10))||(t.scrollTo(0,e(t).scrollTop()+o),this.scrollTo(n,r,i-10))}.bind(this),10)},scrollLeft:function(e){if(!e.length)return;return"scrollLeft"in e[0]?e[0].scrollLeft:e[0].pageXOffset},empty:function(e){if(e.length&&e.length>0)return!1;if(e.length&&e.length===0)return!0;for(var t in e)if(hasOwnProperty.call(e,t))return!1;return!0}},fix_outer:function(e){e.outerHeight=function(e,t){return typeof Zepto=="function"?e.height():typeof t!="undefined"?e.outerHeight(t):e.outerHeight()},e.outerWidth=function(e){return typeof Zepto=="function"?e.width():typeof bool!="undefined"?e.outerWidth(bool):e.outerWidth()}},error:function(e){return e.name+" "+e.message+"; "+e.more},off:function(){return e(this.scope).off(".fndtn"),e(t).off(".fndtn"),!0},zj:function(){try{return Zepto}catch(e){return jQuery}}()},e.fn.foundation=function(){var e=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(e)),this})}})(libFuncName,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.alerts={name:"alerts",version:"4.0.0",settings:{speed:300,callback:function(){}},init:function(t,n,r){return this.scope=t||this.scope,typeof n=="object"&&e.extend(!0,this.settings,n),typeof n!="string"?(this.settings.init||this.events(),this.settings.init):this[n].call(this,r)},events:function(){var t=this;e(this.scope).on("click.fndtn.alerts","[data-alert] a.close",function(n){n.preventDefault(),e(this).closest("[data-alert]").fadeOut(t.speed,function(){e(this).remove(),t.settings.callback()})}),this.settings.init=!0},off:function(){e(this.scope).off(".fndtn.alerts")}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.clearing={name:"clearing",version:"4.1.3",settings:{templates:{viewing:'×'},close_selectors:".clearing-close",init:!1,locked:!1},init:function(t,n,r){var i=this;return Foundation.inherit(this,"set_data get_data remove_data throttle data_options"),typeof n=="object"&&(r=e.extend(!0,this.settings,n)),typeof n!="string"?(e(this.scope).find("ul[data-clearing]").each(function(){var t=e(this),n=n||{},r=t.find("li"),s=i.get_data(t);!s&&r.length>0&&(n.$parent=t.parent(),i.set_data(t,e.extend({},i.settings,n,i.data_options(t))),i.assemble(t.find("li")),i.settings.init||i.events().swipe_events())}),this.settings.init):this[n].call(this,r)},events:function(){var n=this;return e(this.scope).on("click.fndtn.clearing","ul[data-clearing] li",function(t,r,i){var r=r||e(this),i=i||r,s=r.next("li"),o=n.get_data(r.parent()),u=e(t.target);t.preventDefault(),o||n.init(),i.hasClass("visible")&&r[0]===i[0]&&s.length>0&&n.is_open(r)&&(i=s,u=i.find("img")),n.open(u,r,i),n.update_paddles(i)}).on("click.fndtn.clearing",".clearing-main-next",function(e){this.nav(e,"next")}.bind(this)).on("click.fndtn.clearing",".clearing-main-prev",function(e){this.nav(e,"prev")}.bind(this)).on("click.fndtn.clearing",this.settings.close_selectors,function(e){Foundation.libs.clearing.close(e,this)}).on("keydown.fndtn.clearing",function(e){this.keydown(e)}.bind(this)),e(t).on("resize.fndtn.clearing",function(){this.resize()}.bind(this)),this.settings.init=!0,this},swipe_events:function(){var t=this;e(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(t){t.touches||(t=t.originalEvent);var n={start_page_x:t.touches[0].pageX,start_page_y:t.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:r};e(this).data("swipe-transition",n),t.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(n){n.touches||(n=n.originalEvent);if(n.touches.length>1||n.scale&&n.scale!==1)return;var r=e(this).data("swipe-transition");typeof r=="undefined"&&(r={}),r.delta_x=n.touches[0].pageX-r.start_page_x,typeof r.is_scrolling=="undefined"&&(r.is_scrolling=!!(r.is_scrolling||Math.abs(r.delta_x)');var r=e("#foundationClearingHolder"),i=this.get_data(n),s=n.detach(),o={grid:''+this.outerHTML(s[0])+"",viewing:i.templates.viewing},u=''+o.viewing+o.grid+"";return r.after(u).remove()},open:function(e,t,n){var r=n.closest(".clearing-assembled"),i=r.find("div").first(),s=i.find(".visible-img"),o=s.find("img").not(e);this.locked()||(o.attr("src",this.load(e)).css("visibility","hidden"),this.loaded(o,function(){o.css("visibility","visible"),r.addClass("clearing-blackout"),i.addClass("clearing-container"),s.show(),this.fix_height(n).caption(s.find(".clearing-caption"),e).center(o).shift(t,n,function(){n.siblings().removeClass("visible"),n.addClass("visible")})}.bind(this)))},close:function(t,n){t.preventDefault();var r=function(e){return/blackout/.test(e.selector)?e:e.closest(".clearing-blackout")}(e(n)),i,s;return n===t.target&&r&&(i=r.find("div").first(),s=i.find(".visible-img"),this.settings.prev_index=0,r.find("ul[data-clearing]").attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),i.removeClass("clearing-container"),s.hide()),!1},is_open:function(e){return e.parent().attr("style").length>0},keydown:function(t){var n=e(".clearing-blackout").find("ul[data-clearing]");t.which===39&&this.go(n,"next"),t.which===37&&this.go(n,"prev"),t.which===27&&e("a.clearing-close").trigger("click")},nav:function(t,n){var r=e(".clearing-blackout").find("ul[data-clearing]");t.preventDefault(),this.go(r,n)},resize:function(){var t=e(".clearing-blackout .visible-img").find("img");t.length&&this.center(t)},fix_height:function(t){var n=t.parent().children(),r=this;return n.each(function(){var t=e(this),n=t.find("img");t.height()>r.outerHeight(n)&&t.addClass("fix-height")}).closest("ul").width(n.length*100+"%"),this},update_paddles:function(e){var t=e.closest(".carousel").siblings(".visible-img");e.next().length>0?t.find(".clearing-main-next").removeClass("disabled"):t.find(".clearing-main-next").addClass("disabled"),e.prev().length>0?t.find(".clearing-main-prev").removeClass("disabled"):t.find(".clearing-main-prev").addClass("disabled")},center:function(e){return this.rtl?e.css({marginRight:-(this.outerWidth(e)/2),marginTop:-(this.outerHeight(e)/2)}):e.css({marginLeft:-(this.outerWidth(e)/2),marginTop:-(this.outerHeight(e)/2)}),this},load:function(e){if(e[0].nodeName==="A")var t=e.attr("href");else var t=e.parent().attr("href");return this.preload(e),t?t:e.attr("src")},preload:function(e){this.img(e.closest("li").next()).img(e.closest("li").prev())},loaded:function(e,t){function n(){t()}function r(){this.one("load",n);if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var e=this.attr("src"),t=e.match(/\?/)?"&":"?";t+="random="+(new Date).getTime(),this.attr("src",e+t)}}if(!e.attr("src")){n();return}e[0].complete||e[0].readyState===4?n():r.call(e)},img:function(e){if(e.length){var t=new Image,n=e.find("a");n.length?t.src=n.attr("href"):t.src=e.find("img").attr("src")}return this},caption:function(e,t){var n=t.data("caption");return n?e.text(n).show():e.text("").hide(),this},go:function(e,t){var n=e.find(".visible"),r=n[t]();r.length&&r.find("img").trigger("click",[n,r])},shift:function(e,t,n){var r=t.parent(),i=this.settings.prev_index||t.index(),s=this.direction(r,e,t),o=parseInt(r.css("left"),10),u=this.outerWidth(t),a;t.index()!==i&&!/skip/.test(s)?/left/.test(s)?(this.lock(),r.animate({left:o+u},300,this.unlock())):/right/.test(s)&&(this.lock(),r.animate({left:o-u},300,this.unlock())):/skip/.test(s)&&(a=t.index()-this.settings.up_count,this.lock(),a>0?r.animate({left:-(a*u)},300,this.unlock()):r.animate({left:0},300,this.unlock())),n()},direction:function(t,n,r){var i=t.find("li"),s=this.outerWidth(i)+this.outerWidth(i)/4,o=Math.floor(this.outerWidth(e(".clearing-container"))/s)-1,u=i.index(r),a;return this.settings.up_count=o,this.adjacent(this.settings.prev_index,u)?u>o&&u>this.settings.prev_index?a="right":u>o-1&&u<=this.settings.prev_index?a="left":a=!1:a="skip",this.settings.prev_index=u,a},adjacent:function(e,t){for(var n=t+1;n>=t-1;n--)if(n===e)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},outerHTML:function(e){return e.outerHTML||(new XMLSerializer).serializeToString(e)},off:function(){e(this.scope).off(".fndtn.clearing"),e(t).off(".fndtn.clearing"),this.remove_data(),this.settings.init=!1},reflow:function(){this.init()}}}(Foundation.zj,this,this.document),function(e,t,n){function i(e){return e}function s(e){return decodeURIComponent(e.replace(r," "))}var r=/\+/g,o=e.cookie=function(r,u,a){if(u!==n){a=e.extend({},o.defaults,a),u===null&&(a.expires=-1);if(typeof a.expires=="number"){var f=a.expires,l=a.expires=new Date;l.setDate(l.getDate()+f)}return u=o.json?JSON.stringify(u):String(u),t.cookie=[encodeURIComponent(r),"=",o.raw?u:encodeURIComponent(u),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}var c=o.raw?i:s,h=t.cookie.split("; ");for(var p=0,d=h.length;p0&&(e(t.target).is("[data-dropdown-content]")||e.contains(r.first()[0],t.target))){t.stopPropagation();return}n.close.call(n,e("[data-dropdown-content]"))}),e(t).on("resize.fndtn.dropdown",n.throttle(function(){n.resize.call(n)},50)).trigger("resize"),this.settings.init=!0},close:function(t){var n=this;t.each(function(){e(this).hasClass(n.settings.activeClass)&&(e(this).css(Foundation.rtl?"right":"left","-99999px").removeClass(n.settings.activeClass),e(this).trigger("closed"))})},open:function(e,t){this.css(e.addClass(this.settings.activeClass),t),e.trigger("opened")},toggle:function(t){var n=e("#"+t.data("dropdown"));this.close.call(this,e("[data-dropdown-content]").not(n)),n.hasClass(this.settings.activeClass)?this.close.call(this,n):this.open.call(this,n,t)},resize:function(){var t=e("[data-dropdown-content].open"),n=e("[data-dropdown='"+t.attr("id")+"']");t.length&&n.length&&this.css(t,n)},css:function(n,r){if(/body/i.test(n.offsetParent()[0].nodeName)){var i=r.offset();i.top-=n.offsetParent().offset().top,i.left-=n.offsetParent().offset().left}else var i=r.position();if(this.small())n.css({position:"absolute",width:"95%",left:"2.5%","max-width":"none",top:i.top+this.outerHeight(r)});else{if(!Foundation.rtl&&e(t).width()>this.outerWidth(n)+r.offset().left)var s=i.left;else{n.hasClass("right")||n.addClass("right");var s=i.left-(this.outerWidth(n)-this.outerWidth(r))}n.attr("style","").css({position:"absolute",top:i.top+this.outerHeight(r),left:s})}return n},small:function(){return e(t).width()<768||e("html").hasClass("lt-ie9")},off:function(){e(this.scope).off(".fndtn.dropdown"),e("html, body").off(".fndtn.dropdown"),e(t).off(".fndtn.dropdown"),e("[data-dropdown-content]").off(".fndtn.dropdown"),this.settings.init=!1}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.forms={name:"forms",version:"4.1.6",cache:{},settings:{disable_class:"no-custom",last_combo:null},init:function(t,n,r){return typeof n=="object"&&e.extend(!0,this.settings,n),typeof n!="string"?(this.settings.init||this.events(),this.assemble(),this.settings.init):this[n].call(this,r)},assemble:function(){e('form.custom input[type="radio"]',e(this.scope)).not('[data-customforms="disabled"]').each(this.append_custom_markup),e('form.custom input[type="checkbox"]',e(this.scope)).not('[data-customforms="disabled"]').each(this.append_custom_markup),e("form.custom select",e(this.scope)).not('[data-customforms="disabled"]').not("[multiple=multiple]").each(this.append_custom_select)},events:function(){var r=this;e(this.scope).on("click.fndtn.forms","form.custom span.custom.checkbox",function(t){t.preventDefault(),t.stopPropagation(),r.toggle_checkbox(e(this))}).on("click.fndtn.forms","form.custom span.custom.radio",function(t){t.preventDefault(),t.stopPropagation(),r.toggle_radio(e(this))}).on("change.fndtn.forms",'form.custom select:not([data-customforms="disabled"])',function(t,n){r.refresh_custom_select(e(this),n)}).on("click.fndtn.forms","form.custom label",function(t){if(e(t.target).is("label")){var n=e("#"+r.escape(e(this).attr("for"))+':not([data-customforms="disabled"])'),i,s;n.length!==0&&(n.attr("type")==="checkbox"?(t.preventDefault(),i=e(this).find("span.custom.checkbox"),i.length==0&&(i=n.add(this).siblings("span.custom.checkbox").first()),r.toggle_checkbox(i)):n.attr("type")==="radio"&&(t.preventDefault(),s=e(this).find("span.custom.radio"),s.length==0&&(s=n.add(this).siblings("span.custom.radio").first()),r.toggle_radio(s)))}}).on("click.fndtn.forms","form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector",function(t){var n=e(this),s=n.closest("div.custom.dropdown"),o=i(s,"select");s.hasClass("open")||e(r.scope).trigger("click"),t.preventDefault();if(!1===o.is(":disabled"))return s.toggleClass("open"),s.hasClass("open")?e(r.scope).on("click.fndtn.forms.customdropdown",function(){s.removeClass("open"),e(r.scope).off(".fndtn.forms.customdropdown")}):e(r.scope).on(".fndtn.forms.customdropdown"),!1}).on("click.fndtn.forms touchend.fndtn.forms","form.custom div.custom.dropdown li",function(t){var n=e(this),r=n.closest("div.custom.dropdown"),s=i(r,"select"),o=0;t.preventDefault(),t.stopPropagation();if(!e(this).hasClass("disabled")){e("div.dropdown").not(r).removeClass("open");var u=n.closest("ul").find("li.selected");u.removeClass("selected"),n.addClass("selected"),r.removeClass("open").find("a.current").text(n.text()),n.closest("ul").find("li").each(function(e){n[0]==this&&(o=e)}),s[0].selectedIndex=o,s.data("prevalue",u.html()),s.trigger("change")}}),e(t).on("keydown",function(t){var r=n.activeElement,i=Foundation.libs.forms,s=e(".custom.dropdown.open");if(s.length>0){t.preventDefault(),t.which===13&&s.find("li.selected").trigger("click"),t.which===27&&s.removeClass("open");if(t.which>=65&&t.which<=90){var o=i.go_to(s,t.which),u=s.find("li.selected");o&&(u.removeClass("selected"),i.scrollTo(o.addClass("selected"),300))}if(t.which===38){var u=s.find("li.selected"),a=u.prev(":not(.disabled)");a.length>0&&(a.parent()[0].scrollTop=a.parent().scrollTop()-i.outerHeight(a),u.removeClass("selected"),a.addClass("selected"))}else if(t.which===40){var u=s.find("li.selected"),o=u.next(":not(.disabled)");o.length>0&&(o.parent()[0].scrollTop=o.parent().scrollTop()+i.outerHeight(o),u.removeClass("selected"),o.addClass("selected"))}}}),this.settings.init=!0},go_to:function(e,t){var n=e.find("li"),r=n.length;if(r>0)for(var i=0;i').insertAfter(r)),s.toggleClass("checked",r.is(":checked")),s.toggleClass("disabled",r.is(":disabled"))},append_custom_select:function(t,n){var r=Foundation.libs.forms,i=e(n),s=i.next("div.custom.dropdown"),o=s.find("ul"),u=s.find(".current"),a=s.find(".selector"),f=i.find("option"),l=f.filter(":selected"),c=i.attr("class")?i.attr("class").split(" "):[],h=0,p="",d,v=!1;if(i.hasClass(r.settings.disable_class))return;if(s.length===0){var m=i.hasClass("small")?"small":i.hasClass("medium")?"medium":i.hasClass("large")?"large":i.hasClass("expand")?"expand":"";s=e(''),a=s.find(".selector"),o=s.find("ul"),p=f.map(function(){return""+e(this).html()+""}).get().join(""),o.append(p),v=s.prepend(''+l.html()+"").find(".current"),i.after(s).addClass("hidden-field")}else p=f.map(function(){return""+e(this).html()+""}).get().join(""),o.html("").append(p);r.assign_id(i,s),s.toggleClass("disabled",i.is(":disabled")),d=o.find("li"),r.cache[s.data("id")]=d.length,f.each(function(t){this.selected&&(d.eq(t).addClass("selected"),v&&v.html(e(this).html())),e(this).is(":disabled")&&d.eq(t).addClass("disabled")});if(!s.is(".small, .medium, .large, .expand")){s.addClass("open");var r=Foundation.libs.forms;r.hidden_fix.adjust(o),h=r.outerWidth(d)>h?r.outerWidth(d):h,Foundation.libs.forms.hidden_fix.reset(),s.removeClass("open")}},assign_id:function(e,t){var n=[+(new Date),Foundation.random_str(5)].join("-");e.attr("data-id",n),t.attr("data-id",n)},refresh_custom_select:function(t,n){var r=this,i=0,s=t.next(),o=t.find("option"),u=s.find("li");if(u.length!=this.cache[s.data("id")]||n)s.find("ul").html(""),o.each(function(){var t=e(""+e(this).html()+"");s.find("ul").append(t)}),o.each(function(t){this.selected&&(s.find("li").eq(t).addClass("selected"),s.find(".current").html(e(this).html())),e(this).is(":disabled")&&s.find("li").eq(t).addClass("disabled")}),s.removeAttr("style").find("ul").removeAttr("style"),s.find("li").each(function(){s.addClass("open"),r.outerWidth(e(this))>i&&(i=r.outerWidth(e(this))),s.removeClass("open")}),u=s.find("li"),this.cache[s.data("id")]=u.length},toggle_checkbox:function(e){var t=e.prev(),n=t[0];!1===t.is(":disabled")&&(n.checked=n.checked?!1:!0,e.toggleClass("checked"),t.trigger("change"))},toggle_radio:function(e){var t=e.prev(),n=t.closest("form.custom"),r=t[0];!1===t.is(":disabled")&&(n.find('input[type="radio"][name="'+this.escape(t.attr("name"))+'"]').next().not(e).removeClass("checked"),e.hasClass("checked")||e.toggleClass("checked"),r.checked=e.hasClass("checked"),t.trigger("change"))},escape:function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},hidden_fix:{tmp:[],hidden:null,adjust:function(t){var n=this;n.hidden=t.parents().andSelf().filter(":hidden"),n.hidden.each(function(){var t=e(this);n.tmp.push(t.attr("style")),t.css({visibility:"hidden",display:"block"})})},reset:function(){var t=this;t.hidden.each(function(n){var i=e(this),s=t.tmp[n];s===r?i.removeAttr("style"):i.attr("style",s)}),t.tmp=[],t.hidden=null}},off:function(){e(this.scope).off(".fndtn.forms")}};var i=function(t,n){var t=t.prev();while(t.length){if(t.is(n))return t;t=t.prev()}return e()}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.joyride={name:"joyride",version:"4.1.2",defaults:{expose:!1,modal:!1,tipLocation:"bottom",nubPosition:"auto",scrollSpeed:300,timer:0,startTimerOnClick:!0,startOffset:0,nextButton:!0,tipAnimation:"fade",pauseAfter:[],exposed:[],tipAnimationFadeSpeed:300,cookieMonster:!1,cookieName:"joyride",cookieDomain:!1,cookieExpires:365,tipContainer:"body",postRideCallback:function(){},postStepCallback:function(){},preStepCallback:function(){},preRideCallback:function(){},postExposeCallback:function(){},template:{link:'×',timer:'',tip:'',wrapper:'',button:'',modal:'',expose:'',exposeCover:''}},settings:{},init:function(t,n,r){return this.scope=t||this.scope,Foundation.inherit(this,"throttle data_options scrollTo scrollLeft delay"),typeof n=="object"?e.extend(!0,this.settings,this.defaults,n):e.extend(!0,this.settings,this.defaults,r),typeof n!="string"?(this.settings.init||this.events(),this.settings.init):this[n].call(this,r)},events:function(){var n=this;e(this.scope).on("click.joyride",".joyride-next-tip, .joyride-modal-bg",function(e){e.preventDefault(),this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())}.bind(this)).on("click.joyride",".joyride-close-tip",function(e){e.preventDefault(),this.end()}.bind(this)),e(t).on("resize.fndtn.joyride",n.throttle(function(){if(e("[data-joyride]").length>0&&n.settings.$next_tip){if(n.settings.exposed.length>0){var t=e(n.settings.exposed);t.each(function(){var t=e(this);n.un_expose(t),n.expose(t)})}n.is_phone()?n.pos_phone():n.pos_default(!1,!0)}},100)),this.settings.init=!0},start:function(){var t=this,n=e(this.scope).find("[data-joyride]"),r=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],i=r.length;this.settings.init||this.init(),this.settings.$content_el=n,this.settings.$body=e(this.settings.tipContainer),this.settings.body_offset=e(this.settings.tipContainer).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,this.settings.tipLocationPatterns={top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},typeof e.cookie!="function"&&(this.settings.cookieMonster=!1);if(!this.settings.cookieMonster||this.settings.cookieMonster&&e.cookie(this.settings.cookieName)===null)this.settings.$tip_content.each(function(n){var s=e(this);e.extend(!0,t.settings,t.data_options(s));for(var o=i-1;o>=0;o--)t.settings[r[o]]=parseInt(t.settings[r[o]],10);t.create({$li:s,index:n})}),!this.settings.startTimerOnClick&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")},resume:function(){this.set_li(),this.show()},tip_template:function(t){var n,r;return t.tip_class=t.tip_class||"",n=e(this.settings.template.tip).addClass(t.tip_class),r=e.trim(e(t.li).html())+this.button_text(t.button_text)+this.settings.template.link+this.timer_instance(t.index),n.append(e(this.settings.template.wrapper)),n.first().attr("data-index",t.index),e(".joyride-content-wrapper",n).append(r),n[0]},timer_instance:function(t){var n;return t===0&&this.settings.startTimerOnClick&&this.settings.timer>0||this.settings.timer===0?n="":n=this.outerHTML(e(this.settings.template.timer)[0]),n},button_text:function(t){return this.settings.nextButton?(t=e.trim(t)||"Next",t=this.outerHTML(e(this.settings.template.button).append(t)[0])):t="",t},create:function(t){var n=t.$li.attr("data-button")||t.$li.attr("data-text"),r=t.$li.attr("class"),i=e(this.tip_template({tip_class:r,index:t.index,button_text:n,li:t.$li}));e(this.settings.tipContainer).append(i)},show:function(t){var n=null;this.settings.$li===r||e.inArray(this.settings.$li.index(),this.settings.pauseAfter)===-1?(this.settings.paused?this.settings.paused=!1:this.set_li(t),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0?(t&&(this.settings.preRideCallback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.preStepCallback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tipSettings=e.extend(this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tipSettings.tipLocationPattern=this.settings.tipLocationPatterns[this.settings.tipSettings.tipLocation],/body/i.test(this.settings.$target.selector)||this.scroll_to(),this.is_phone()?this.pos_phone(!0):this.pos_default(!0),n=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tipAnimation)?(n.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),this.delay(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tipAnimationFadeSpeed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tipAnimation)&&(n.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tipAnimationFadeSpeed).show(),this.delay(function(){n.animate({width:n.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tipAnimationFadeSpeed)):this.settings.$next_tip.fadeIn(this.settings.tipAnimationFadeSpeed)),this.settings.$current_tip=this.settings.$next_tip):this.settings.$li&&this.settings.$target.length<1?this.show():this.end()):this.settings.paused=!0},is_phone:function(){return Modernizr?Modernizr.mq("only screen and (max-width: 767px)")||e(".lt-ie9").length>0:this.settings.$window.width()<767},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||e(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),this.settings.postStepCallback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(e){e?(this.settings.$li=this.settings.$tip_content.eq(this.settings.startOffset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=e(".joyride-tip-guide[data-index='"+this.settings.$li.index()+"']"),this.settings.$next_tip.data("closed","")},set_target:function(){var t=this.settings.$li.attr("data-class"),r=this.settings.$li.attr("data-id"),i=function(){return r?e(n.getElementById(r)):t?e("."+t).first():e("body")};this.settings.$target=i()},scroll_to:function(){var n,r;n=e(t).height()/2,r=Math.ceil(this.settings.$target.offset().top-n+this.outerHeight(this.settings.$next_tip)),r>0&&this.scrollTo(e("html, body"),r,this.settings.scrollSpeed)},paused:function(){return e.inArray(this.settings.$li.index()+1,this.settings.pauseAfter)===-1},restart:function(){this.hide(),this.settings.$li=r,this.show("init")},pos_default:function(n,r){var i=Math.ceil(e(t).height()/2),s=this.settings.$next_tip.offset(),o=this.settings.$next_tip.find(".joyride-nub"),u=Math.ceil(this.outerWidth(o)/2),a=Math.ceil(this.outerHeight(o)/2),f=n||!1;f&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),typeof r=="undefined"&&(r=!1);if(!/body/i.test(this.settings.$target.selector)){if(this.bottom()){var l=this.settings.$target.offset().left;Foundation.rtl&&(l=this.settings.$target.offset().width-this.settings.$next_tip.width()+l),this.settings.$next_tip.css({top:this.settings.$target.offset().top+a+this.outerHeight(this.settings.$target),left:l}),this.nub_position(o,this.settings.tipSettings.nubPosition,"top")}else if(this.top()){var l=this.settings.$target.offset().left;Foundation.rtl&&(l=this.settings.$target.offset().width-this.settings.$next_tip.width()+l),this.settings.$next_tip.css({top:this.settings.$target.offset +().top-this.outerHeight(this.settings.$next_tip)-a,left:l}),this.nub_position(o,this.settings.tipSettings.nubPosition,"bottom")}else this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.outerWidth(this.settings.$target)+this.settings.$target.offset().left+u}),this.nub_position(o,this.settings.tipSettings.nubPosition,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.settings.$target.offset().left-this.outerWidth(this.settings.$next_tip)-u}),this.nub_position(o,this.settings.tipSettings.nubPosition,"right"));!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof e)i=arguments[0];else{if(!this.settings.$target||!!/body/i.test(this.settings.$target.selector))return!1;i=this.settings.$target}if(i.length<1)return t.console&&console.error("element not valid",i),!1;n=e(this.settings.template.expose),this.settings.$body.append(n),n.css({top:i.offset().top,left:i.offset().left,width:this.outerWidth(i,!0),height:this.outerHeight(i,!0)}),r=e(this.settings.template.exposeCover),s={zIndex:i.css("z-index"),position:i.css("position")},i.css("z-index",parseInt(n.css("z-index"))+1),s.position=="static"&&i.css("position","relative"),i.data("expose-css",s),r.css({top:i.offset().top,left:i.offset().left,width:this.outerWidth(i,!0),height:this.outerHeight(i,!0)}),this.settings.$body.append(r),n.addClass(o),r.addClass(o),i.data("expose",o),this.settings.postExposeCallback(this.settings.$li.index(),this.settings.$next_tip,i),this.add_exposed(i)},un_expose:function(){var n,r,i,s,o=!1;if(arguments.length>0&&arguments[0]instanceof e)r=arguments[0];else{if(!this.settings.$target||!!/body/i.test(this.settings.$target.selector))return!1;r=this.settings.$target}if(r.length<1)return t.console&&console.error("element not valid",r),!1;n=r.data("expose"),i=e("."+n),arguments.length>1&&(o=arguments[1]),o===!0?e(".joyride-expose-wrapper,.joyride-expose-cover").remove():i.remove(),s=r.data("expose-css"),s.zIndex=="auto"?r.css("z-index",""):r.css("z-index",s.zIndex),s.position!=r.css("position")&&(s.position=="static"?r.css("position",""):r.css("position",s.position)),r.removeData("expose"),r.removeData("expose-z-index"),this.remove_exposed(r)},add_exposed:function(t){this.settings.exposed=this.settings.exposed||[],t instanceof e||typeof t=="object"?this.settings.exposed.push(t[0]):typeof t=="string"&&this.settings.exposed.push(t)},remove_exposed:function(t){var n,r;t instanceof e?n=t[0]:typeof t=="string"&&(n=t),this.settings.exposed=this.settings.exposed||[],r=this.settings.exposed.length;for(var i=0;ia&&(a=u),[n.offset().topn.offset().left]},visible:function(e){var t=e.length;while(t--)if(e[t])return!1;return!0},nub_position:function(e,t,n){t==="auto"?e.addClass(n):e.addClass(t)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(){this.settings.cookieMonster&&e.cookie(this.settings.cookieName,"ridden",{expires:this.settings.cookieExpires,domain:this.settings.cookieDomain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.$next_tip.data("closed",!0),e(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),this.settings.postStepCallback(this.settings.$li.index(),this.settings.$current_tip),this.settings.postRideCallback(this.settings.$li.index(),this.settings.$current_tip),e(".joyride-tip-guide").remove()},outerHTML:function(e){return e.outerHTML||(new XMLSerializer).serializeToString(e)},off:function(){e(this.scope).off(".joyride"),e(t).off(".joyride"),e(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),e(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate),this.settings={}}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.magellan={name:"magellan",version:"4.0.0",settings:{activeClass:"active"},init:function(t,n,r){return this.scope=t||this.scope,Foundation.inherit(this,"data_options"),typeof n=="object"&&e.extend(!0,this.settings,n),typeof n!="string"?(this.settings.init||(this.fixed_magellan=e("[data-magellan-expedition]"),this.set_threshold(),this.last_destination=e("[data-magellan-destination]").last(),this.events()),this.settings.init):this[n].call(this,r)},events:function(){var n=this;e(this.scope).on("arrival.fndtn.magellan","[data-magellan-arrival]",function(t){var r=e(this),i=r.closest("[data-magellan-expedition]"),s=i.attr("data-magellan-active-class")||n.settings.activeClass;r.closest("[data-magellan-expedition]").find("[data-magellan-arrival]").not(r).removeClass(s),r.addClass(s)}),this.fixed_magellan.on("update-position.fndtn.magellan",function(){var t=e(this)}).trigger("update-position"),e(t).on("resize.fndtn.magellan",function(){this.fixed_magellan.trigger("update-position")}.bind(this)).on("scroll.fndtn.magellan",function(){var r=e(t).scrollTop();n.fixed_magellan.each(function(){var t=e(this);typeof t.data("magellan-top-offset")=="undefined"&&t.data("magellan-top-offset",t.offset().top),typeof t.data("magellan-fixed-position")=="undefined"&&t.data("magellan-fixed-position",!1);var i=r+n.settings.threshold>t.data("magellan-top-offset"),s=t.attr("data-magellan-top-offset");t.data("magellan-fixed-position")!=i&&(t.data("magellan-fixed-position",i),i?t.css({position:"fixed",top:0}):t.css({position:"",top:""}),i&&typeof s!="undefined"&&s!=0&&t.css({position:"fixed",top:s+"px"}))})}),this.last_destination.length>0&&e(t).on("scroll.fndtn.magellan",function(r){var i=e(t).scrollTop(),s=i+e(t).height(),o=Math.ceil(n.last_destination.offset().top);e("[data-magellan-destination]").each(function(){var t=e(this),r=t.attr("data-magellan-destination"),u=t.offset().top-i;u<=n.settings.threshold&&e("[data-magellan-arrival='"+r+"']").trigger("arrival"),s>=e(n.scope).height()&&o>i&&o0?this.outerHeight(this.fixed_magellan,!0):0)},off:function(){e(this.scope).off(".fndtn.magellan")}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs=Foundation.libs||{},Foundation.libs.orbit={name:"orbit",version:"4.1.0",settings:{timer_speed:1e4,animation_speed:500,bullets:!0,stack_on_small:!0,navigation_arrows:!0,slide_number:!0,container_class:"orbit-container",stack_on_small_class:"orbit-stack-on-small",next_class:"orbit-next",prev_class:"orbit-prev",timer_container_class:"orbit-timer",timer_paused_class:"paused",timer_progress_class:"orbit-progress",slides_container_class:"orbit-slides-container",bullets_container_class:"orbit-bullets",bullets_active_class:"active",slide_number_class:"orbit-slide-number",caption_class:"orbit-caption",active_slide_class:"active",orbit_transition_class:"orbit-transitioning"},init:function(t,n,r){var i=this;Foundation.inherit(i,"data_options"),typeof n=="object"&&e.extend(!0,i.settings,n),e("[data-orbit]",t).each(function(t,n){var r=e.extend(!0,{},i);r._init(t,n)})},_container_html:function(){var e=this;return''},_bullets_container_html:function(t){var n=this,r=e('');return t.each(function(t,i){var s=e('');t===0&&s.addClass(n.settings.bullets_active_class),r.append(s)}),r},_slide_number_html:function(t,n){var r=this,i=e('');return i.append(""+t+" of "+n+""),i},_timer_html:function(){var e=this;return typeof e.settings.timer_speed=="number"&&e.settings.timer_speed>0?'':""},_next_html:function(){var e=this;return'Next '},_prev_html:function(){var e=this;return'Prev '},_init:function(t,n){var r=this,i=e(n),s=i.wrap(r._container_html()).parent(),o=i.children();e.extend(!0,r.settings,r.data_options(i)),r.settings.navigation_arrows&&(s.append(r._prev_html()),s.append(r._next_html())),i.addClass(r.settings.slides_container_class),r.settings.stack_on_small&&s.addClass(r.settings.stack_on_small_class),r.settings.slide_number&&s.append(r._slide_number_html(1,o.length)),s.append(r._timer_html()),r.settings.bullets&&s.after(r._bullets_container_html(o)),i.append(o.first().clone().attr("data-orbit-slide","")),i.prepend(o.last().clone().attr("data-orbit-slide","")),i.css("marginLeft","-100%"),o.first().addClass(r.settings.active_slide_class),r._init_events(i),r._init_dimensions(i),r._start_timer(i)},_init_events:function(i){var s=this,o=i.parent();e(t).on("load.fndtn.orbit",function(){i.height(""),i.height(i.height(o.height())),i.trigger("orbit:ready")}).on("resize.fndtn.orbit",function(){i.height(""),i.height(i.height(o.height()))}),e(n).on("click.fndtn.orbit","[data-orbit-link]",function(t){t.preventDefault();var n=e(t.currentTarget).attr("data-orbit-link"),r=i.find("[data-orbit-slide="+n+"]").first();r.length===1&&(s._reset_timer(i,!0),s._goto(i,r.index(),function(){}))}),o.siblings("."+s.settings.bullets_container_class).on("click.fndtn.orbit","[data-orbit-slide-number]",function(t){t.preventDefault(),s._reset_timer(i,!0),s._goto(i,e(t.currentTarget).data("orbit-slide-number"),function(){})}),o.on("orbit:after-slide-change.fndtn.orbit",function(e,t){var n=o.find("."+s.settings.slide_number_class);n.length===1&&n.replaceWith(s._slide_number_html(t.slide_number,t.total_slides))}).on("orbit:next-slide.fndtn.orbit click.fndtn.orbit","."+s.settings.next_class,function(e){e.preventDefault(),s._reset_timer(i,!0),s._goto(i,"next",function(){})}).on("orbit:prev-slide.fndtn.orbit click.fndtn.orbit","."+s.settings.prev_class,function(e){e.preventDefault(),s._reset_timer(i,!0),s._goto(i,"prev",function(){})}).on("orbit:toggle-play-pause.fndtn.orbit click.fndtn.orbit touchstart.fndtn.orbit","."+s.settings.timer_container_class,function(t){t.preventDefault();var n=e(t.currentTarget).toggleClass(s.settings.timer_paused_class),r=n.closest("."+s.settings.container_class).find("."+s.settings.slides_container_class);n.hasClass(s.settings.timer_paused_class)?s._stop_timer(r):s._start_timer(r)}).on("touchstart.fndtn.orbit",function(e){e.touches||(e=e.originalEvent);var t={start_page_x:e.touches[0].pageX,start_page_y:e.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:r};o.data("swipe-transition",t),e.stopPropagation()}).on("touchmove.fndtn.orbit",function(e){e.touches||(e=e.originalEvent);if(e.touches.length>1||e.scale&&e.scale!==1)return;var t=o.data("swipe-transition");typeof t=="undefined"&&(t={}),t.delta_x=e.touches[0].pageX-t.start_page_x,typeof t.is_scrolling=="undefined"&&(t.is_scrolling=!!(t.is_scrolling||Math.abs(t.delta_x)").attr(n.extend(f(this),{type:"text"}))}e.removeAttr("name").data({"placeholder-password":!0,"placeholder-id":s}).bind("focus.placeholder",l),r.data({"placeholder-textinput":e,"placeholder-id":s}).before(e)}r=r.removeAttr("id").hide().prev().attr("id",s).show()}r.addClass("placeholder"),r[0].value=r.attr("placeholder")}else r.removeClass("placeholder")}var r="placeholder"in t.createElement("input"),i="placeholder"in t.createElement("textarea"),s=n.fn,o=n.valHooks,u,a;r&&i?(a=s.placeholder=function(){return this},a.input=a.textarea=!0):(a=s.placeholder=function(){var e=this;return e.filter((r?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":l,"blur.placeholder":c}).data("placeholder-enabled",!0).trigger("blur.placeholder"),e},a.input=r,a.textarea=i,u={get:function(e){var t=n(e);return t.data("placeholder-enabled")&&t.hasClass("placeholder")?"":e.value},set:function(e,r){var i=n(e);return i.data("placeholder-enabled")?(r==""?(e.value=r,e!=t.activeElement&&c.call(e)):i.hasClass("placeholder")?l.call(e,!0,r)||(e.value=r):e.value=r,i):e.value=r}},r||(o.input=u),i||(o.textarea=u),n(function(){n(t).delegate("form","submit.placeholder",function(){var e=n(".placeholder",this).each(l);setTimeout(function(){e.each(c)},10)})}),n(e).bind("beforeunload.placeholder",function(){n(".placeholder").each(function(){this.value=""})}))}(this,document,Foundation.zj),function(e,t,n,r){"use strict";Foundation.libs.reveal={name:"reveal",version:"4.1.3",locked:!1,settings:{animation:"fadeAndPop",animationSpeed:250,closeOnBackgroundClick:!0,dismissModalClass:"close-reveal-modal",bgClass:"reveal-modal-bg",open:function(){},opened:function(){},close:function(){},closed:function(){},bg:e(".reveal-modal-bg"),css:{open:{opacity:0,visibility:"visible",display:"block"},close:{opacity:1,visibility:"hidden",display:"none"}}},init:function(t,n,r){return this.scope=t||this.scope,Foundation.inherit(this,"data_options delay"),typeof n=="object"?e.extend(!0,this.settings,n):typeof r!="undefined"&&e.extend(!0,this.settings,r),typeof n!="string"?(this.events(),this.settings.init):this[n].call(this,r)},events:function(){var t=this;return e(this.scope).off(".fndtn.reveal").on("click.fndtn.reveal","[data-reveal-id]",function(n){n.preventDefault(),t.locked||(t.locked=!0,t.open.call(t,e(this)))}).on("click.fndtn.reveal touchend.click.fndtn.reveal",this.close_targets(),function(n){n.preventDefault();if(!t.locked){var r=e.extend({},t.settings,t.data_options(e(".reveal-modal.open")));if(e(n.target)[0]===e("."+r.bgClass)[0]&&!r.closeOnBackgroundClick)return;t.locked=!0,t.close.call(t,e(this).closest(".reveal-modal"))}}).on("open.fndtn.reveal",".reveal-modal",this.settings.open).on("opened.fndtn.reveal",".reveal-modal",this.settings.opened).on("opened.fndtn.reveal",".reveal-modal",this.open_video).on("close.fndtn.reveal",".reveal-modal",this.settings.close).on("closed.fndtn.reveal",".reveal-modal",this.settings.closed).on("closed.fndtn.reveal",".reveal-modal",this.close_video),!0},open:function(t){if(t)var n=e("#"+t.data("reveal-id"));else var n=e(this.scope);if(!n.hasClass("open")){var r=e(".reveal-modal.open");typeof n.data("css-top")=="undefined"&&n.data("css-top",parseInt(n.css("top"),10)).data("offset",this.cache_offset(n)),n.trigger("open"),r.length<1&&this.toggle_bg(n),this.hide(r,this.settings.css.close),this.show(n,this.settings.css.open)}},close:function(t){var t=t||e(this.scope),n=e(".reveal-modal.open");n.length>0&&(this.locked=!0,t.trigger("close"),this.toggle_bg(t),this.hide(n,this.settings.css.close))},close_targets:function(){var e="."+this.settings.dismissModalClass;return this.settings.closeOnBackgroundClick?e+", ."+this.settings.bgClass:e},toggle_bg:function(t){e(".reveal-modal-bg").length===0&&(this.settings.bg=e("",{"class":this.settings.bgClass}).appendTo("body")),this.settings.bg.filter(":visible").length>0?this.hide(this.settings.bg):this.show(this.settings.bg)},show:function(n,r){if(r){if(/pop/i.test(this.settings.animation)){r.top=e(t).scrollTop()-n.data("offset")+"px";var i={top:e(t).scrollTop()+n.data("css-top")+"px",opacity:1};return this.delay(function(){return n.css(r).animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.trigger("opened")}.bind(this)).addClass("open")}.bind(this),this.settings.animationSpeed/2)}if(/fade/i.test(this.settings.animation)){var i={opacity:1};return this.delay(function(){return n.css(r).animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.trigger("opened")}.bind(this)).addClass("open")}.bind(this),this.settings.animationSpeed/2)}return n.css(r).show().css({opacity:1}).addClass("open").trigger("opened")}return/fade/i.test(this.settings.animation)?n.fadeIn(this.settings.animationSpeed/2):n.show()},hide:function(n,r){if(r){if(/pop/i.test(this.settings.animation)){var i={top:-e(t).scrollTop()-n.data("offset")+"px",opacity:0};return this.delay(function(){return n.animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.css(r).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),this.settings.animationSpeed/2)}if(/fade/i.test(this.settings.animation)){var i={opacity:0};return this.delay(function(){return n.animate(i,this.settings.animationSpeed,"linear",function(){this.locked=!1,n.css(r).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),this.settings.animationSpeed/2)}return n.hide().css(r).removeClass("open").trigger("closed")}return/fade/i.test(this.settings.animation)?n.fadeOut(this.settings.animationSpeed/2):n.hide()},close_video:function(t){var n=e(this).find(".flex-video"),r=n.find("iframe");r.length>0&&(r.attr("data-src",r[0].src),r.attr("src","about:blank"),n.fadeOut(100).hide())},open_video:function(t){var n=e(this).find(".flex-video"),r=n.find("iframe");if(r.length>0){var i=r.attr("data-src");typeof i=="string"&&(r[0].src=r.attr("data-src")),n.show().fadeIn(100)}},cache_offset:function(e){var t=e.show().height()+parseInt(e.css("top"),10);return e.hide(),t},off:function(){e(this.scope).off(".fndtn.reveal")}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.section={name:"section",version:"4.1.3",settings:{deep_linking:!1,one_up:!0,section_selector:"[data-section]",region_selector:"section, .section, [data-section-region]",title_selector:".title, [data-section-title]",active_region_selector:"section.active, .section.active, .active[data-section-region]",content_selector:".content, [data-section-content]",nav_selector:'[data-section="vertical-nav"], [data-section="horizontal-nav"]',callback:function(){}},init:function(t,n,r){var i=this;return Foundation.inherit(this,"throttle data_options position_right offset_right"),typeof n=="object"&&e.extend(!0,i.settings,n),typeof n!="string"?(this.set_active_from_hash(),this.events(),!0):this[n].call(this,r)},events:function(){var r=this;e(this.scope).on("click.fndtn.section","[data-section] .title, [data-section] [data-section-title]",function(t){var n=e(this),i=n.closest(r.settings.section_selector);r.toggle_active.call(this,t,r),r.reflow()}),e(t).on("resize.fndtn.section",r.throttle(function(){r.resize.call(this)},30)).on("hashchange",function(){r.settings.toggled||(r.set_active_from_hash(),e(this).trigger("resize"))}).trigger("resize"),e(n).on("click.fndtn.section",function(t){e(t.target).closest(r.settings.title_selector).length<1&&e(r.settings.nav_selector).children(r.settings.region_selector).removeClass("active").attr("style","")})},toggle_active:function(t,n){var r=e(this),n=Foundation.libs.section,i=r.closest(n.settings.region_selector),s=r.siblings(n.settings.content_selector),o=i.parent(),u=e.extend({},n.settings,n.data_options(o)),a=o.children(n.settings.active_region_selector);n.settings.toggled=!0,!u.deep_linking&&s.length>0&&t.preventDefault();if(i.hasClass("active"))(n.small(o)||n.is_vertical_nav(o)||n.is_horizontal_nav(o)||n.is_accordion(o))&&(a[0]!==i[0]||a[0]===i[0]&&!u.one_up)&&i.removeClass("active").attr("style","");else{var a=o.children(n.settings.active_region_selector),f=n.outerHeight(i.children(n.settings.title_selector));if(n.small(o)||u.one_up)n.small(o)?a.attr("style",""):a.attr("style","visibility: hidden; padding-top: "+f+"px;");n.small(o)?i.attr("style",""):i.css("padding-top",f),i.addClass("active"),a.length>0&&a.removeClass("active").attr("style",""),n.is_vertical_tabs(o)&&(s.css("display","block"),a!==null&&a.children(n.settings.content_selector).css("display","none"))}setTimeout(function(){n.settings.toggled=!1},300),u.callback()},resize:function(){var t=Foundation.libs.section,n=e(t.settings.section_selector);n.each(function(){var n=e(this),r=n.children(t.settings.active_region_selector),i=e.extend({},t.settings,t.data_options(n));if(r.length>1)r.not(":first").removeClass("active").attr("style","");else if(r.length<1&&!t.is_vertical_nav(n)&&!t.is_horizontal_nav(n)&&!t.is_accordion(n)){var s=n.children(t.settings.region_selector).first();(i.one_up||!t.small(n))&&s.addClass("active"),t.small(n)?s.attr("style",""):s.css("padding-top",t.outerHeight(s.children(t.settings.title_selector)))}t.small(n)?r.attr("style",""):r.css("padding-top",t.outerHeight(r.children(t.settings.title_selector))),t.position_titles(n),t.is_horizontal_nav(n)&&!t.small(n)||t.is_vertical_tabs(n)?t.position_content(n):t.position_content(n,!1)})},is_vertical_nav:function(e){return/vertical-nav/i.test(e.data("section"))},is_horizontal_nav:function(e){return/horizontal-nav/i.test(e.data("section"))},is_accordion:function(e){return/accordion/i.test(e.data("section"))},is_horizontal_tabs:function(e){return/^tabs$/i.test(e.data("section"))},is_vertical_tabs:function(e){return/vertical-tabs/i.test(e.data("section"))},set_active_from_hash:function(){var n=t.location.hash.substring(1),r=e("[data-section]"),i=this;r.each(function(){var t=e(this),r=e.extend({},i.settings,i.data_options(t));if(n.length>0&&r.deep_linking){var s=t.children(i.settings.region_selector).attr("style","").removeClass("active");s.map(function(){return e(this).children('.content[data-slug="'+n+'"], [data-section-content][data-slug="'+n+'"]')}).parent().addClass("active")}})},position_titles:function(t,n){var r=this,i=t.children(this.settings.region_selector).map(function(){return e(this).children(r.settings.title_selector)}),s=0,o=0,r=this;typeof n=="boolean"?i.attr("style",""):i.each(function(){r.is_vertical_tabs(t)?(e(this).css("top",o),o+=r.outerHeight(e(this))):(r.rtl?e(this).css("right",s):e(this).css("left",s),s+=r.outerWidth(e(this)))})},position_content:function(t,n){var r=this,i=t.children(r.settings.region_selector),s=i.map(function(){return e(this).children(r.settings.title_selector)}),o=i.map(function(){return e(this).children(r.settings.content_selector)});if(typeof n=="boolean")o.attr("style",""),t.attr("style","");else if(r.is_vertical_tabs(t)&&!r.small(t)){var u=0,a=Number.MAX_VALUE,f=null;i.each(function(){var n=e(this),i=n.children(r.settings.title_selector),s=n.children(r.settings.content_selector),o=0;f=r.outerWidth(i),o=r.outerWidth(t)-f,o'+t+''}},cache:{},init:function(t,n,r){var i=this;this.scope=t||this.scope,typeof n=="object"&&e.extend(!0,this.settings,n);if(typeof n=="string")return this[n].call(this,r);Modernizr.touch?e(this.scope).on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip","[data-tooltip]",function(t){t.preventDefault(),e(i.settings.tooltipClass).hide(),i.showOrCreateTip(e(this))}).on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip",this.settings.tooltipClass,function(t){t.preventDefault(),e(this).fadeOut(150)}):e(this.scope).on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip","[data-tooltip]",function(t){var n=e(this);t.type==="mouseover"||t.type==="mouseenter"?i.showOrCreateTip(n):(t.type==="mouseout"||t.type==="mouseleave")&&i.hide(n)})},showOrCreateTip:function(e){var t=this.getTip(e);return t&&t.length>0?this.show(e):this.create(e)},getTip:function(t){var n=this.selector(t),r=null;return n&&(r=e("span[data-selector="+n+"]"+this.settings.tooltipClass)),typeof r=="object"?r:!1},selector:function(e){var t=e.attr("id"),n=e.attr("data-tooltip")||e.attr("data-selector");return(t&&t.length<1||!t)&&typeof n!="string"&&(n="tooltip"+Math.random().toString(36).substring(7),e.attr("data-selector",n)),t&&t.length>0?t:n},create:function(t){var n=e(this.settings.tipTemplate(this.selector(t),e("").html(t.attr("title")).html())),r=this.inheritable_classes(t);n.addClass(r).appendTo(this.settings.appendTo),Modernizr.touch&&n.append('tap to close '),t.removeAttr("title").attr("title",""),this.show(t)},reposition:function(n,r,i){var s,o,u,a,f,l;r.css("visibility","hidden").show(),s=n.data("width"),o=r.children(".nub"),u=this.outerHeight(o),a=this.outerHeight(o),l=function(e,t,n,r,i,s){return e.css({top:t?t:"auto",bottom:r?r:"auto",left:i?i:"auto",right:n?n:"auto",width:s?s:"auto"}).end()},l(r,n.offset().top+this.outerHeight(n)+10,"auto","auto",n.offset().left,s);if(e(t).width()<767)l(r,n.offset().top+this.outerHeight(n)+10,"auto","auto",12.5,e(this.scope).width()),r.addClass("tip-override"),l(o,-u,"auto","auto",n.offset().left);else{var c=n.offset().left;Foundation.rtl&&(c=n.offset().left+n.offset().width-this.outerWidth(r)),l(r,n.offset().top+this.outerHeight(n)+10,"auto","auto",c,s),r.removeClass("tip-override"),i&&i.indexOf("tip-top")>-1?l(r,n.offset().top-this.outerHeight(r),"auto","auto",c,s).removeClass("tip-override"):i&&i.indexOf("tip-left")>-1?l(r,n.offset().top+this.outerHeight(n)/2-u*2.5,"auto","auto",n.offset().left-this.outerWidth(r)-u,s).removeClass("tip-override"):i&&i.indexOf("tip-right")>-1&&l(r,n.offset().top+this.outerHeight(n)/2-u*2.5,"auto","auto",n.offset +().left+this.outerWidth(n)+u,s).removeClass("tip-override")}r.css("visibility","visible").hide()},inheritable_classes:function(t){var n=["tip-top","tip-left","tip-bottom","tip-right","noradius"].concat(this.settings.additionalInheritableClasses),r=t.attr("class"),i=r?e.map(r.split(" "),function(t,r){if(e.inArray(t,n)!==-1)return t}).join(" "):"";return e.trim(i)},show:function(e){var t=this.getTip(e);this.reposition(e,t,e.attr("class")),t.fadeIn(150)},hide:function(e){var t=this.getTip(e);t.fadeOut(150)},reload:function(){var t=e(this);return t.data("fndtn-tooltips")?t.foundationTooltips("destroy").foundationTooltips("init"):t.foundationTooltips("init")},off:function(){e(this.scope).off(".fndtn.tooltip"),e(this.settings.tooltipClass).each(function(t){e("[data-tooltip]").get(t).attr("title",e(this).text())}).remove()}}}(Foundation.zj,this,this.document),function(e,t,n,r){"use strict";Foundation.libs.topbar={name:"topbar",version:"4.1.2",settings:{index:0,stickyClass:"sticky",custom_back_text:!0,back_text:"Back",init:!1},init:function(n,r,i){var s=this;return typeof r=="object"&&e.extend(!0,this.settings,r),typeof r!="string"?(e(".top-bar").each(function(){s.settings.$w=e(t),s.settings.$topbar=e(this),s.settings.$section=s.settings.$topbar.find("section"),s.settings.$titlebar=s.settings.$topbar.children("ul").first(),s.settings.$topbar.data("index",0);var n=e("").insertAfter(s.settings.$topbar);s.settings.breakPoint=n.width(),n.remove(),s.assemble(),s.settings.$topbar.parent().hasClass("fixed")&&e("body").css("padding-top",s.outerHeight(s.settings.$topbar))}),s.settings.init||this.events(),this.settings.init):this[r].call(this,i)},events:function(){var n=this,r=this.outerHeight(e(".top-bar"));e(this.scope).on("click.fndtn.topbar",".top-bar .toggle-topbar",function(i){var s=e(this).closest(".top-bar"),o=s.find("section, .section"),u=s.children("ul").first();s.data("height")||n.largestUL(),i.preventDefault(),n.breakpoint()&&s.toggleClass("expanded").css("min-height",""),s.hasClass("expanded")?s.parent().hasClass("fixed")&&(s.parent().removeClass("fixed"),s.addClass("fixed"),e("body").css("padding-top","0"),t.scrollTo(0,0)):(n.rtl?(o.css({right:"0%"}),o.find(">.name").css({right:"100%"})):(o.css({left:"0%"}),o.find(">.name").css({left:"100%"})),o.find("li.moved").removeClass("moved"),s.data("index",0),s.hasClass("fixed")&&(s.parent().addClass("fixed"),s.removeClass("fixed"),e("body").css("padding-top",r)))}).on("click.fndtn.topbar",".top-bar .has-dropdown>a",function(t){var r=e(this).closest(".top-bar"),i=r.find("section, .section"),s=r.children("ul").first(),o=e(this).next(".dropdown").outerHeight();(Modernizr.touch||n.breakpoint())&&t.preventDefault();if(n.breakpoint()){var u=e(this),a=u.closest("li");r.data("index",r.data("index")+1),a.addClass("moved"),n.rtl?(i.css({right:-(100*r.data("index"))+"%"}),i.find(">.name").css({right:100*r.data("index")+"%"})):(i.css({left:-(100*r.data("index"))+"%"}),i.find(">.name").css({left:100*r.data("index")+"%"})),e(".top-bar").css("min-height",o),u.siblings("ul").height(r.data("height")+n.outerHeight(s,!0)),r.css("min-height",r.data("height")+n.outerHeight(s,!0)*2)}}),e(t).on("resize.fndtn.topbar",function(){n.breakpoint()||e(".top-bar").css("min-height","").removeClass("expanded")}.bind(this)),e(this.scope).on("click.fndtn",".top-bar .has-dropdown .back",function(t){t.preventDefault();var r=e(this),i=r.closest(".top-bar"),s=i.find("section, .section"),o=r.closest("li.moved"),u=o.parent();i.data("index",i.data("index")-1),n.rtl?(s.css({right:-(100*i.data("index"))+"%"}),s.find(">.name").css({right:100*i.data("index")+"%"})):(s.css({left:-(100*i.data("index"))+"%"}),s.find(">.name").css({left:100*i.data("index")+"%"})),i.data("index")===0&&i.css("min-height",0),setTimeout(function(){o.removeClass("moved")},300)})},breakpoint:function(){return e(t).width()<=this.settings.breakPoint||e("html").hasClass("lt-ie9")},assemble:function(){var t=this;this.settings.$section.detach(),this.settings.$section.find(".has-dropdown>a").each(function(){var n=e(this),r=n.siblings(".dropdown"),i=e('');t.settings.custom_back_text==1?i.find("h5>a").html("« "+t.settings.back_text):i.find("h5>a").html("« "+n.html()),r.prepend(i)}),this.settings.$section.appendTo(this.settings.$topbar),this.sticky()},largestUL:function(){var t=this.settings.$topbar.find("section ul ul"),n=t.first(),r=0,i=this;t.each(function(){e(this).children("li").length>n.children("li").length&&(n=e(this))}),n.children("li").each(function(){r+=i.outerHeight(e(this),!0)}),this.settings.$topbar.data("height",r)},sticky:function(){var n="."+this.settings.stickyClass;if(e(n).length>0){var r=e(n).length?e(n).offset().top:0,i=e(t),s=this.outerHeight(e(".top-bar"));i.scroll(function(){i.scrollTop()>=r?(e(n).addClass("fixed"),e("body").css("padding-top",s)):i.scrollTop())[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=lt(),k=lt(),E=lt(),S=!1,A=function(){return 0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=bt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+xt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return At(e.replace(z,"$1"),t,n,i)}function st(e){return K.test(e+"")}function lt(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function ut(e){return e[b]=!0,e}function ct(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pt(e,t,n){e=e.split("|");var r,i=e.length,a=n?null:t;while(i--)(r=o.attrHandle[e[i]])&&r!==t||(o.attrHandle[e[i]]=a)}function ft(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:e[t]===!0?t.toLowerCase():null}function dt(e,t){return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function ht(e){return"input"===e.nodeName.toLowerCase()?e.defaultValue:t}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function mt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function yt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function vt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),r.attributes=ct(function(e){return e.innerHTML="",pt("type|href|height|width",dt,"#"===e.firstChild.getAttribute("href")),pt(B,ft,null==e.getAttribute("disabled")),e.className="i",!e.getAttribute("className")}),r.input=ct(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}),pt("value",ht,r.attributes&&r.input),r.getElementsByTagName=ct(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ct(function(e){return e.innerHTML="",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ct(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=st(n.querySelectorAll))&&(ct(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ct(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=st(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ct(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=st(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},r.sortDetached=ct(function(e){return 1&e.compareDocumentPosition(n.createElement("div"))}),A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return gt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?gt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:ut,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=bt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ut(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?ut(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ut(function(e){return function(t){return at(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:ut(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:vt(function(){return[0]}),last:vt(function(e,t){return[t-1]}),eq:vt(function(e,t,n){return[0>n?n+t:n]}),even:vt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:vt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:vt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:vt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=mt(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=yt(n);function bt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function xt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function wt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function Tt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Ct(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function Nt(e,t,n,r,i,o){return r&&!r[b]&&(r=Nt(r)),i&&!i[b]&&(i=Nt(i,o)),ut(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||St(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:Ct(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=Ct(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=Ct(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function kt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=wt(function(e){return e===t},s,!0),p=wt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[wt(Tt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return Nt(l>1&&Tt(f),l>1&&xt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&kt(e.slice(l,r)),i>r&&kt(e=e.slice(r)),i>r&&xt(e))}f.push(n)}return Tt(f)}function Et(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=Ct(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?ut(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=bt(e)),n=t.length;while(n--)o=kt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Et(i,r))}return o};function St(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function At(e,t,n,i){var a,s,u,c,p,f=bt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&xt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}o.pseudos.nth=o.pseudos.eq;function jt(){}jt.prototype=o.filters=o.pseudos,o.setFilters=new jt,r.sortStable=b.split("").sort(A).join("")===b,p(),[0,0].sort(A),r.detectDuplicates=S,x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!u||(n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="t",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s; +if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=x(this),l=t,u=e.match(T)||[];while(o=u[a++])l=r?l:!s.hasClass(o),s[l?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,"",""],legend:[1,"",""],area:[1,"",""],param:[1,"",""],thead:[1,"",""],tr:[2,"",""],col:[2,"",""],td:[3,"",""],_default:x.support.htmlSerialize?[0,"",""]:[1,"X",""]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}) +}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write(""),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(n.unit=o,n.start=+a||+r||0,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);a.finish=function(){t.stop(!0)},(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window); diff --git a/content/js/main.coffee b/content/js/main.coffee new file mode 100644 index 0000000..f2d9611 --- /dev/null +++ b/content/js/main.coffee @@ -0,0 +1,2 @@ +$ -> + diff --git a/content/js/plugins.js b/content/js/plugins.js deleted file mode 100644 index d226e0b..0000000 --- a/content/js/plugins.js +++ /dev/null @@ -1,3 +0,0 @@ -//= require _jquery_script.js -//= require _jquery_prettyphoto.js -//= require _jquery_tweetsanywhere.js \ No newline at end of file diff --git a/content/js/retina.js b/content/js/retina.js new file mode 100644 index 0000000..a926142 --- /dev/null +++ b/content/js/retina.js @@ -0,0 +1,3 @@ +// retina.js, a high-resolution image swapper (http://retinajs.com), v0.0.2 + +(function(){function t(e){this.path=e;var t=this.path.split("."),n=t.slice(0,t.length-1).join("."),r=t[t.length-1];this.at_2x_path=n+"@2x."+r}function n(e){this.el=e,this.path=new t(this.el.getAttribute("src"));var n=this;this.path.check_2x_variant(function(e){e&&n.swap()})}var e=typeof exports=="undefined"?window:exports;e.RetinaImagePath=t,t.confirmed_paths=[],t.prototype.is_external=function(){return!!this.path.match(/^https?\:/i)&&!this.path.match("//"+document.domain)},t.prototype.check_2x_variant=function(e){var n,r=this;if(this.is_external())return e(!1);if(this.at_2x_path in t.confirmed_paths)return e(!0);n=new XMLHttpRequest,n.open("HEAD",this.at_2x_path),n.onreadystatechange=function(){return n.readyState!=4?e(!1):n.status>=200&&n.status<=399?(t.confirmed_paths.push(r.at_2x_path),e(!0)):e(!1)},n.send()},e.RetinaImage=n,n.prototype.swap=function(e){function n(){t.el.complete?(t.el.setAttribute("width",t.el.offsetWidth),t.el.setAttribute("height",t.el.offsetHeight),t.el.setAttribute("src",e)):setTimeout(n,5)}typeof e=="undefined"&&(e=this.path.at_2x_path);var t=this;n()},e.devicePixelRatio>1&&(window.onload=function(){var e=document.getElementsByTagName("img"),t=[],r,i;for(r=0;rdivide and conquer. --- A few days ago I wrote about getting up early and getting stuff done diff --git a/content/projects.haml b/content/projects.haml index 88a3ce3..72cdc87 100644 --- a/content/projects.haml +++ b/content/projects.haml @@ -1,75 +1,75 @@ --- title: Projects --- -.content_wrap.nobg - %section#middle_content - .two_third - :markdown - ### Open Source Projects +.row + .large-6.columns + :markdown + ### Open Source Projects - This is an incomplete list of projects I've been working on in the recent pasts. - There are several projects that I've worked on, but long since abandoned because - they became obsolete and were superseded by other alternatives. + This is an incomplete list of projects I've been working on in the recent pasts. + There are several projects that I've worked on, but long since abandoned because + they became obsolete and were superseded by other alternatives. - #### Focal + #### Focal - Focal is a utility web application that creates sexy and informative burndowns - for you and your team. + Focal is a utility web application that creates sexy and informative burndowns + for you and your team. - Hooked up to the Pivotal Tracker API, Focal will gather information about the - current iteration on a daily basis and provide you and the team with valuable - progress information. + Hooked up to the Pivotal Tracker API, Focal will gather information about the + current iteration on a daily basis and provide you and the team with valuable + progress information. - _Focal is developed by Kabisa._ + _Focal is developed by Kabisa._ - * [Github](https://github.com/kabisaict/focal) + * [Github](https://github.com/kabisaict/focal) - ### IMDB + ### IMDB - The IMDB gem allows you to programatically access IMDB. Although IMDB does not - officially expose an API you are able to look at what's on their public pages. + The IMDB gem allows you to programatically access IMDB. Although IMDB does not + officially expose an API you are able to look at what's on their public pages. - * [Github](https://github.com/ariejan/imdb) + * [Github](https://github.com/ariejan/imdb) - #### Firefly + #### Firefly - At the height of 140 character limited tweets, URL shortners where the hippest - thing around. + At the height of 140 character limited tweets, URL shortners where the hippest + thing around. - Firefly provides you with a personal url shortner. It can be easily deployed to - Heroku and it has proven to be able to handle millions of shortened URLs. + Firefly provides you with a personal url shortner. It can be easily deployed to + Heroku and it has proven to be able to handle millions of shortened URLs. - * [Website](http://fireflyrb.com) - * [Github](https://github.com/ariejan/firefly) + * [Website](http://fireflyrb.com) + * [Github](https://github.com/ariejan/firefly) - #### PostcodeAPI + #### PostcodeAPI - A simple ruby wrapper around the [Postcode API service](http://www.postcodeapi.nu/). + A simple ruby wrapper around the [Postcode API service](http://www.postcodeapi.nu/). - * [Github](https://github.com/ariejan/postcodeapi) + * [Github](https://github.com/ariejan/postcodeapi) - #### elfproef + #### elfproef - The 11-check is a checksum algorithm used to validate Dutch bank account numbers and - social security numbers. + The 11-check is a checksum algorithm used to validate Dutch bank account numbers and + social security numbers. - This gem allows you to add validations to your Rails models for these kind of fields. + This gem allows you to add validations to your Rails models for these kind of fields. - * [Github](https://github.com/sytzeloor/elfproef) + * [Github](https://github.com/sytzeloor/elfproef) - .one-third.last - :markdown - ### Open Source contributions + .large-6.columns + :markdown + ### Open Source contributions - Besides doing my own projects, I've also contributed to a wide variety of open - source projects. Mostly to scratch my own itch with that project. + Besides doing my own projects, I've also contributed to a wide variety of open + source projects. Mostly to scratch my own itch with that project. - * Rails - * Gitlab - * rails-i18n - * elfproef - * rubber - * capistrano-resque + * Rails + * Gitlab + * rails-i18n + * elfproef + * opensourcerails + * rubber + * capistrano-resque - Check out my [github profile page](https://github.com/ariejan) for other projects - and specifics. \ No newline at end of file + Check out my [github profile page](https://github.com/ariejan) for other projects + and specifics. diff --git a/content/talks.haml b/content/talks.haml index 9d2be7f..2a26c2f 100644 --- a/content/talks.haml +++ b/content/talks.haml @@ -1,36 +1,36 @@ --- title: Talks by Ariejan --- -.content_wrap.nobg - %section#middle_content +.row + .large-8.push-2.columns :markdown + # Talks + *I'm available for talks and presentations on software craftsmanship for your company or event! If you are interested in having me, please [contact me](/about) to discus details.* - My talks are about software craftsmanship, Ruby on Rails or any other - subject that's relevant at the time. + I love giving talks to motivate and inspire others. My talks can be in-depth + technical or on a higher level about clean code and craftsmanship. - ### Previous talks + ## Previous talks Since 2012 I'm keeping track of the talks I've given. You can find the slides to them below. - .one_third.talk - :plain - - .caption - Software Craftsmanship, - %br - june 2012 +.row + .large-6.columns + %h4 + Software Craftsmanship + %p + june 2012 + :plain + - .one_third.talk - :plain - - .caption - Introducting Gitlab, Lighting Talk, - %br - april 2012 - - .one_third.talk.last - = " " + .large-6.columns + %h4 + Introducting Gitlab + %p + Lighting Talk, april 2012 + :plain + diff --git a/layouts/default.haml b/layouts/default.haml index f35e044..b1b3fa3 100644 --- a/layouts/default.haml +++ b/layouts/default.haml @@ -1,87 +1,52 @@ -!!! -/[if lt IE 7] -/[if IE 7] -/[if IE 8] -/ [if gt IE 8]> "ltr", :lang => "en-US"} - / 'utf-8'} - %meta{:content => "text/html;charset=utf-8", "http-equiv" => "content-type"} - %meta{:content => "a blog by ariejan de vroom about software engineering and craftsmanship.", :name => "description"} - %meta{:content => "software engineering, programming, craftsmanship, devops, ruby, rubyonrails, rails, git, svn, postgres, postgresql, mysql, mac, ios, apple, web2.0, go, golang", :name => "keywords"} - %meta{:content => "width=device-width, initial-scale=1, maximum-scale=1", :name => "viewport"} - %meta{:content => "3bgidck6YUMyx-kvL_a8E4ry0DJOAIOYaZkZxQ0kZw4", :name => "google-site-verification"} + %meta(charset="UTF-8") + %meta(content="text/html;charset=utf-8" http-equiv="content-type") + %meta(http-equiv="X-UA-Compatible" content="IE=edge") + %meta(name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no") + %meta(name="author" content="Ariejan de Vroom") + + %meta(name="description" content="a blog by ariejan de vroom about software engineering and craftsmanship.") + %meta(name="keywords" content="software engineering, programming, craftsmanship, devops, ruby, rubyonrails, rails, git, svn, postgres, postgresql, mysql, mac, ios, apple, web2.0, go, golang") + + %meta(content="3bgidck6YUMyx-kvL_a8E4ry0DJOAIOYaZkZxQ0kZw4" name="google-site-verification") %link(href='http://www.myopenid.com/server' rel='openid.server') %link(href='http://ariejan.myopenid.com/' rel='openid.delegate') - %link{:href => "/images/favicon.ico", :rel => "shortcut icon", :type => "image/x-icon"} - %link{:rel => "alternate", :type => "application/rss+xml", :title => "RSS", :href => "http://ariejan.net/rss.xml"} - %link{:href => "/css/style.css", :media => "screen", :rel => "stylesheet", :type => "text/css"} + %link(href="/images/favicon.ico" rel="shortcut icon" type="image/x-icon") + %link(href="http://ariejan.net/rss.xml" rel="alternate" type="application/rss+xml" title="RSS") - %link{:href => "https://fonts.googleapis.com/css?family=Open+Sans:400,600,800,400italic", :rel => "stylesheet", :type => "text/css"} - - /[if lt IE 9] - - - - %script{:src => "/js/application.js", :type => "text/javascript"} + %link(href="/css/screen.css" rel="stylesheet" type="text/css" media="screen") %title= "#{@item[:title]} — ariejan.net" + %body - / __________________________________________________ Start Page - %section#page - %a#slide_top{:href => "#"} - .container - / __________________________________________________ Start Header - %header#header - .header_inner - %a.logo{:href => "/"} - %img{:alt => "", :width => 166, :height => 57, :src => "/images/logo.png"}/ - .custom_html - %h3{:style => "color:#ffffff; margin:0; line-height:24px;"} May the Source be with you. - = render 'social_list' + %header#title + %h1 ariejan.net - .nav_wrap - .nav_wrap_inner - .responsibe_block - .responsibe_block_inner - %a.resp_navigation{:href => "#"} - = render 'social_list' + %nav#primary + %ol.interal + %li= link_to "Home", "/" + %li= link_to "Projects", "/projects/" + %li= link_to "Craftsmanship", "/craftsmanship/" + %li= link_to "Talks", "/talks/" + %li= link_to "About", "/about/" - = render "navigation" - .cl - / __________________________________________________ Finish Header - / __________________________________________________ Start Middle - %section#middle - .headline - .three_fourth - %h2= @item[:title] + #wrapper + = yield - .one_fourth.last - .search-box - %form{action: "http://www.google.com/cse", id: "cse-search-box"} - %input{type: "hidden", name: "cx", value: "011455777682120765364:szqyrcy79dw"} - %input{type: "hidden", name: "ie", value: "UTF-8"} - %input#google-search-box{name: "q", placeholder: "Search site", type: "search"}/ - .cl - - = yield - / __________________________________________________ Finish Middle - / __________________________________________________ Finish Page - / __________________________________________________ Start Footer - %footer#footer - .footer_inner + %footer + .copyright %p Copyright © 1999 - #{Time.now.year} Ariejan de Vroom %ul.tla :plain - Some messages from the Dark Side: + A message from the Dark Side: Medifast Coupon Code - / __________________________________________________ Finish Footer %script{:src => "/js/plugins.js", :type => "text/javascript"} :javascript var _gaq = _gaq || []; diff --git a/layouts/page.haml b/layouts/page.haml new file mode 100644 index 0000000..35c5b2e --- /dev/null +++ b/layouts/page.haml @@ -0,0 +1,4 @@ +%section.page + #content + %article.page + = yield diff --git a/layouts/post.haml b/layouts/post.haml index 0ea1915..f04c8eb 100644 --- a/layouts/post.haml +++ b/layouts/post.haml @@ -1,38 +1,37 @@ -.content_wrap - .post - %section#content - %article +%section.post + %section#main + #content + %article.post + %h1= item[:title] + + %p.meta + Written by Ariejan de Vroom on #{get_pretty_date(item)}. + = yield - #disqus_thread + %section#comments + #disqus_thread - %section#sidebar - %aside.widget.widget_metadata - %h3.widgettitle About this post - %p - This post was written by Ariejan de Vroom on - #{get_pretty_date(item)} and - tagged with #{get_tags(item)}. + :javascript + var disqus_url = "#{url_for(item)}"; + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://ariejannet.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); - %aside.widget.widget_influads - #influad - - if ENV['NANOC_ENV'] == "development" - .influads_block - .influads_img - %img(src="http://placehold.it/130x100&text=Influad%20(130x100)" width="130" height="100") - .influads_text - = link_to "The exquisite, low-cost way to design, send, and track email.", "#" - .influads_powered_div - = link_to "Powered by InfluAds", "#" - - else - :plain - - - -:javascript - var disqus_url = "#{url_for(item)}"; - (function() { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://ariejannet.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - })(); \ No newline at end of file + %section#sidebar + %aside.influads + #influad + - if ENV['NANOC_ENV'] == "development" + .influads_block + .influads_img + %img(src="http://placehold.it/130x100&text=Influad%20(130x100)" width="130" height="100") + .influads_text + = link_to "The exquisite, low-cost way to design, send, and track email.", "#" + .influads_powered_div + = link_to "Powered by InfluAds", "#" + - else + :plain + + diff --git a/lib/helpers/post.rb b/lib/helpers/post.rb index ea445b0..995bb14 100644 --- a/lib/helpers/post.rb +++ b/lib/helpers/post.rb @@ -8,12 +8,26 @@ module PostHelper end end + def get_summary(post, length = 200) + doc = Nokogiri.HTML(post.compiled_content) + + summary = "" + paragraphs = doc.search("p") + + paragraphs.each do |paragraph| + summary += paragraph.to_s + break if summary.size >= length + end + + summary + end + def get_short_date(post) attribute_to_time(post[:created_at]).strftime('%Y-%m-%d') end def get_pretty_date(post) - attribute_to_time(post[:created_at]).strftime('%-d %B, %Y') + attribute_to_time(post[:created_at]).strftime('%-d %B %Y') end def get_tags(post)
' + tweetText + '