From: Maxious Date: Sun, 07 Apr 2013 05:53:47 +0000 Subject: scraper fixes X-Git-Url: http://maxious.lambdacomplex.org/git/?p=disclosr.git&a=commitdiff&h=1663d0ccb9b095f3af73323b107867a0de161730 --- scraper fixes Former-commit-id: 7dbe6fcea0360db2b17d5c5e4a34f632e3fb3e06 --- --- a/about.php +++ b/about.php @@ -4,19 +4,12 @@ ?>

About/FAQ

-

Lorem ipsum.

-

What is this?

-Disclo.gs is a project to monitor Australian Federal Government agencies -compliance with their "proactive disclosure requirements" to make a transparency league table as suggested by gov2 taskforce http://gov2.net.au/blog/2009/09/19/a-league-ladder-of-psi-openness/.

Attributions

National Archives of Australia, Australian Governments’ Interactive Functions Thesaurus, 2nd edition, September 2005, published at http://www.naa.gov.au/recordkeeping/thesaurus/index.htm
data.gov.au http://data.gov.au/dataset/directory-gov-au-full-data-export/
directory.gov.au
australia.gov.au http://australia.gov.au/about/copyright
-

Open everything

-All documents released CC-BY 3 AU -Open source git @

Organisational Data Sources

@@ -25,17 +18,17 @@ http://www.finance.gov.au/publications/flipchart/docs/FMACACFlipchart.pdf summarises these. view-source:https://www.tenders.gov.au/?event=public.advancedsearch.home is great for the suspended/active status
-Fraud in gov depts by Fairfax Media http://www.smh.com.au/national/public-service-keeps-fraud-cases-private-20110923-1kpdr.html +Fraud in gov depts by Fairfax Media http://www.smh.com.au/national/public-service-keeps-fraud-cases-private-20110923-1kpdr.html
When defining the hierachy, this system is designed towards monitoring accountablity. Thus large agencies that have registered their own ABN -and have their own accountablity mechanisms/website receive a seperate record as a child of their department. +and have their own accountablity mechanisms/website receive a seperate record as a child of their department.
Some small agencies will choose to simply rely on their parent department's accountablity measures.
-This flows through to organisation name and other/past names. A department that completely accounts for an agency will list that agency as an other child name. -As agencies themselves shift between departments, there may be scope for providing time ranges but typically the newest hierarchy will be the one recorded. +This flows through to organisation name and other/past names. A department that completely accounts for an agency will list that agency as an other child name.
+As agencies themselves shift between departments, there may be scope for providing time ranges but typically the newest hierarchy will be the one recorded.
A department/agency name will be the newest active name assigned to that ABN.
-ABN information is derived from the ABR. This is the definitive umpire about which former name should be linked to which current name. +ABN information is derived from the ABR. This is the definitive umpire about which former name should be linked to which current name.
For example "Department of Transport and Regional Services" became "Department of Infrastructure, Transport, Regional Development and Local Government" (same ABN) however it later split into "Department of Infrastructure and Transport" (same ABN) and "Department of Regional Australia, Regional Development and Local Government" (new ABN).
@@ -43,24 +36,7 @@ Statistical information from http://www.apsc.gov.au/stateoftheservice/1011/statsbulletin/section1.html#t2total https://www.apsedii.gov.au/apsedii/CustomQueryx33.shtml and individual annual reports.
-

Webpage Assessment

-Much due care has been put into correctly recording disclosure URLs. Typically the "About", "Corporate", "Publications" and "Sitemap" sections are checked at the very least. -Occasionally it is nessicary to use a site or Google search. In several rare cases, there is a secret "Disclosure" navigation menu you can find if you find one of the mandatory publishing obligations in that category (seriously).
-Some rules about leniency:
-"; + . '

'; + } + } catch (SetteeRestClientException $e) { setteErrorHandler($e); } + echo ' + + + '; } + include_footer(); ?> --- /dev/null +++ b/headcount.php @@ -1,1 +1,126 @@ + + + + + Minimal BubbleTree Demo + + + + + + + + + + + + + +
+
+
+ + + --- a/include/common.inc.php +++ b/include/common.inc.php @@ -9,6 +9,7 @@ || strstr($_SERVER['PHP_SELF'], "include/") || strstr($_SERVER['PHP_SELF'], "documents/") || $_SERVER['SERVER_NAME'] == "disclosurelo.gs" + || $_SERVER['SERVER_NAME'] == "www.disclosurelo.gs" ) $basePath = "../"; --- a/include/couchdb.inc.php +++ b/include/couchdb.inc.php @@ -7,18 +7,24 @@ if (php_uname('n') == "vanille") { $serverAddr = 'http://192.168.178.21:5984/'; } else -if (php_uname('n') == "KYUUBEY") { + if (php_uname('n') == "KYUUBEY") { - $serverAddr = 'http://192.168.1.148:5984/'; - $serverAddr = 'http://127.0.0.1:5984/'; -} else { - $serverAddr = 'http://127.0.0.1:5984/'; -} + $serverAddr = 'http://192.168.1.148:5984/'; + $serverAddr = 'http://127.0.0.1:5984/'; + } else + if (php_uname('n') == "ikurt-20") { + + $serverAddr = 'http://192.168.1.113:5984/'; + //$serverAddr = 'http://127.0.0.1:5984/'; + } else { + $serverAddr = 'http://127.0.0.1:5984/'; + } $server = new SetteeServer($serverAddr); -function setteErrorHandler($e) { +function setteErrorHandler($e) +{ if (class_exists('Amon')) { - Amon::log($e->getMessage() . " " . print_r($_SERVER,true), array('error')); + Amon::log($e->getMessage() . " " . print_r($_SERVER, true), array('error')); } echo $e->getMessage() . "
" . PHP_EOL; } --- a/include/template.inc.php +++ b/include/template.inc.php @@ -19,9 +19,17 @@ <?php echo $title; ?> - Disclosr - - - + + + @@ -34,40 +42,43 @@ + - - - - - -
+
-
- +
+
- + - - --- a/js/foundation.js +++ /dev/null @@ -1,14 +1,1 @@ -/* Foundation v2.1.4 http://foundation.zurb.com */ -/*! 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(;c
a",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>");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>");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=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS){return bS.apply(this,arguments)}if(!this.length){return this}var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified")){f.lastModified[k]=y}if(z=v.getResponseHeader("Etag")){f.etag[k]=z}}if(a===304){w="notmodified",o=!0}else{try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}}else{u=w;if(!w||a){w="error",a<0&&(a=0)}}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n)){o[c[1].toLowerCase()]=c[2]}}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2){for(b in a){j[b]=[j[b],a[b]]}}else{b=a[v.status],v.then(b,b)}}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2){return !1}t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers){v.setRequestHeader(u,d.headers[u])}if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return !1}for(u in {success:1,error:1,complete:1}){v[u](d[u])}p=b$(bU,d,c,v);if(!p){w(-1,"No Transport")}else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2){w(-1,z)}else{throw z}}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a)){f.each(a,function(){e(this.name,this.value)})}else{for(var g in a){ca(g,a[g],c,e)}}return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState)){d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")}},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch){ch[a](0,1)}}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return !this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials" in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields){for(j in c.xhrFields){h[j]=c.xhrFields[j]}}c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e){h.setRequestHeader(j,e[j])}}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e){h.readyState!==4&&h.abort()}else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0){return this.animate(cu("show",3),a,b,c)}for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties){i.animatedProperties[b]!==!0&&(g=!1)}if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show){for(b in i.animatedProperties){f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0)}}d=i.complete,d&&(i.complete=!1,d.call(h))}return !1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return !0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using" in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0]){return null}var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static"){a=a.offsetParent}return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e){return null}g=cy(e);return g?"pageXOffset" in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e){return a==null?null:this}if(f.isFunction(a)){return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))})}if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9){return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c])}if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);(function(a){a("a[data-reveal-id]").live("click",function(c){c.preventDefault();var b=a(this).attr("data-reveal-id");a("#"+b).reveal(a(this).data())});a.fn.reveal=function(b){var c={animation:"fadeAndPop",animationSpeed:300,closeOnBackgroundClick:true,dismissModalClass:"close-reveal-modal"};var b=a.extend({},c,b);return this.each(function(){var l=a(this),g=parseInt(l.css("top")),i=l.height()+g,h=false,e=a(".reveal-modal-bg");if(e.length==0){e=a('
').insertAfter(l);e.fadeTo("fast",0.8)}function k(){e.unbind("click.modalEvent");a("."+b.dismissModalClass).unbind("click.modalEvent");if(!h){m();if(b.animation=="fadeAndPop"){l.css({top:a(document).scrollTop()-i,opacity:0,visibility:"visible"});e.fadeIn(b.animationSpeed/2);l.delay(b.animationSpeed/2).animate({top:a(document).scrollTop()+g+"px",opacity:1},b.animationSpeed,j)}if(b.animation=="fade"){l.css({opacity:0,visibility:"visible",top:a(document).scrollTop()+g});e.fadeIn(b.animationSpeed/2);l.delay(b.animationSpeed/2).animate({opacity:1},b.animationSpeed,j)}if(b.animation=="none"){l.css({visibility:"visible",top:a(document).scrollTop()+g});e.css({display:"block"});j()}}l.unbind("reveal:open",k)}l.bind("reveal:open",k);function f(){if(!h){m();if(b.animation=="fadeAndPop"){e.delay(b.animationSpeed).fadeOut(b.animationSpeed);l.animate({top:a(document).scrollTop()-i+"px",opacity:0},b.animationSpeed/2,function(){l.css({top:g,opacity:1,visibility:"hidden"});j()})}if(b.animation=="fade"){e.delay(b.animationSpeed).fadeOut(b.animationSpeed);l.animate({opacity:0},b.animationSpeed,function(){l.css({opacity:1,visibility:"hidden",top:g});j()})}if(b.animation=="none"){l.css({visibility:"hidden",top:g});e.css({display:"none"})}}l.unbind("reveal:close",f)}l.bind("reveal:close",f);l.trigger("reveal:open");var d=a("."+b.dismissModalClass).bind("click.modalEvent",function(){l.trigger("reveal:close")});if(b.closeOnBackgroundClick){e.css({cursor:"pointer"});e.bind("click.modalEvent",function(){l.trigger("reveal:close")})}a("body").keyup(function(n){if(n.which===27){l.trigger("reveal:close")}});function j(){h=false}function m(){h=true}})}})(jQuery);(function(b){var a={defaults:{animation:"horizontal-push",animationSpeed:600,timer:true,advanceSpeed:4000,pauseOnHover:false,startClockOnMouseOut:false,startClockOnMouseOutAfter:1000,directionalNav:true,captions:true,captionAnimation:"fade",captionAnimationSpeed:600,bullets:false,bulletThumbs:false,bulletThumbLocation:"",afterSlideChange:b.noop,fluid:true,centerBullets:true},activeSlide:0,numberSlides:0,orbitWidth:null,orbitHeight:null,locked:null,timerRunning:null,degrees:0,wrapperHTML:'
',timerHTML:'
',captionHTML:'
',directionalNavHTML:'
RightLeft
',bulletHTML:'
    ',init:function(f,e){var c,g=0,d=this;this.clickTimer=b.proxy(this.clickTimer,this);this.addBullet=b.proxy(this.addBullet,this);this.resetAndUnlock=b.proxy(this.resetAndUnlock,this);this.stopClock=b.proxy(this.stopClock,this);this.startTimerAfterMouseLeave=b.proxy(this.startTimerAfterMouseLeave,this);this.clearClockMouseLeaveTimer=b.proxy(this.clearClockMouseLeaveTimer,this);this.rotateTimer=b.proxy(this.rotateTimer,this);this.options=b.extend({},this.defaults,e);if(this.options.timer==="false"){this.options.timer=false}if(this.options.captions==="false"){this.options.captions=false}if(this.options.directionalNav==="false"){this.options.directionalNav=false}this.$element=b(f);this.$wrapper=this.$element.wrap(this.wrapperHTML).parent();this.$slides=this.$element.children("img, a, div");this.$element.bind("orbit.next",function(){d.shift("next")});this.$element.bind("orbit.prev",function(){d.shift("prev")});this.$element.bind("orbit.goto",function(i,h){d.shift(h)});this.$element.bind("orbit.start",function(i,h){d.startClock()});this.$element.bind("orbit.stop",function(i,h){d.stopClock()});c=this.$slides.filter("img");if(c.length===0){this.loaded()}else{c.bind("imageready",function(){g+=1;if(g===c.length){d.loaded()}})}},loaded:function(){this.$element.addClass("orbit").css({width:"1px",height:"1px"});this.setDimentionsFromLargestSlide();this.updateOptionsIfOnlyOneSlide();this.setupFirstSlide();if(this.options.timer){this.setupTimer();this.startClock()}if(this.options.captions){this.setupCaptions()}if(this.options.directionalNav){this.setupDirectionalNav()}if(this.options.bullets){this.setupBulletNav();this.setActiveBullet()}},currentSlide:function(){return this.$slides.eq(this.activeSlide)},setDimentionsFromLargestSlide:function(){var d=this,c;d.$element.add(d.$wrapper).width(this.$slides.first().width());d.$element.add(d.$wrapper).height(this.$slides.first().height());d.orbitWidth=this.$slides.first().width();d.orbitHeight=this.$slides.first().height();c=this.$slides.first().clone();this.$slides.each(function(){var e=b(this),g=e.width(),f=e.height();if(g>d.$element.width()){d.$element.add(d.$wrapper).width(g);d.orbitWidth=d.$element.width()}if(f>d.$element.height()){d.$element.add(d.$wrapper).height(f);d.orbitHeight=d.$element.height();c=b(this).clone()}d.numberSlides+=1});if(this.options.fluid){if(typeof this.options.fluid==="string"){c=b('')}d.$element.prepend(c);c.addClass("fluid-placeholder");d.$element.add(d.$wrapper).css({width:"inherit"});d.$element.add(d.$wrapper).css({height:"inherit"});b(window).bind("resize",function(){d.orbitWidth=d.$element.width();d.orbitHeight=d.$element.height()})}},lock:function(){this.locked=true},unlock:function(){this.locked=false},updateOptionsIfOnlyOneSlide:function(){if(this.$slides.length===1){this.options.directionalNav=false;this.options.timer=false;this.options.bullets=false}},setupFirstSlide:function(){var c=this;this.$slides.first().css({"z-index":3}).fadeIn(function(){c.$slides.css({display:"block"})})},startClock:function(){var c=this;if(!this.options.timer){return false}if(this.$timer.is(":hidden")){this.clock=setInterval(function(){this.$element.trigger("orbit.next")},this.options.advanceSpeed)}else{this.timerRunning=true;this.$pause.removeClass("active");this.clock=setInterval(this.rotateTimer,this.options.advanceSpeed/180)}},rotateTimer:function(){var c="rotate("+this.degrees+"deg)";this.degrees+=2;this.$rotator.css({"-webkit-transform":c,"-moz-transform":c,"-o-transform":c});if(this.degrees>180){this.$rotator.addClass("move");this.$mask.addClass("move")}if(this.degrees>360){this.$rotator.removeClass("move");this.$mask.removeClass("move");this.degrees=0;this.$element.trigger("orbit.next")}},stopClock:function(){if(!this.options.timer){return false}else{this.timerRunning=false;clearInterval(this.clock);this.$pause.addClass("active")}},setupTimer:function(){this.$timer=b(this.timerHTML);this.$wrapper.append(this.$timer);this.$rotator=this.$timer.find(".rotator");this.$mask=this.$timer.find(".mask");this.$pause=this.$timer.find(".pause");this.$timer.click(this.clickTimer);if(this.options.startClockOnMouseOut){this.$wrapper.mouseleave(this.startTimerAfterMouseLeave);this.$wrapper.mouseenter(this.clearClockMouseLeaveTimer)}if(this.options.pauseOnHover){this.$wrapper.mouseenter(this.stopClock)}},startTimerAfterMouseLeave:function(){var c=this;this.outTimer=setTimeout(function(){if(!c.timerRunning){c.startClock()}},this.options.startClockOnMouseOutAfter)},clearClockMouseLeaveTimer:function(){clearTimeout(this.outTimer)},clickTimer:function(){if(!this.timerRunning){this.startClock()}else{this.stopClock()}},setupCaptions:function(){this.$caption=b(this.captionHTML);this.$wrapper.append(this.$caption);this.setCaption()},setCaption:function(){var d=this.currentSlide().attr("data-caption"),c;if(!this.options.captions){return false}if(d){c=b(d).html();this.$caption.attr("id",d).html(c);switch(this.options.captionAnimation){case"none":this.$caption.show();break;case"fade":this.$caption.fadeIn(this.options.captionAnimationSpeed);break;case"slideOpen":this.$caption.slideDown(this.options.captionAnimationSpeed);break}}else{switch(this.options.captionAnimation){case"none":this.$caption.hide();break;case"fade":this.$caption.fadeOut(this.options.captionAnimationSpeed);break;case"slideOpen":this.$caption.slideUp(this.options.captionAnimationSpeed);break}}},setupDirectionalNav:function(){var c=this;this.$wrapper.append(this.directionalNavHTML);this.$wrapper.find(".left").click(function(){c.stopClock();c.$element.trigger("orbit.prev")});this.$wrapper.find(".right").click(function(){c.stopClock();c.$element.trigger("orbit.next")})},setupBulletNav:function(){this.$bullets=b(this.bulletHTML);this.$wrapper.append(this.$bullets);this.$slides.each(this.addBullet);this.$element.addClass("with-bullets");if(this.options.centerBullets){this.$bullets.css("margin-left",-this.$bullets.width()/2)}},addBullet:function(g,e){var d=g+1,h=b("
  • "+(d)+"
  • "),c,f=this;if(this.options.bulletThumbs){c=b(e).attr("data-thumb");if(c){h.addClass("has-thumb").css({background:"url("+this.options.bulletThumbLocation+c+") no-repeat"})}}this.$bullets.append(h);h.data("index",g);h.click(function(){f.stopClock();f.$element.trigger("orbit.goto",[h.data("index")])})},setActiveBullet:function(){if(!this.options.bullets){return false}else{this.$bullets.find("li").removeClass("active").eq(this.activeSlide).addClass("active")}},resetAndUnlock:function(){this.$slides.eq(this.prevActiveSlide).css({"z-index":1});this.unlock();this.options.afterSlideChange.call(this,this.$slides.eq(this.prevActiveSlide),this.$slides.eq(this.activeSlide))},shift:function(d){var c=d;this.prevActiveSlide=this.activeSlide;if(this.prevActiveSlide==c){return false}if(this.$slides.length=="1"){return false}if(!this.locked){this.lock();if(d=="next"){this.activeSlide++;if(this.activeSlide==this.numberSlides){this.activeSlide=0}}else{if(d=="prev"){this.activeSlide--;if(this.activeSlide<0){this.activeSlide=this.numberSlides-1}}else{this.activeSlide=d;if(this.prevActiveSlidethis.activeSlide){c="prev"}}}}this.setActiveBullet();this.$slides.eq(this.prevActiveSlide).css({"z-index":2});if(this.options.animation=="fade"){this.$slides.eq(this.activeSlide).css({opacity:0,"z-index":3}).animate({opacity:1},this.options.animationSpeed,this.resetAndUnlock)}if(this.options.animation=="horizontal-slide"){if(c=="next"){this.$slides.eq(this.activeSlide).css({left:this.orbitWidth,"z-index":3}).animate({left:0},this.options.animationSpeed,this.resetAndUnlock)}if(c=="prev"){this.$slides.eq(this.activeSlide).css({left:-this.orbitWidth,"z-index":3}).animate({left:0},this.options.animationSpeed,this.resetAndUnlock)}}if(this.options.animation=="vertical-slide"){if(c=="prev"){this.$slides.eq(this.activeSlide).css({top:this.orbitHeight,"z-index":3}).animate({top:0},this.options.animationSpeed,this.resetAndUnlock)}if(c=="next"){this.$slides.eq(this.activeSlide).css({top:-this.orbitHeight,"z-index":3}).animate({top:0},this.options.animationSpeed,this.resetAndUnlock)}}if(this.options.animation=="horizontal-push"){if(c=="next"){this.$slides.eq(this.activeSlide).css({left:this.orbitWidth,"z-index":3}).animate({left:0},this.options.animationSpeed,this.resetAndUnlock);this.$slides.eq(this.prevActiveSlide).animate({left:-this.orbitWidth},this.options.animationSpeed)}if(c=="prev"){this.$slides.eq(this.activeSlide).css({left:-this.orbitWidth,"z-index":3}).animate({left:0},this.options.animationSpeed,this.resetAndUnlock);this.$slides.eq(this.prevActiveSlide).animate({left:this.orbitWidth},this.options.animationSpeed)}}if(this.options.animation=="vertical-push"){if(c=="next"){this.$slides.eq(this.activeSlide).css({top:-this.orbitHeight,"z-index":3}).animate({top:0},this.options.animationSpeed,this.resetAndUnlock);this.$slides.eq(this.prevActiveSlide).animate({top:this.orbitHeight},this.options.animationSpeed)}if(c=="prev"){this.$slides.eq(this.activeSlide).css({top:this.orbitHeight,"z-index":3}).animate({top:0},this.options.animationSpeed,this.resetAndUnlock);this.$slides.eq(this.prevActiveSlide).animate({top:-this.orbitHeight},this.options.animationSpeed)}}this.setCaption()}}};b.fn.orbit=function(c){return this.each(function(){var d=b.extend({},a);d.init(this,c)})}})(jQuery); -/*! - * jQuery imageready Plugin - * http://www.zurb.com/playground/ - * - * Copyright 2011, ZURB - * Released under the MIT License - */ -(function(c){var b={};c.event.special.imageready={setup:function(f,e,d){b=f||b},add:function(d){var e=c(this),f;if(this.nodeType===1&&this.tagName.toLowerCase()==="img"&&this.src!==""){if(b.forceLoad){f=e.attr("src");e.attr("src","");a(this,d.handler);e.attr("src",f)}else{if(this.complete||this.readyState===4){d.handler.apply(this,arguments)}else{a(this,d.handler)}}}},teardown:function(d){c(this).unbind(".imageready")}};function a(d,f){var e=c(d);e.bind("load.imageready",function(){f.apply(d,arguments);e.unbind("load.imageready")})}}(jQuery));new function(a){a.fn.placeholder=function(b){b=b||{};var j=b.dataKey||"placeholderValue";var f=b.attr||"placeholder";var h=b.className||"placeholder";var k=b.values||[];var c=b.blockSubmit||false;var e=b.blankSubmit||false;var g=b.onSubmit||false;var i=b.value||"";var d=b.cursor_position||0;return this.filter(":input").each(function(l){a.data(this,j,k[l]||a(this).attr(f))}).each(function(){if(a.trim(a(this).val())===""){a(this).addClass(h).val(a.data(this,j))}}).focus(function(){if(a.trim(a(this).val())===a.data(this,j)){a(this).removeClass(h).val(i)}if(a.fn.setCursorPosition){a(this).setCursorPosition(d)}}).blur(function(){if(a.trim(a(this).val())===i){a(this).addClass(h).val(a.data(this,j))}}).each(function(l,m){if(c){new function(n){a(n.form).submit(function(){return a.trim(a(n).val())!=a.data(n,j)})}(m)}else{if(e){new function(n){a(n.form).submit(function(){if(a.trim(a(n).val())==a.data(n,j)){a(n).removeClass(h).val("")}return true})}(m)}else{if(g){new function(n){a(n.form).submit(g)}(m)}}}})}}(jQuery);jQuery(document).ready(function(b){function a(c){b("form.custom input:"+c).each(function(){var e=b(this).hide(),d=e.next("span.custom."+c);if(d.length===0){d=b('').insertAfter(e)}d.toggleClass("checked",e.is(":checked"))})}a("checkbox");a("radio");b("form.custom select").each(function(){var e=b(this),g=e.next("div.custom.dropdown"),c=e.find("option"),d=0,f;if(g.length===0){g=b('"');c.each(function(){f=b("
  • "+b(this).html()+"
  • ");g.find("ul").append(f)});g.prepend(''+c.first().html()+"");e.after(g);e.hide()}c.each(function(h){if(this.selected){g.find("li").eq(h).addClass("selected");g.find(".current").html(b(this).html())}});g.find("li").each(function(){g.addClass("open");if(b(this).outerWidth()>d){d=b(this).outerWidth()}g.removeClass("open")});g.css("width",d+18+"px");g.find("ul").css("width",d+16+"px")})});(function(b){function a(d){var f=d.prev(),e=f[0];e.checked=((e.checked)?false:true);d.toggleClass("checked");f.trigger("change")}function c(d){var f=d.prev(),e=f[0];b('input:radio[name="'+f.attr("name")+'"]').each(function(){b(this).next().removeClass("checked")});e.checked=((e.checked)?false:true);d.toggleClass("checked");f.trigger("change")}b(document).on("click","form.custom span.custom.checkbox",function(d){d.preventDefault();d.stopPropagation();a(b(this))});b(document).on("click","form.custom span.custom.radio",function(d){d.preventDefault();d.stopPropagation();c(b(this))});b(document).on("click","form.custom label",function(e){var d=b("#"+b(this).attr("for")),g,f;if(d.length!==0){if(d.attr("type")==="checkbox"){e.preventDefault();g=b(this).find("span.custom.checkbox");a(g)}else{if(d.attr("type")==="radio"){e.preventDefault();f=b(this).find("span.custom.radio");c(f)}}}});b(document).on("click","form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector",function(d){var f=b(this),e=f.closest("div.custom.dropdown");d.preventDefault();e.toggleClass("open");if(e.hasClass("open")){b(document).bind("click.customdropdown",function(g){e.removeClass("open");b(document).unbind(".customdropdown")})}else{b(document).unbind(".customdropdown")}});b(document).on("click","form.custom div.custom.dropdown li",function(g){var h=b(this),e=h.closest("div.custom.dropdown"),f=e.prev(),d=0;g.preventDefault();g.stopPropagation();h.closest("ul").find("li").removeClass("selected");h.addClass("selected");e.removeClass("open").find("a.current").html(h.html());h.closest("ul").find("li").each(function(i){if(h[0]==this){d=i}});f[0].selectedIndex=d;f.trigger("change")})})(jQuery); -/*! http://mths.be/placeholder v1.8.5 by @mathias */ -(function(j,i,l){var k="placeholder" in i.createElement("input"),h="placeholder" in i.createElement("textarea");if(k&&h){l.fn.placeholder=function(){return this};l.fn.placeholder.input=l.fn.placeholder.textarea=true}else{l.fn.placeholder=function(){return this.filter((k?"textarea":":input")+"[placeholder]").bind("focus.placeholder",o).bind("blur.placeholder",m).trigger("blur.placeholder").end()};l.fn.placeholder.input=k;l.fn.placeholder.textarea=h;l(function(){l("form").bind("submit.placeholder",function(){var a=l(".placeholder",this).each(o);setTimeout(function(){a.each(m)},10)})});l(j).bind("unload.placeholder",function(){l(".placeholder").val("")})}function n(b){var c={},a=/^jQuery\d+$/;l.each(b.attributes,function(d,e){if(e.specified&&!a.test(e.name)){c[e.name]=e.value}});return c}function o(){var a=l(this);if(a.val()===a.attr("placeholder")&&a.hasClass("placeholder")){if(a.data("placeholder-password")){a.hide().next().show().focus().attr("id",a.removeAttr("id").data("placeholder-id"))}else{a.val("").removeClass("placeholder")}}}function m(){var a,b=l(this),e=b,c=this.id;if(b.val()===""){if(b.is(":password")){if(!b.data("placeholder-textinput")){try{a=b.clone().attr({type:"text"})}catch(d){a=l("").attr(l.extend(n(this),{type:"text"}))}a.removeAttr("name").data("placeholder-password",true).data("placeholder-id",c).bind("focus.placeholder",o);b.data("placeholder-textinput",a).data("placeholder-id",c).before(a)}b=b.removeAttr("id").hide().prev().attr("id",c).show()}b.addClass("placeholder").val(b.attr("placeholder"))}else{b.removeClass("placeholder")}}}(this,document,jQuery)); --- a/lib/Color.php +++ b/lib/Color.php @@ -1,502 +1,502 @@ - - * - * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * - * @version $Id$ - * - */ -class Lux_Color -{ - /** - * - * Converts hexadecimal colors to RGB. - * - * @param string $hex Hexadecimal value. Accepts values with 3 or 6 numbers, - * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. - * - * @return array RGB values: 0 => R, 1 => G, 2 => B - * - */ - public function hex2rgb($hex) - { - // Remove #. - if (strpos($hex, '#') === 0) { - $hex = substr($hex, 1); - } - - if (strlen($hex) == 3) { - $hex .= $hex; - } - - if (strlen($hex) != 6) { - return false; - } - - // Convert each tuple to decimal. - $r = hexdec(substr($hex, 0, 2)); - $g = hexdec(substr($hex, 2, 2)); - $b = hexdec(substr($hex, 4, 2)); - - return array($r, $g, $b); - } - - /** - * - * Converts hexadecimal colors to HSV. - * - * @param string $hex Hexadecimal value. Accepts values with 3 or 6 numbers, - * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. - * - * @return array HSV values: 0 => H, 1 => S, 2 => V - * - */ - public function hex2hsv($hex) - { - return $this->rgb2hsv($this->hex2rgb($hex)); - } - - /** - * - * Converts hexadecimal colors to HSL. - * - * @param string $hex Hexadecimal value. Accepts values with 3 or 6 numbers, - * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. - * - * @return array HSL values: 0 => H, 1 => S, 2 => L - * - */ - public function hex2hsl($hex) - { - return $this->rgb2hsl($this->hex2rgb($hex)); - } - - /** - * - * Converts RGB colors to hexadecimal. - * - * @param array $rgb RGB values: 0 => R, 1 => G, 2 => B - * - * @return string Hexadecimal value with six digits, e.g., CCCCCC. - * - */ - public function rgb2hex($rgb) - { - if(count($rgb) < 3) { - return false; - } - - list($r, $g, $b) = $rgb; - - // From php.net. - $r = 0x10000 * max(0, min(255, $r)); - $g = 0x100 * max(0, min(255, $g)); - $b = max(0, min(255, $b)); - - return strtoupper(str_pad(dechex($r + $g + $b), 6, 0, STR_PAD_LEFT)); - } - - /** - * - * Converts RGB to HSV. - * - * @param array $rgb RGB values: 0 => R, 1 => G, 2 => B - * - * @return array HSV values: 0 => H, 1 => S, 2 => V - * - */ - public function rgb2hsv($rgb) - { - // RGB values = 0 ÷ 255 - $var_R = ($rgb[0] / 255); - $var_G = ($rgb[1] / 255); - $var_B = ($rgb[2] / 255); - - // Min. value of RGB - $var_Min = min($var_R, $var_G, $var_B); - - // Max. value of RGB - $var_Max = max($var_R, $var_G, $var_B); - - // Delta RGB value - $del_Max = $var_Max - $var_Min; - - $V = $var_Max; - - // This is a gray, no chroma... - if ( $del_Max == 0 ) { - // HSV results = 0 ÷ 1 - $H = 0; - $S = 0; - } else { - // Chromatic data... - $S = $del_Max / $var_Max; - - $del_R = ((($var_Max - $var_R) / 6) + ($del_Max / 2)) / $del_Max; - $del_G = ((($var_Max - $var_G) / 6) + ($del_Max / 2)) / $del_Max; - $del_B = ((($var_Max - $var_B) / 6) + ($del_Max / 2)) / $del_Max; - - if ($var_R == $var_Max) { - $H = $del_B - $del_G; - } else if ($var_G == $var_Max) { - $H = (1 / 3) + $del_R - $del_B; - } else if ($var_B == $var_Max) { - $H = (2 / 3) + $del_G - $del_R; - } - - if ($H < 0) { - $H += 1; - } - if ($H > 1) { - $H -= 1; - } - } - - // Returns agnostic values. - // Range will depend on the application: e.g. $H*360, $S*100, $V*100. - return array($H, $S, $V); - } - - /** - * - * Converts RGB to HSL. - * - * @param array $rgb RGB values: 0 => R, 1 => G, 2 => B - * - * @return array HSL values: 0 => H, 1 => S, 2 => L - * - */ - public function rgb2hsl($rgb) - { - // Where RGB values = 0 ÷ 255. - $var_R = $rgb[0] / 255; - $var_G = $rgb[1] / 255; - $var_B = $rgb[2] / 255; - - // Min. value of RGB - $var_Min = min($var_R, $var_G, $var_B); - // Max. value of RGB - $var_Max = max($var_R, $var_G, $var_B); - // Delta RGB value - $del_Max = $var_Max - $var_Min; - - $L = ($var_Max + $var_Min) / 2; - - if ( $del_Max == 0 ) { - // This is a gray, no chroma... - // HSL results = 0 ÷ 1 - $H = 0; - $S = 0; - } else { - // Chromatic data... - if ($L < 0.5) { - $S = $del_Max / ($var_Max + $var_Min); - } else { - $S = $del_Max / ( 2 - $var_Max - $var_Min ); - } - - $del_R = ((($var_Max - $var_R) / 6) + ($del_Max / 2)) / $del_Max; - $del_G = ((($var_Max - $var_G) / 6) + ($del_Max / 2)) / $del_Max; - $del_B = ((($var_Max - $var_B) / 6) + ($del_Max / 2)) / $del_Max; - - if ($var_R == $var_Max) { - $H = $del_B - $del_G; - } else if ($var_G == $var_Max) { - $H = ( 1 / 3 ) + $del_R - $del_B; - } else if ($var_B == $var_Max) { - $H = ( 2 / 3 ) + $del_G - $del_R; - } - - if ($H < 0) { - $H += 1; - } - if ($H > 1) { - $H -= 1; - } - } - - return array($H, $S, $L); - } - - /** - * - * Converts HSV colors to hexadecimal. - * - * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V - * - * @return string Hexadecimal value with six digits, e.g., CCCCCC. - * - */ - public function hsv2hex($hsv) - { - return $this->rgb2hex($this->hsv2rgb($hsv)); - } - - /** - * - * Converts HSV to RGB. - * - * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V - * - * @return array RGB values: 0 => R, 1 => G, 2 => B - * - */ - public function hsv2rgb($hsv) - { - $H = $hsv[0]; - $S = $hsv[1]; - $V = $hsv[2]; - - // HSV values = 0 ÷ 1 - if ($S == 0) { - $R = $V * 255; - $G = $V * 255; - $B = $V * 255; - } else { - $var_h = $H * 6; - // H must be < 1 - if ( $var_h == 6 ) { - $var_h = 0; - } - // Or ... $var_i = floor( $var_h ) - $var_i = floor( $var_h ); - $var_1 = $V * ( 1 - $S ); - $var_2 = $V * ( 1 - $S * ( $var_h - $var_i ) ); - $var_3 = $V * ( 1 - $S * ( 1 - ( $var_h - $var_i ) ) ); - - switch($var_i) { - case 0: - $var_r = $V; - $var_g = $var_3; - $var_b = $var_1; - break; - case 1: - $var_r = $var_2; - $var_g = $V; - $var_b = $var_1; - break; - case 2: - $var_r = $var_1; - $var_g = $V; - $var_b = $var_3; - break; - case 3: - $var_r = $var_1; - $var_g = $var_2; - $var_b = $V; - break; - case 4: - $var_r = $var_3; - $var_g = $var_1; - $var_b = $V; - break; - default: - $var_r = $V; - $var_g = $var_1; - $var_b = $var_2; - } - - //RGB results = 0 ÷ 255 - $R = $var_r * 255; - $G = $var_g * 255; - $B = $var_b * 255; - } - - return array($R, $G, $B); - } - - /** - * - * Converts HSV colors to HSL. - * - * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V - * - * @return array HSL values: 0 => H, 1 => S, 2 => L - * - */ - public function hsv2hsl($hsv) - { - return $this->rgb2hsl($this->hsv2rgb($hsv)); - } - - /** - * - * Converts hexadecimal colors to HSL. - * - * @param array $hsl HSL values: 0 => H, 1 => S, 2 => L - * - * @return string Hexadecimal value. Accepts values with 3 or 6 numbers, - * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. - * - */ - public function hsl2hex($hsl) - { - return $this->rgb2hex($this->hsl2rgb($hsl)); - } - - /** - * - * Converts HSL to RGB. - * - * @param array $hsv HSL values: 0 => H, 1 => S, 2 => L - * - * @return array RGB values: 0 => R, 1 => G, 2 => B - * - */ - public function hsl2rgb($hsl) - { - list($H, $S, $L) = $hsl; - - if ($S == 0) { - // HSL values = 0 ÷ 1 - // RGB results = 0 ÷ 255 - $R = $L * 255; - $G = $L * 255; - $B = $L * 255; - } else { - if ($L < 0.5) { - $var_2 = $L * (1 + $S); - } else { - $var_2 = ($L + $S) - ($S * $L); - } - - $var_1 = 2 * $L - $var_2; - - $R = 255 * $this->_hue2rgb($var_1, $var_2, $H + (1 / 3)); - $G = 255 * $this->_hue2rgb($var_1, $var_2, $H); - $B = 255 * $this->_hue2rgb($var_1, $var_2, $H - (1 / 3)); - } - - return array($R, $G, $B); - } - - /** - * - * Support method for hsl2rgb(): converts hue ro RGB. - * - * @param - * - * @param - * - * @param - * - * @return int - * - */ - protected function _hue2rgb($v1, $v2, $vH) - { - if ($vH < 0) { - $vH += 1; - } - - if ($vH > 1) { - $vH -= 1; - } - - if ((6 * $vH) < 1) { - return ($v1 + ($v2 - $v1) * 6 * $vH); - } - - if ((2 * $vH) < 1) { - return $v2; - } - - if ((3 * $vH) < 2) { - return ($v1 + ($v2 - $v1) * (( 2 / 3) - $vH) * 6); - } - - return $v1; - } - - /** - * - * Converts hexadecimal colors to HSL. - * - * @param array $hsl HSL values: 0 => H, 1 => S, 2 => L - * - * @return array HSV values: 0 => H, 1 => S, 2 => V - * - */ - public function hsl2hsv($hsl) - { - return $this->rgb2hsv($this->hsl2rgb($hsl)); - } - - /** - * - * Updates HSV values. - * - * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V - * - * @param array $values Values to update: 0 => value to add to H (0 to 360), - * 1 and 2 => values to multiply S and V (0 to 100). Example: - * - * {{{code:php - * // Update saturation to 80% in the provided HSV. - * $hsv = array(120, 0.75, 0.75); - * $new_hsv = $color->updateHsv($hsv, array(null, 80, null)); - * }}} - * - */ - public function updateHsv($hsv, $values) - { - if (isset($values[0])) { - $hsv[0] = max(0, min(360, ($hsv[0] + $values[0]))); - } - - if (isset($values[1])) { - $hsv[1] = max(0, min(1, ($hsv[1] * ($values[1] / 100)))); - } - - if (isset($values[2])) { - $hsv[2] = max(0, min(1, ($hsv[2] * ($values[2] / 100)))); - } - - return $hsv; - } - - /** - * - * Updates HSL values. - * - * @param array $hsl HSL values: 0 => H, 1 => S, 2 => L - * - * @param array $values Values to update: 0 => value to add to H (0 to 360), - * 1 and 2 => values to multiply S and V (0 to 100). Example: - * - * {{{code:php - * // Update saturation to 80% in the provided HSL. - * $hsl = array(120, 0.75, 0.75); - * $new_hsl = $color->updateHsl($hsl, array(null, 80, null)); - * }}} - * - */ - public function updateHsl($hsl, $values) - { - if (isset($values[0])) { - $hsl[0] = max(0, min(360, ($hsl[0] + $values[0]))); - } - - if (isset($values[1])) { - $hsl[1] = max(0, min(1, ($hsl[1] * ($values[1] / 100)))); - } - - if (isset($values[2])) { - $hsl[2] = max(0, min(1, ($hsl[2] * ($values[2] / 100)))); - } - - return $hsl; - } + + * + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * + * @version $Id$ + * + */ +class Lux_Color +{ + /** + * + * Converts hexadecimal colors to RGB. + * + * @param string $hex Hexadecimal value. Accepts values with 3 or 6 numbers, + * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. + * + * @return array RGB values: 0 => R, 1 => G, 2 => B + * + */ + public function hex2rgb($hex) + { + // Remove #. + if (strpos($hex, '#') === 0) { + $hex = substr($hex, 1); + } + + if (strlen($hex) == 3) { + $hex .= $hex; + } + + if (strlen($hex) != 6) { + return false; + } + + // Convert each tuple to decimal. + $r = hexdec(substr($hex, 0, 2)); + $g = hexdec(substr($hex, 2, 2)); + $b = hexdec(substr($hex, 4, 2)); + + return array($r, $g, $b); + } + + /** + * + * Converts hexadecimal colors to HSV. + * + * @param string $hex Hexadecimal value. Accepts values with 3 or 6 numbers, + * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. + * + * @return array HSV values: 0 => H, 1 => S, 2 => V + * + */ + public function hex2hsv($hex) + { + return $this->rgb2hsv($this->hex2rgb($hex)); + } + + /** + * + * Converts hexadecimal colors to HSL. + * + * @param string $hex Hexadecimal value. Accepts values with 3 or 6 numbers, + * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. + * + * @return array HSL values: 0 => H, 1 => S, 2 => L + * + */ + public function hex2hsl($hex) + { + return $this->rgb2hsl($this->hex2rgb($hex)); + } + + /** + * + * Converts RGB colors to hexadecimal. + * + * @param array $rgb RGB values: 0 => R, 1 => G, 2 => B + * + * @return string Hexadecimal value with six digits, e.g., CCCCCC. + * + */ + public function rgb2hex($rgb) + { + if(count($rgb) < 3) { + return false; + } + + list($r, $g, $b) = $rgb; + + // From php.net. + $r = 0x10000 * max(0, min(255, $r)); + $g = 0x100 * max(0, min(255, $g)); + $b = max(0, min(255, $b)); + + return strtoupper(str_pad(dechex($r + $g + $b), 6, 0, STR_PAD_LEFT)); + } + + /** + * + * Converts RGB to HSV. + * + * @param array $rgb RGB values: 0 => R, 1 => G, 2 => B + * + * @return array HSV values: 0 => H, 1 => S, 2 => V + * + */ + public function rgb2hsv($rgb) + { + // RGB values = 0 ÷ 255 + $var_R = ($rgb[0] / 255); + $var_G = ($rgb[1] / 255); + $var_B = ($rgb[2] / 255); + + // Min. value of RGB + $var_Min = min($var_R, $var_G, $var_B); + + // Max. value of RGB + $var_Max = max($var_R, $var_G, $var_B); + + // Delta RGB value + $del_Max = $var_Max - $var_Min; + + $V = $var_Max; + + // This is a gray, no chroma... + if ( $del_Max == 0 ) { + // HSV results = 0 ÷ 1 + $H = 0; + $S = 0; + } else { + // Chromatic data... + $S = $del_Max / $var_Max; + + $del_R = ((($var_Max - $var_R) / 6) + ($del_Max / 2)) / $del_Max; + $del_G = ((($var_Max - $var_G) / 6) + ($del_Max / 2)) / $del_Max; + $del_B = ((($var_Max - $var_B) / 6) + ($del_Max / 2)) / $del_Max; + + if ($var_R == $var_Max) { + $H = $del_B - $del_G; + } else if ($var_G == $var_Max) { + $H = (1 / 3) + $del_R - $del_B; + } else if ($var_B == $var_Max) { + $H = (2 / 3) + $del_G - $del_R; + } + + if ($H < 0) { + $H += 1; + } + if ($H > 1) { + $H -= 1; + } + } + + // Returns agnostic values. + // Range will depend on the application: e.g. $H*360, $S*100, $V*100. + return array($H, $S, $V); + } + + /** + * + * Converts RGB to HSL. + * + * @param array $rgb RGB values: 0 => R, 1 => G, 2 => B + * + * @return array HSL values: 0 => H, 1 => S, 2 => L + * + */ + public function rgb2hsl($rgb) + { + // Where RGB values = 0 ÷ 255. + $var_R = $rgb[0] / 255; + $var_G = $rgb[1] / 255; + $var_B = $rgb[2] / 255; + + // Min. value of RGB + $var_Min = min($var_R, $var_G, $var_B); + // Max. value of RGB + $var_Max = max($var_R, $var_G, $var_B); + // Delta RGB value + $del_Max = $var_Max - $var_Min; + + $L = ($var_Max + $var_Min) / 2; + + if ( $del_Max == 0 ) { + // This is a gray, no chroma... + // HSL results = 0 ÷ 1 + $H = 0; + $S = 0; + } else { + // Chromatic data... + if ($L < 0.5) { + $S = $del_Max / ($var_Max + $var_Min); + } else { + $S = $del_Max / ( 2 - $var_Max - $var_Min ); + } + + $del_R = ((($var_Max - $var_R) / 6) + ($del_Max / 2)) / $del_Max; + $del_G = ((($var_Max - $var_G) / 6) + ($del_Max / 2)) / $del_Max; + $del_B = ((($var_Max - $var_B) / 6) + ($del_Max / 2)) / $del_Max; + + if ($var_R == $var_Max) { + $H = $del_B - $del_G; + } else if ($var_G == $var_Max) { + $H = ( 1 / 3 ) + $del_R - $del_B; + } else if ($var_B == $var_Max) { + $H = ( 2 / 3 ) + $del_G - $del_R; + } + + if ($H < 0) { + $H += 1; + } + if ($H > 1) { + $H -= 1; + } + } + + return array($H, $S, $L); + } + + /** + * + * Converts HSV colors to hexadecimal. + * + * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V + * + * @return string Hexadecimal value with six digits, e.g., CCCCCC. + * + */ + public function hsv2hex($hsv) + { + return $this->rgb2hex($this->hsv2rgb($hsv)); + } + + /** + * + * Converts HSV to RGB. + * + * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V + * + * @return array RGB values: 0 => R, 1 => G, 2 => B + * + */ + public function hsv2rgb($hsv) + { + $H = $hsv[0]; + $S = $hsv[1]; + $V = $hsv[2]; + + // HSV values = 0 ÷ 1 + if ($S == 0) { + $R = $V * 255; + $G = $V * 255; + $B = $V * 255; + } else { + $var_h = $H * 6; + // H must be < 1 + if ( $var_h == 6 ) { + $var_h = 0; + } + // Or ... $var_i = floor( $var_h ) + $var_i = floor( $var_h ); + $var_1 = $V * ( 1 - $S ); + $var_2 = $V * ( 1 - $S * ( $var_h - $var_i ) ); + $var_3 = $V * ( 1 - $S * ( 1 - ( $var_h - $var_i ) ) ); + + switch($var_i) { + case 0: + $var_r = $V; + $var_g = $var_3; + $var_b = $var_1; + break; + case 1: + $var_r = $var_2; + $var_g = $V; + $var_b = $var_1; + break; + case 2: + $var_r = $var_1; + $var_g = $V; + $var_b = $var_3; + break; + case 3: + $var_r = $var_1; + $var_g = $var_2; + $var_b = $V; + break; + case 4: + $var_r = $var_3; + $var_g = $var_1; + $var_b = $V; + break; + default: + $var_r = $V; + $var_g = $var_1; + $var_b = $var_2; + } + + //RGB results = 0 ÷ 255 + $R = $var_r * 255; + $G = $var_g * 255; + $B = $var_b * 255; + } + + return array($R, $G, $B); + } + + /** + * + * Converts HSV colors to HSL. + * + * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V + * + * @return array HSL values: 0 => H, 1 => S, 2 => L + * + */ + public function hsv2hsl($hsv) + { + return $this->rgb2hsl($this->hsv2rgb($hsv)); + } + + /** + * + * Converts hexadecimal colors to HSL. + * + * @param array $hsl HSL values: 0 => H, 1 => S, 2 => L + * + * @return string Hexadecimal value. Accepts values with 3 or 6 numbers, + * with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC. + * + */ + public function hsl2hex($hsl) + { + return $this->rgb2hex($this->hsl2rgb($hsl)); + } + + /** + * + * Converts HSL to RGB. + * + * @param array $hsv HSL values: 0 => H, 1 => S, 2 => L + * + * @return array RGB values: 0 => R, 1 => G, 2 => B + * + */ + public function hsl2rgb($hsl) + { + list($H, $S, $L) = $hsl; + + if ($S == 0) { + // HSL values = 0 ÷ 1 + // RGB results = 0 ÷ 255 + $R = $L * 255; + $G = $L * 255; + $B = $L * 255; + } else { + if ($L < 0.5) { + $var_2 = $L * (1 + $S); + } else { + $var_2 = ($L + $S) - ($S * $L); + } + + $var_1 = 2 * $L - $var_2; + + $R = 255 * $this->_hue2rgb($var_1, $var_2, $H + (1 / 3)); + $G = 255 * $this->_hue2rgb($var_1, $var_2, $H); + $B = 255 * $this->_hue2rgb($var_1, $var_2, $H - (1 / 3)); + } + + return array($R, $G, $B); + } + + /** + * + * Support method for hsl2rgb(): converts hue ro RGB. + * + * @param + * + * @param + * + * @param + * + * @return int + * + */ + protected function _hue2rgb($v1, $v2, $vH) + { + if ($vH < 0) { + $vH += 1; + } + + if ($vH > 1) { + $vH -= 1; + } + + if ((6 * $vH) < 1) { + return ($v1 + ($v2 - $v1) * 6 * $vH); + } + + if ((2 * $vH) < 1) { + return $v2; + } + + if ((3 * $vH) < 2) { + return ($v1 + ($v2 - $v1) * (( 2 / 3) - $vH) * 6); + } + + return $v1; + } + + /** + * + * Converts hexadecimal colors to HSL. + * + * @param array $hsl HSL values: 0 => H, 1 => S, 2 => L + * + * @return array HSV values: 0 => H, 1 => S, 2 => V + * + */ + public function hsl2hsv($hsl) + { + return $this->rgb2hsv($this->hsl2rgb($hsl)); + } + + /** + * + * Updates HSV values. + * + * @param array $hsv HSV values: 0 => H, 1 => S, 2 => V + * + * @param array $values Values to update: 0 => value to add to H (0 to 360), + * 1 and 2 => values to multiply S and V (0 to 100). Example: + * + * {{{code:php + * // Update saturation to 80% in the provided HSV. + * $hsv = array(120, 0.75, 0.75); + * $new_hsv = $color->updateHsv($hsv, array(null, 80, null)); + * }}} + * + */ + public function updateHsv($hsv, $values) + { + if (isset($values[0])) { + $hsv[0] = max(0, min(360, ($hsv[0] + $values[0]))); + } + + if (isset($values[1])) { + $hsv[1] = max(0, min(1, ($hsv[1] * ($values[1] / 100)))); + } + + if (isset($values[2])) { + $hsv[2] = max(0, min(1, ($hsv[2] * ($values[2] / 100)))); + } + + return $hsv; + } + + /** + * + * Updates HSL values. + * + * @param array $hsl HSL values: 0 => H, 1 => S, 2 => L + * + * @param array $values Values to update: 0 => value to add to H (0 to 360), + * 1 and 2 => values to multiply S and V (0 to 100). Example: + * + * {{{code:php + * // Update saturation to 80% in the provided HSL. + * $hsl = array(120, 0.75, 0.75); + * $new_hsl = $color->updateHsl($hsl, array(null, 80, null)); + * }}} + * + */ + public function updateHsl($hsl, $values) + { + if (isset($values[0])) { + $hsl[0] = max(0, min(360, ($hsl[0] + $values[0]))); + } + + if (isset($values[1])) { + $hsl[1] = max(0, min(1, ($hsl[1] * ($values[1] / 100)))); + } + + if (isset($values[2])) { + $hsl[2] = max(0, min(1, ($hsl[2] * ($values[2] / 100)))); + } + + return $hsl; + } } --- a/lib/FeedWriter/README +++ b/lib/FeedWriter/README @@ -1,20 +1,20 @@ -This package can be used to generate feeds in either RSS 1.0, RSS 2.0 or ATOM -formats. +This package can be used to generate feeds in either RSS 1.0, RSS 2.0 or ATOM +formats. + +There are three main classes that abstracts the feed information and another to +encapsulate the feed items information. + +Applications can create feed writer object, several feed item objects, set +several types of properties of either feeds and feed items, and add items to +the feed. + +Once a feed is fully composed with its items, the feed writer class can generate +the necessary XML structure to describe the feed in the RSS or ATOM formats. +The feed is generated as part of the current feed output. + + +Requirements +============ + +PHP >= 5.0 -There are three main classes that abstracts the feed information and another to -encapsulate the feed items information. - -Applications can create feed writer object, several feed item objects, set -several types of properties of either feeds and feed items, and add items to -the feed. - -Once a feed is fully composed with its items, the feed writer class can generate -the necessary XML structure to describe the feed in the RSS or ATOM formats. -The feed is generated as part of the current feed output. - - -Requirements -============ - -PHP >= 5.0 - --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -1,8 +1,8 @@ -include.path=${php.global.include.path} -php.version=PHP_53 -source.encoding=UTF-8 -src.dir=. -tags.asp=false -tags.short=true -web.root=. +include.path=${php.global.include.path} +php.version=PHP_53 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=true +web.root=. --- a/stylesheets/app.css +++ /dev/null @@ -1,72 +1,1 @@ -/* Foundation v2.1.4 http://foundation.zurb.com */ -/* Artfully masterminded by ZURB */ -/* ZURB bar copy*/ -#navbar { - background: #222222; - border-bottom: solid 4px #00a5ff; - padding: 15px 20px 13px 20px; } - -@media handheld, only screen and (max-width: 767px) { - #navbar { - padding-left: 20px; - padding-right: 20px; } -} - -#navbar h1, #navbar h2 { - margin-bottom: 0; - line-height: 1; } -#navbar h1 { - color: white; - font-size: 16px; - font-size: 1.6rem; - font-weight: 800; } -#navbar a { color: #fff; font-weight: bold; } - -#navbar strong { display: block; margin: 0; padding: 0; height: 14px; line-height: 14px; position: relative; bottom: 4px; } -#navbar strong a { - line-height: 14px; - color: #fff; - font-weight: 500; - padding-right: 12px; -} -#navbar strong a.button { padding: 4px 10px; font-weight: bold; } - -/* other zurb copied css */ -.row { max-width: 1200px; } - -div.foundation-header { margin: 0 0 40px 0; padding: 30px 0 0 0; border-bottom: solid 1px #ccc; } -div.foundation-header h1 { margin-bottom: 0; padding: 0; } -div.foundation-header h1 a { color: #181818; } -div.foundation-header h1 a:hover { color: #181818; } -div.foundation-header .subheader { margin-bottom: 9px; } - -div.highlight { margin-bottom: 12px; } - -img.beta { position: absolute; top: 0px; right: 0px; } - -/* Footer */ -footer.row { - margin-top: 80px; - border-top: solid 1px #e6e6e6; - padding-top: 20px; } -footer.row h6 { - color: #6f6f6f; - font-size: 14px; - font-size: 1.4rem; - margin-bottom: 4px; } -footer.row p { - color: #626262; - font-size: 12px; - font-size: 1.2rem; - line-height: 18px; } -footer.row a { - color: #222222; } -footer.row a:hover { - text-decoration: underline; } - - - -.row.display { background: #f4f4f4; margin-bottom: 10px; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } -.row.display .column, .row.display .columns { background: #e7e7e7; font-size: 11px; text-indent: 3px; padding-top: 6px; padding-bottom: 6px; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } - --- a/stylesheets/foundation.css +++ /dev/null @@ -1,1206 +1,1 @@ -/* Foundation v2.1.4 http://foundation.zurb.com */ -/* Artfully Masterminded by ZURB */ -/* -------------------------------------------------- - Table of Contents ------------------------------------------------------ -:: Reset & Standards -:: Links -:: Lists -:: Tables -:: Misc -*/ - - -/* -------------------------------------------------- - :: Global Reset & Standards - -------------------------------------------------- */ - - /* - Eric Meyer's CSS Reset - http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) - */ - - html, body, div, span, applet, object, iframe, - h1, h2, h3, h4, h5, h6, p, blockquote, pre, - a, abbr, acronym, address, big, cite, code, - del, dfn, em, img, ins, kbd, q, s, samp, - small, strike, strong, sub, sup, tt, var, - b, u, i, center, - dl, dt, dd, ol, ul, li, - fieldset, form, label, legend, - table, caption, tbody, tfoot, thead, tr, th, td, - article, aside, canvas, details, embed, - figure, figcaption, footer, header, hgroup, - menu, nav, output, ruby, section, summary, - time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font: inherit; - vertical-align: baseline; - } - html { - font-size: 62.5%; - } - /* HTML5 display-role reset for older browsers */ - article, aside, details, figcaption, figure, - footer, header, hgroup, menu, nav, section { - display: block; - } - body { - line-height: 1; - } - ol, ul { - list-style: none; - } - blockquote, q { - quotes: none; - } - blockquote:before, blockquote:after, - q:before, q:after { - content: ''; - content: none; - } - table { - border-collapse: collapse; - border-spacing: 0; - } - - - - body { background: #fff; font-family: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px; line-height: 18px; color: #555; position: relative; -webkit-font-smoothing: antialiased; } - - - -/* -------------------------------------------------- - :: Links - -------------------------------------------------- */ - a { color: #2a85e8; text-decoration: none; line-height: inherit; } - a:hover { color: #11639d; } - a:focus { color: #cc4714; outline: none; } - p a, p a:visited { line-height: inherit; } - - -/* -------------------------------------------------- - :: Lists - -------------------------------------------------- */ - ul, ol { margin-bottom: 18px; } - ul { list-style: none outside; } - ol { list-style: decimal; } - ol, ul.square, ul.circle, ul.disc { margin-left: 30px; } - ul.square { list-style: square outside; } - ul.circle { list-style: circle outside; } - ul.disc { list-style: disc outside; } - li { margin-bottom: 12px; } - ul.large li { line-height: 21px; } - - -/* -------------------------------------------------- - :: Tables - -------------------------------------------------- */ - table { background: #fff; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; margin: 0 0 18px; border: 1px solid #ddd; } - - table thead, table tfoot { background: #f5f5f5; } - table thead tr th, - table tfoot tr th, - table tbody tr td, - table tr td, - table tfoot tr td { font-size: 12px; line-height: 18px; text-align: left; } - table thead tr th, - table tfoot tr td { padding: 8px 10px 9px; font-size: 14px; font-weight: bold; color: #222; } - table thead tr th:first-child, table tfoot tr td:first-child { border-left: none; } - table thead tr th:last-child, table tfoot tr td:last-child { border-right: none; } - - table tbody tr.even, - table tbody tr.alt { background: #f9f9f9; } - table tbody tr:nth-child(even) { background: #f9f9f9; } - table tbody tr td { color: #333; padding: 9px 10px; vertical-align: top; border: none; } - -/* -------------------------------------------------- - :: Misc ----------------------------------------------------*/ - .left { float: left; } - .right { float: right; } - .hide { display: none; } - .highlight { background: #ff0; } - -/* Arfully Masterminded by ZURB */ - -/* -------------------------------------------------- - :: Typography - -------------------------------------------------- */ - h1, h2, h3, h4, h5, h6 { color: #181818; font-weight: bold; line-height: 1.25 } - h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; } - h1 { font-size: 46px; font-size: 4.6rem; margin-bottom: 12px;} - h2 { font-size: 35px; font-size: 3.5rem; margin-bottom: 9px; } - h3 { font-size: 28px; font-size: 2.8rem; margin-bottom: 9px; } - h4 { font-size: 21px; font-size: 2.1rem; margin-bottom: 3px; } - h5 { font-size: 18px; font-size: 1.8rem; font-weight: normal; margin-bottom: 3px; } - h6 { font-size: 15px; font-size: 1.5rem; font-weight: normal; } - - .subheader { color: #777; font-weight: 300; margin-bottom: 24px; } - - p { line-height: 17px; margin: 0 0 18px; } - p img { margin: 0; } - p.lead { font-size: 18px; font-size: 1.8rem; line-height: 24px; } - - em, i { font-style: italic; line-height: inherit; } - strong, b { font-weight: bold; line-height: inherit; } - small { font-size: 60%; line-height: inherit; } - - h1 small, h2 small, h3 small, h4 small, h5 small { color: #777; } - - /* Blockquotes */ - blockquote, blockquote p { line-height: 20px; color: #777; } - blockquote { margin: 0 0 18px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; } - blockquote cite { display: block; font-size: 12px; font-size: 1.2rem; color: #555; } - blockquote cite:before { content: "\2014 \0020"; } - blockquote cite a, blockquote cite a:visited { color: #555; } - - hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 12px 0 18px; height: 0; } - - abbr, acronym { text-transform: uppercase; font-size: 90%; color: #222; border-bottom: 1px solid #ddd; cursor: help; } - abbr { text-transform: none; } - - /** - * 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: black !important; text-shadow: none !important; filter:none !important; - -ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */ - p a, p a:visited { color: #444 !important; text-decoration: underline; } - p a[href]:after { content: " (" attr(href) ")"; } - abbr[title]:after { content: " (" attr(title) ")"; } - .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */ - pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } - thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */ - tr, img { page-break-inside: avoid; } - @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; } - } -/* Arfully Masterminded by ZURB */ - -/* -------------------------------------------------- - :: Grid - - This is the mobile-friendly, responsive grid that - lets Foundation work much of its magic. - - -------------------------------------------------- */ - - .container { padding: 0 20px; } - - .row { width: 100%; max-width: 980px; min-width: 727px; margin: 0 auto; } - /* To fix the grid into a certain size, set max-width to width */ - .row .row { min-width: 0; } - - .column, .columns { margin-left: 4.4%; float: left; min-height: 1px; position: relative; } - .column:first-child, .columns:first-child { margin-left: 0; } - - .row .one.columns { width: 4.3%; } - .row .two.columns { width: 13%; } - .row .three.columns { width: 21.68%; } - .row .four.columns { width: 30.37%; } - .row .five.columns { width: 39.1%; } - .row .six.columns { width: 47.8%; } - .row .seven.columns { width: 56.5%; } - .row .eight.columns { width: 65.2%; } - .row .nine.columns { width: 73.9%; } - .row .ten.columns { width: 82.6%; } - .row .eleven.columns { width: 91.3%; } - .row .twelve.columns { width: 100%; } - - .row .offset-by-one { margin-left: 13.1%; } - .row .offset-by-two { margin-left: 21.8%; } - .row .offset-by-three { margin-left: 30.5%; } - .row .offset-by-four { margin-left: 39.2%; } - .row .offset-by-five { margin-left: 47.9%; } - .row .offset-by-six { margin-left: 56.6%; } - .row .offset-by-seven { margin-left: 65.3%; } - .row .offset-by-eight { margin-left: 74.0%; } - .row .offset-by-nine { margin-left: 82.7%; } - .row .offset-by-ten { margin-left: 91.4%; } - - .row .centered { float: none; margin: 0 auto; } - - .row .offset-by-one:first-child { margin-left: 8.7%; } - .row .offset-by-two:first-child { margin-left: 17.4%; } - .row .offset-by-three:first-child { margin-left: 26.1%; } - .row .offset-by-four:first-child { margin-left: 34.8%; } - .row .offset-by-five:first-child { margin-left: 43.5%; } - .row .offset-by-six:first-child { margin-left: 52.2%; } - .row .offset-by-seven:first-child { margin-left: 60.9%; } - .row .offset-by-eight:first-child { margin-left: 69.6%; } - .row .offset-by-nine:first-child { margin-left: 78.3%; } - .row .offset-by-ten:first-child { margin-left: 87%; } - .row .offset-by-eleven:first-child { margin-left: 95.7%; } - - /* Source Ordering */ - .push-two { left: 17.4% } - .push-three { left: 26.1%; } - .push-four { left: 34.8%; } - .push-five { left: 43.5%; } - .push-six { left: 52.2%; } - .push-seven { left: 60.9%; } - .push-eight { left: 69.6%; } - .push-nine { left: 78.3%; } - .push-ten { left: 87%; } - - .pull-two { right: 17.4% } - .pull-three { right: 26.1%; } - .pull-four { right: 34.8%; } - .pull-five { right: 43.5%; } - .pull-six { right: 52.2%; } - .pull-seven { right: 60.9%; } - .pull-eight { right: 69.6%; } - .pull-nine { right: 78.3%; } - .pull-ten { right: 87%; } - - - - img, object, embed { max-width: 100%; height: auto; } - img { -ms-interpolation-mode: bicubic; } - - /* Nicolas Gallagher's micro clearfix */ - .row:before, .row:after, .clearfix:before, .clearfix:after { content:""; display:table; } - .row:after, .clearfix:after { clear: both; } - .row, .clearfix { zoom: 1; } - - - - -/* -------------------------------------------------- - :: Block grids - - These are 2-up, 3-up, 4-up and 5-up ULs, suited - for repeating blocks of content. Add 'mobile' to - them to switch them just like the layout grid - (one item per line) on phones - - For IE7/8 compatibility block-grid items need to be - the same height. You can optionally uncomment the - lines below to support arbitrary height, but know - that IE7/8 do not support :nth-child. - -------------------------------------------------- */ - - .block-grid { display: block; overflow: hidden; } - .block-grid>li { display: block; height: auto; float: left; } - - .block-grid.two-up { margin-left: -4% } - .block-grid.two-up>li { margin-left: 4%; width: 46%; } -/* .block-grid.two-up>li:nth-child(2n+1) {clear: left;} */ - - .block-grid.three-up { margin-left: -2% } - .block-grid.three-up>li { margin-left: 2%; width: 31.3%; } -/* .block-grid.three-up>li:nth-child(3n+1) {clear: left;} */ - - .block-grid.four-up { margin-left: -2% } - .block-grid.four-up>li { margin-left: 2%; width: 23%; } -/* .block-grid.four-up>li:nth-child(4n+1) {clear: left;} */ - - .block-grid.five-up { margin-left: -1.5% } - .block-grid.five-up>li { margin-left: 1.5%; width: 18.5%; } -/* .block-grid.five-up>li:nth-child(5n+1) {clear: left;} */ - -/* Artfully masterminded by ZURB */ - - - -/* -------------------------------------------------- - Table of Contents ------------------------------------------------------ -:: Buttons -:: Alerts -:: Notices/Alerts -:: Tabs -:: Pagination -:: Lists -:: Panels -:: Nav -:: Video -:: Microformats -*/ - - - - -/* -------------------------------------------------- - Buttons - -------------------------------------------------- */ - - .button { - background: #00a6fc; - display: inline-block; - text-align: center; - padding: 9px 34px 11px; - color: #fff; - text-decoration: none; - font-weight: bold; - line-height: 1; - font-family: "Helvetica Neue", "Helvetica", Arial, Verdana, sans-serif; - position: relative; - cursor: pointer; - border: none; - } - - /* Don't use native buttons on iOS */ - input[type=submit].button { -webkit-appearance: none; } - - .button.nice { - background: #00a6fc url(../images/misc/button-gloss.png) repeat-x 0 -34px; - -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5); - -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5); - text-shadow: 0 -1px 1px rgba(0,0,0,0.28); - background: #00a6fc url(../images/misc/button-gloss.png) repeat-x 0 -34px, -moz-linear-gradient(top, rgba(255,255,255,.4) 0%, transparent 100%); - background: #00a6fc url(../images/misc/button-gloss.png) repeat-x 0 -34px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.4)), color-stop(100%,transparent)); - border: 1px solid #0593dc; - -webkit-transition: background-color .15s ease-in-out; - -moz-transition: background-color .15s ease-in-out; - -o-transition: background-color .15s ease-in-out; - } - - .button.radius { - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - } - .button.round { - -moz-border-radius: 1000px; - -webkit-border-radius: 1000px; - border-radius: 1000px; - } - - .button.full-width { - width: 100%; - padding-left: 0 !important; - padding-right: 0 !important; - text-align: center; - } - - .button.left-align { - text-align: left; - text-indent: 12px; - } - - /* Sizes ---------- */ - .small.button { font-size: 11px; padding: 8px 20px 10px; width: auto; } - .medium.button { font-size: 13px; width: auto; } - .large.button { font-size: 18px; padding: 11px 48px 13px; width: auto; } - - /* Nice Sizes ---------- */ - .nice.small.button { background-position: 0 -36px; } - .nice.large.button { background-position: 0 -30px; } - - /* Colors ---------- */ - .blue.button { background-color: #00a6fc; } - .red.button { background-color: #e91c21; } - .white.button { background-color: #e9e9e9; color: #333; } - .black.button { background-color: #141414; } - - /* Nice Colors ---------- */ - .nice.blue.button { border: 1px solid #0593dc; } - .nice.red.button { border: 1px solid #b90b0b; } - .nice.white.button { border: 1px solid #cacaca; text-shadow: none !important; } - .nice.black.button { border: 1px solid #000; } - - /* Hovers ---------- */ - .button:hover, .button:focus { background-color: #0192dd; color: #fff; } - .blue.button:hover, .blue.button:focus { background-color: #0192dd; } - .red.button:hover, .red.button:focus { background-color: #d01217; } - .white.button:hover, .white.button:focus { background-color: #dadada; color: #333; } - .black.button:hover, .black.button:focus { background-color: #000; } - - /* Disabled ---------- */ - .button.disabled, .button[disabled] { opacity: 0.6; cursor: default; } - - - -/* -------------------------------------------------- - Alerts - -------------------------------------------------- */ - - div.alert-box { display: block; padding: 6px 7px; font-weight: bold; font-size: 13px; background: #eee; border: 1px solid rgba(0,0,0,0.1); margin-bottom: 12px; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; text-shadow: 0 1px rgba(255,255,255,0.9); position: relative; } - .alert-box.success { background-color: #7fae00; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); } - .alert-box.warning { background-color: #c08c00; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); } - .alert-box.error { background-color: #c00000; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); } - - .alert-box a.close { color: #000; position: absolute; right: 4px; top: 0; font-size: 18px; opacity: 0.2; padding: 4px; } - .alert-box a.close:hover,.alert-box a.close:focus { opacity: 0.4; } - - -/* -------------------------------------------------- - Tabs - -------------------------------------------------- */ - dl.tabs { display: block; margin: 0 0 20px 0; padding: 0; height: 30px; border-bottom: solid 1px #ddd; } - dl.tabs dt { display: block; width: auto; height: 30px; padding: 0 9px 0 20px; line-height: 30px; float: left; color: #999; font-size: 11px; text-transform: uppercase; cursor: default; } - dl.tabs dt:first-child { padding: 0 9px 0 0; } - dl.tabs dd { display: block; width: auto; height: 30px; padding: 0; float: left; } - dl.tabs dd a { display: block; width: auto; height: 29px; padding: 0 9px; line-height: 30px; border: solid 1px #ddd; margin: 0 -1px 0 0; color: #555; background: #eee; } - dl.tabs dd a.active { background: #fff; border-width: 1px 1px 0 1px; height: 30px; } - - .nice.tabs { border-bottom: solid 1px #eee; margin: 0 0 30px 0; height:43px; } - .nice.tabs dd a { padding: 7px 18px 9px; font-size: 15px; font-size: 1.5rem; color: #555555; background: none; border: none; } - .nice.tabs dd a.active { font-weight: bold; color: #333; background: #fff; border-left: 1px solid #eee; border-right: 1px solid #eee; border-top: 3px solid #00a6fc; margin: 0 10px; position: relative; top: -5px; } - .nice.tabs dd:first-child a.active { margin-left: 0; } - - dl.tabs.vertical { height: auto; } - dl.tabs.vertical dt, dl.tabs.vertical dd, dl.nice.tabs.vertical dt, dl.nice.tabs.vertical dd { float: none; height: auto; } - dl.tabs.vertical dd a { display: block; width: auto; height: auto; padding: 15px 20px; line-height: 1; border: solid 0 #ccc; border-width: 1px 1px 0; margin: 0; color: #555; background: #eee; font-size: 15px; font-size: 1.5rem; } - dl.tabs.vertical dd a.active { height: auto; margin: 0; border-width: 1px 0 0; background: #fff; } - - .nice.tabs.vertical { border-bottom: solid 1px #eee; height: auto; } - .nice.tabs.vertical dd a { padding: 15px 20px; border: none; border-left: 1px solid #eee; border-right: 1px solid #eee; border-top: 1px solid #eee; background: #fff; } - .nice.tabs.vertical dd a.active { border: none; background: #00a6fc; color: #fff; margin: 0; position: static; top: 0; height: auto; } - .nice.tabs.vertical dd:first-child a.active { margin: 0; } - - ul.tabs-content { margin: 0; display: block; } - ul.tabs-content>li { display:none; } - ul.tabs-content>li.active { display: block; } - - dl.contained, dl.nice.contained { margin-bottom: 0; } - dl.contained.tabs dd a { padding: 0 14px; } - dl.nice.contained.tabs dd a { padding: 7px 18px 9px; } - - ul.contained.tabs-content { padding: 0; } - ul.contained.tabs-content>li { padding: 20px; border: solid 0 #ddd; border-width: 0 1px 1px 1px; } - ul.nice.contained.tabs-content>li { border-color: #eee; } - -/* -------------------------------------------------- - Pagination - -------------------------------------------------- */ - ul.pagination { display: block; height: 24px; margin-left: -5px; } - ul.pagination li { float: left; display: block; height: 24px; color: #999; font-size: 15px; margin-left: 5px; } - ul.pagination li a { display: block; padding: 6px 7px 4px; color: #555; } - ul.pagination li.current a, ul.pagination li:hover a, ul.pagination li a:focus { border-bottom: solid 2px #00a6fc; color: #141414; } - ul.pagination li.unavailable a { cursor: default; color: #999; } - ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus { border-bottom: none; } - -/* -------------------------------------------------- - Lists - -------------------------------------------------- */ - ul.nice, ol.nice { list-style: none; margin: 0; } - ul.nice li, ol.nice li { padding-left: 13px; position: relative } - ul.nice li span.bullet, ol.nice li span.number { position: absolute; left: 0; top: 0; color: #ccc; } - -/* -------------------------------------------------- - Panels - -------------------------------------------------- */ - div.panel { - padding: 20px 20px 2px 20px; - background: #efefef; - background: -moz-linear-gradient(top, #FFFFFF 0%, #F4F4F4 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFFFFF), color-stop(100%,#F4F4F4)); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#F4F4F4',GradientType=0 ); - box-shadow: 0 2px 5px rgba(0,0,0,0.15); - -webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.15); - -moz-box-shadow: 0 2px 5px rgba(0,0,0,0.25); - margin: 0 0 20px 0; - } - -/* -------------------------------------------------- - Nav Bar with Dropdowns - -------------------------------------------------- */ - - .nav-bar { height: 45px; background: #fff; margin-top: 20px; border: 1px solid #ddd; } - .nav-bar>li { float: left; display: block; position: relative; padding: 0; margin: 0; border-right: 1px solid #ddd; line-height: 45px; } - .nav-bar>li>a { position: relative; font-size: 14px; padding: 0 20px; display: block; text-decoration: none; font-size: 15px; font-size: 1.5rem; } - .nav-bar>li>input { margin: 0 16px; } - .nav-bar>li ul { margin-bottom: 0; } - .nav-bar>li li { line-height: 1.3; } - .nav-bar>li.has-flyout>a { padding-right: 36px; } - .nav-bar>li.has-flyout>a:after { content: ""; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #2a85e8; display: block; position: absolute; right: 18px; bottom: 20px; } - .nav-bar>li:hover>a { color: #141414; z-index: 2; } - .nav-bar>li:hover>a:after { border-top-color: #141414; } - - .flyout { background: #fff; margin: 0; padding: 20px; border: 1px solid #ddd; position: absolute; top: 45px; left: -1px; width: 400px; z-index: 10; } - .flyout.small { width: 200px; } - .flyout.large { width: 600px; } - .flyout.right { left: auto; right: 0; } - .flyout p:last-child { margin-bottom: 0; } - .nav-bar>li .flyout { display: none; } - .nav-bar>li:hover .flyout { display: block; } - - -/* -------------------------------------------------- - Video - Mad props to http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ - -------------------------------------------------- */ - - .flex-video { - position: relative; - padding-top: 25px; - padding-bottom: 67.5%; - height: 0; - margin-bottom: 16px; - overflow: hidden; - } - - .flex-video.widescreen { padding-bottom: 57.25%; } - .flex-video.vimeo { padding-top: 0; } - - .flex-video iframe, - .flex-video object, - .flex-video embed { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } - - - -/* -------------------------------------------------- - Microformats - -------------------------------------------------- */ - - /* hCard */ - ul.vcard { display: inline-block; margin: 0 0 12px 0; border: 1px solid #ddd; padding: 10px; } - ul.vcard li { margin: 0; display: block; } - ul.vcard li.fn { font-weight: bold; font-size: 15px; font-size: 1.5rem; } - - p.vevent span.summary { font-weight: bold; } - p.vevent abbr { cursor: default; text-decoration: none; font-weight: bold; border: none; padding: 0 1px; } - - - - - -/* Artfully masterminded by ZURB - Make sure to include app.js / foundation.js if you are going to use inline label inputs -*/ - - -/* ----------------------------------------- - Standard Forms ------------------------------------------ */ - - form { margin: 0 0 18px; } - form label { display: block; font-size: 13px; line-height: 18px; cursor: pointer; margin-bottom: 9px; } - - input.input-text, textarea { border-right: 1px solid #bbb; border-bottom: 1px solid #bbb; } - input.input-text, textarea, select { display: block; margin-bottom: 9px; } - label + input.input-text, label + textarea, label + select, label + div.dropdown, select + div.dropdown { margin-top: -9px; } - - /* Text input and textarea font and padding */ - input.input-text, textarea { font-size: 13px; padding: 4px 3px 2px; background: #fff; } - input.input-text:focus, textarea:focus { outline: none !important; } - input.input-text.oversize, textarea.oversize { font-size: 18px !important; padding: 4px 5px !important; } - input.input-text:focus, textarea:focus { background: #f9f9f9; } - - /* Inlined Label Style */ - input.placeholder, textarea.placeholder { color: #888; } - - /* Text input and textarea sizes */ - input.input-text, textarea { width: 254px; } - input.small, textarea.small { width: 134px; } - input.medium, textarea.medium { width: 254px; } - input.large, textarea.large { width: 434px; } - - /* Fieldsets */ - form fieldset { padding: 9px 9px 2px 9px; border: solid 1px #ddd; margin: 18px 0; } - - /* Inlined Radio & Checkbox */ - .form-field input[type=radio], div.form-field input[type=checkbox] { display: inline; width:auto; margin-bottom:0; } - - /* Errors */ - .form-field.error input, input.input-text.red { border-color: #C00000; background-color: rgba(255,0,0,0.15); } - .form-field.error label, label.red { color: #C00000; } - .form-field.error small, small.error { margin-top: -6px; display: block; margin-bottom: 9px; font-size: 11px; color: #C00000; width: 260px; } - - .small + small.error { width: 140px; } - .medium + small.error { width: 260px; } - .large + small.error { width: 440px; } - - /* ----------------------------------------- - Nicer Forms - ----------------------------------------- */ - form.nice div.form-field input, form.nice input.input-text, form.nice textarea { border: solid 1px #bbb; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; } - form.nice div.form-field input, form.nice input.input-text, form.nice textarea { font-size: 13px; padding: 6px 3px 4px; outline: none !important; background: url(../images/misc/input-bg.png) #fff; } - form.nice div.form-field input:focus, form.nice input.input-text:focus, form.nice textarea:focus { background-color: #f9f9f9; } - - form.nice fieldset { border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } - - form.nice div.form-field input[type=radio], form.nice div.form-field input[type=checkbox] { display: inline; width:auto; margin-bottom:0; } - - form.nice div.form-field.error small, form.nice small.error { padding: 6px 4px; border: solid 0 #C00000; border-width: 0 1px 1px 1px; margin-top: -10px; background: #C00000; color: #fff; font-size: 12px; font-weight: bold; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; -webkit-border-bottom-left-radius: 2px; -webkit-border-bottom-right-radius: 2px; -moz-border-radius-bottomleft: 2px; -moz-border-radius-bottomright: 2px; } - - form.nice div.form-field.error .small + small, form.nice .small + small.error { width: 132px; } - form.nice div.form-field.error .medium + small, form.nice .medium + small.error { width: 252px; } - form.nice div.form-field.error .large + small, form.nice .large + small.error { width: 432px; } - - /* ----------------------------------------- - Custom Forms - ----------------------------------------- */ - - form.custom span.custom { display: inline-block; width: 14px; height: 14px; position: relative; top: 2px; border: solid 1px #ccc; background: url(../images/misc/custom-form-sprites.png) 0 0 no-repeat; } - form.custom span.custom.radio { border-radius: 7px; -webkit-border-radius: 7px; -moz-border-radius: 7px; } - form.custom span.custom.radio.checked { background-position: 0 -14px; } - form.custom span.custom.checkbox.checked { background-position: 0 -28px; } - - form.custom div.custom.dropdown { position: relative; display: inline-block; width: auto; height: 28px; margin-bottom: 9px; } - form.custom div.custom.dropdown a.current { display: block; width: auto; line-height: 26px; padding: 0 38px 0 6px; border: solid 1px #ddd; color: #141414; } - form.custom div.custom.dropdown a.selector { position: absolute; width: 26px; height: 26px; display: block; background: url(../images/misc/custom-form-sprites.png) -14px 0 no-repeat; right: 0; top: 0; border: solid 1px #ddd; } - form.custom div.custom.dropdown:hover a.selector, - form.custom div.custom.dropdown.open a.selector { background-position: -14px -26px; } - - form.custom div.custom.dropdown ul { position: absolute; width: auto; display: none; margin: 0; left: 0; top: 27px; margin: 0; padding: 0; background: rgba(255,255,255,0.9); border: solid 1px #ddd; z-index: 10; } - form.custom div.custom.dropdown ul li { cursor: pointer; padding: 3px 38px 3px 6px; margin: 0; white-space: nowrap} - form.custom div.custom.dropdown ul li.selected { background: url(../images/misc/custom-form-sprites.png) right -52px no-repeat; } - form.custom div.custom.dropdown ul li:hover { background-color: #2a85e8; color: #fff; } - form.custom div.custom.dropdown ul li.selected:hover { background: url(../images/misc/custom-form-sprites.png) #2a85e8 right -78px no-repeat; } - form.custom div.custom.dropdown ul.show { display: block; } - - form.custom div.custom.dropdown.open ul { display: block; } - - -/* CSS for jQuery Orbit Plugin 1.2.3 - * www.ZURB.com/playground - * Copyright 2010, ZURB - * Free to use under the MIT license. - * http://www.opensource.org/licenses/mit-license.php - - - -/* PUT IN YOUR SLIDER ID AND SIZE TO MAKE LOAD BEAUTIFULLY - ================================================== */ -#caseStudies { - width: 1000px; - height: 210px; - background: #fff url('../images/orbit/loading.gif') no-repeat center center; - overflow: hidden; } -#caseStudies>img, -#caseStudies>div, -#caseStudies>a { display: none; } - - - - -/* CONTAINER - ================================================== */ - -div.orbit-wrapper { - width: 1px; - height: 1px; - position: relative; } - -div.orbit { - width: 1px; - height: 1px; - position: relative; - overflow: hidden } - -div.orbit.with-bullets { - margin-bottom: 40px; -} - -div.orbit>img { - position: absolute; - top: 0; - left: 0; - /* display: none; */ } - -div.orbit>a { - border: none; - position: absolute; - top: 0; - left: 0; - line-height: 0; - display: none; } - -.orbit>div { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -/* Note: If your slider only uses content or anchors, you're going to want to put the width and height declarations on the ".orbit>div" and "div.orbit>a" tags in addition to just the .orbit-wrapper */ - - -/* TIMER - ================================================== */ - -div.timer { - width: 40px; - height: 40px; - overflow: hidden; - position: absolute; - top: 10px; - right: 10px; - opacity: .6; - cursor: pointer; - z-index: 1001; } - -span.rotator { - display: block; - width: 40px; - height: 40px; - position: absolute; - top: 0; - left: -20px; - background: url(../images/orbit/rotator-black.png) no-repeat; - z-index: 3; } - -span.mask { - display: block; - width: 20px; - height: 40px; - position: absolute; - top: 0; - right: 0; - z-index: 2; - overflow: hidden; } - -span.rotator.move { - left: 0 } - -span.mask.move { - width: 40px; - left: 0; - background: url(../images/orbit/timer-black.png) repeat 0 0; } - -span.pause { - display: block; - width: 40px; - height: 40px; - position: absolute; - top: 0; - left: 0; - background: url(../images/orbit/pause-black.png) no-repeat; - z-index: 4; - opacity: 0; } - -span.pause.active { - background: url(../images/orbit/pause-black.png) no-repeat 0 -40px } - -div.timer:hover span.pause, -span.pause.active { - opacity: 1 } - - -/* CAPTIONS - ================================================== */ - -.orbit-caption { - display: none; - font-family: "HelveticaNeue", "Helvetica-Neue", Helvetica, Arial, sans-serif; } - -.orbit-wrapper .orbit-caption { - background: #000; - background: rgba(0,0,0,.6); - z-index: 1000; - color: #fff; - text-align: center; - padding: 7px 0; - font-size: 13px; - position: absolute; - right: 0; - bottom: 0; - width: 100%; } - - -/* DIRECTIONAL NAV - ================================================== */ - -div.slider-nav { - display: block } - -div.slider-nav span { - width: 78px; - height: 100px; - text-indent: -9999px; - position: absolute; - z-index: 1000; - top: 50%; - margin-top: -50px; - cursor: pointer; } - -div.slider-nav span.right { - background: url(../images/orbit/right-arrow.png); - right: 0; } - -div.slider-nav span.left { - background: url(../images/orbit/left-arrow.png); - left: 0; } - -/* BULLET NAV - ================================================== */ - -.orbit-bullets { - position: absolute; - z-index: 1000; - list-style: none; - bottom: -40px; - left: 50%; - margin-left: -50px; - padding: 0; } - -.orbit-bullets li { - float: left; - margin-left: 5px; - cursor: pointer; - color: #999; - text-indent: -9999px; - background: url(../images/orbit/bullets.jpg) no-repeat 4px 0; - width: 13px; - height: 12px; - overflow: hidden; } - -.orbit-bullets li.active { - color: #222; - background-position: -8px 0; } - -.orbit-bullets li.has-thumb { - background: none; - width: 100px; - height: 75px; } - -.orbit-bullets li.active.has-thumb { - background-position: 0 0; - border-top: 2px solid #000; } - -/* FLUID LAYOUT - ================================================== */ -.orbit .fluid-placeholder { - visibility: hidden; - position: static; - display: block; - width: 100%; -} - -.orbit, .orbit-wrapper { width: 100% !important; } - -.orbit-bullets { - position: absolute; - z-index: 1000; - list-style: none; - bottom: -50px; - left: 50%; - margin-left: -50px; - padding: 0; } - -.orbit-bullets li { - float: left; - margin-left: 5px; - cursor: pointer; - color: #999; - text-indent: -9999px; - background: url(../images/orbit/bullets.jpg) no-repeat 4px 0; - width: 13px; - height: 12px; - overflow: hidden; } - -.orbit-bullets li.has-thumb { - background: none; - width: 100px; - height: 75px; } - -.orbit-bullets li.active { - color: #222; - background-position: -8px 0; } - -.orbit-bullets li.active.has-thumb { - background-position: 0 0; - border-top: 2px solid #000; } -/* -------------------------------------------------- - Reveal Modals - -------------------------------------------------- */ - - .reveal-modal-bg { - position: fixed; - height: 100%; - width: 100%; - background: #000; - z-index: 2000; - display: none; - top: 0; - left: 0; - } - - .reveal-modal { - visibility: hidden; - top: 100px; - left: 50%; - margin-left: -300px; - width: 520px; - background: #eee url(../images/misc/modal-gloss.png) no-repeat -200px -80px; - position: absolute; - z-index: 2001; - padding: 30px 40px 34px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; - -moz-box-shadow: 0 0 10px rgba(0,0,0,.4); - -webkit-box-shadow: 0 0 10px rgba(0,0,0,.4); - box-shadow: 0 0 10px rgba(0,0,0,.4); - } - - .reveal-modal.small { width: 200px; margin-left: -140px;} - .reveal-modal.medium { width: 400px; margin-left: -240px;} - .reveal-modal.large { width: 600px; margin-left: -340px;} - .reveal-modal.xlarge { width: 800px; margin-left: -440px;} - - .reveal-modal .close-reveal-modal { - font-size: 22px; - line-height: .5; - position: absolute; - top: 8px; - right: 11px; - color: #aaa; - text-shadow: 0 -1px 1px rbga(0,0,0,.6); - font-weight: bold; - cursor: pointer; - } - - .reveal-modal .row { - min-width: 0; - } - - /* Mobile */ - - @media handheld, only screen and (device-width: 768px), (device-width: 800px) { - .reveal-modal-bg { position: absolute; } - - .reveal-modal, - .reveal-modal.small, - .reveal-modal.medium, - .reveal-modal.large, - .reveal-modal.xlarge { width: 60%; top: 30%; left: 15%; margin-left: 0; padding: 5%; height: auto; } - } - - @media handheld, only screen and (max-width: 767px) { - .reveal-modal-bg { position: absolute; } - - .reveal-modal, - .reveal-modal.small, - .reveal-modal.medium, - .reveal-modal.large, - .reveal-modal.xlarge { width: 80%; top: 15%; left: 5%; margin-left: 0; padding: 5%; height: auto; } - } - - - /* - - NOTES - - Close button entity is × - - Example markup - -
    -

    Awesome. I have it.

    -

    Your couch. I it's mine.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ultrices aliquet placerat. Duis pulvinar orci et nisi euismod vitae tempus lorem consectetur. Duis at magna quis turpis mattis venenatis eget id diam.

    - × -
    - - */ -/* -------------------------------------------------- - :: Typography - -------------------------------------------------- */ - - @media handheld, only screen and (max-width: 767px) { - h1 { font-size: 32px; font-size: 3.2rem; line-height: 1.3; } - h2 { font-size: 28px; font-size: 2.8rem; line-height: 1.3; } - h3 { font-size: 21px; font-size: 2.1rem; line-height: 1.3; } - h4 { font-size: 18px; font-size: 1.8rem; line-height: 1.2; } - h5 { font-size: 16px; font-size: 1.6rem; line-height: 1.2; } - h6 { font-size: 15px; font-size: 1.5rem; line-height: 1.2; } - body, p { font-size: 15px; font-size: 1.5rem; line-height: 1.4; } - } - - -/* -------------------------------------------------- - :: Grid - -------------------------------------------------- */ - - /* Tablet screens */ - @media only screen and (device-width: 768px), (device-width: 800px) { - /* Currently unused */ - } - - - /* Mobile */ - @media only screen and (max-width: 767px) { - body { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; } - .container { min-width: 0; margin-left: 0; margin-right: 0; } - .row { width: 100%; min-width: 0; margin-left: 0; margin-right: 0; } - .row .row .column, .row .row .columns { padding: 0; } - .column, .columns { width: auto !important; float: none; margin-left: 0; margin-right: 0; } - .column:last-child, .columns:last-child { margin-right: 0; } - - .offset-by-one, .offset-by-two, .offset-by-three, .offset-by-four, .offset-by-five, .offset-by-six, .offset-by-seven, .offset-by-eight, .offset-by-nine, .offset-by-ten, .offset-by-eleven, .centered { margin-left: 0 !important; } - - .push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten { left: auto; } - .pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten { right: auto; } - - /* Mobile 4-column Grid */ - .row .phone-one.column:first-child, .row .phone-two.column:first-child, .row .phone-three.column:first-child, .row .phone-four.column:first-child, .row .phone-one.columns:first-child, .row .phone-two.columns:first-child, .row .phone-three.columns:first-child, .row .phone-four.columns:first-child { margin-left: 0; } - - .row .phone-one.column, .row .phone-two.column, .row .phone-three.column, .row .phone-four.column, - .row .phone-one.columns, .row .phone-two.columns, .row .phone-three.columns, .row .phone-four.columns { margin-left: 4.4%; float: left; min-height: 1px; position: relative; padding: 0; } - - .row .phone-one.columns { width: 21.68% !important; } - .row .phone-two.columns { width: 47.8% !important; } - .row .phone-three.columns { width: 73.9% !important; } - .row .phone-four.columns { width: 100% !important; } - - .row .columns.push-one-phone { left: 26.08%; } - .row .columns.push-two-phone { left: 52.2% } - .row .columns.push-three-phone { left: 78.3% } - - .row .columns.pull-one-phone { right: 26.08% } - .row .columns.pull-two-phone { right: 52.2% } - .row .columns.pull-three-phone { right: 78.3%; } - - - } - - -/* -------------------------------------------------- - :: Block Grids - -------------------------------------------------- */ - - @media only screen and (max-width: 767px) { - .block-grid.mobile { margin-left: 0; } - .block-grid.mobile li { float: none; width: 100%; margin-left: 0; } - } - - - -/* -------------------------------------------------- - :: Mobile Visibility Affordances ----------------------------------------------------*/ - - - .show-on-phones { display: none !important; } - .show-on-tablets { display: none !important; } - .show-on-desktops { display: block !important; } - - .hide-on-phones { display: block !important; } - .hide-on-tablets { display: block !important; } - .hide-on-desktops { display: none !important; } - - - @media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px) { - .hide-on-phones { display: block !important; } - .hide-on-tablets { display: none !important; } - .hide-on-desktops { display: block !important; } - - .show-on-phones { display: none !important; } - .show-on-tablets { display: block !important; } - .show-on-desktops { display: none !important; } - } - - - @media only screen and (max-width: 767px) { - .hide-on-phones { display: none !important; } - .hide-on-tablets { display: block !important; } - .hide-on-desktops { display: block !important; } - - .show-on-phones { display: block !important; } - .show-on-tablets { display: none !important; } - .show-on-desktops { display: none !important; } - } - - /* only screen and (device-width: 1280px), only screen and (max-device-width: 1280px), /* - /* Keeping this in as a reminder to address support for other tablet devices like the Xoom in the future */ - - /* Specific overrides for elements that require something other than display: block */ - - table.show-on-desktops { display: table !important; } - table.hide-on-phones { display: table !important; } - table.hide-on-tablets { display: table !important; } - - @media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px) { - table.hide-on-phones { display: block !important; } - table.hide-on-desktops { display: block !important; } - table.show-on-tablets { display: block !important; } - } - - @media only screen and (max-width: 767px) { - table.hide-on-tablets { display: block !important; } - table.hide-on-desktops { display: block !important; } - table.show-on-phones { display: block !important; } - } - - -/* -------------------------------------------------- - :: Forms ----------------------------------------------------*/ - - - @media only screen and (max-width: 767px) { - div.form-field input, div.form-field input.small, div.form-field input.medium, div.form-field input.large, div.form-field input.oversize, input.input-text, input.input-text.oversize, textarea, - form.nice div.form-field input, form.nice div.form-field input.oversize, form.nice input.input-text, form.nice input.input-text.oversize, form.nice textarea { display: block; width: 96%; padding: 6px 2% 4px; font-size: 18px; } - form.nice div.form-field input, form.nice div.form-field input.oversize, form.nice input.input-text, form.nice input.input-text.oversize, form.nice textarea { -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; } - form.nice div.form-field.error small, form.nice small.error { padding: 6px 2%; display: block; } - form.nice div.form-field.error .small + small, form.nice .small + .error { width: auto; } - form.nice div.form-field.error .medium + small, form.nice .medium + .error { width: auto; } - form.nice div.form-field.error .large + small, form.nice .large + .error { width: auto; } - } - - -/* -------------------------------------------------- - :: UI ----------------------------------------------------*/ - - /* Buttons */ - @media only screen and (max-width: 767px) { - .button { display: block; } - button.button { width: 100%; padding-left: 0; padding-right: 0; } - } - - /* Tabs */ - - @media only screen and (max-width: 767px) { - dl.tabs.mobile, dl.nice.tabs.mobile { width: auto; margin: 20px -20px 40px; height: auto; } - dl.tabs.mobile dt, dl.tabs.mobile dd, dl.nice.tabs.mobile dt, dl.nice.tabs.mobile dd { float: none; height: auto; } - - dl.tabs.mobile dd a { display: block; width: auto; height: auto; padding: 18px 20px; line-height: 1; border: solid 0 #ccc; border-width: 1px 0 0; margin: 0; color: #555; background: #eee; font-size: 15px; font-size: 1.5rem; } - dl.tabs.mobile dd a.active { height: auto; margin: 0; border-width: 1px 0 0; } - - .nice.tabs.mobile { border-bottom: solid 1px #ccc; height: auto; } - .nice.tabs.mobile dd a { padding: 18px 20px; border: none; border-left: none; border-right: none; border-top: 1px solid #ccc; background: #fff; } - .nice.tabs.mobile dd a.active { border: none; background: #00a6fc; color: #fff; margin: 0; position: static; top: 0; height: auto; } - .nice.tabs.mobile dd:first-child a.active { margin: 0; } - - dl.contained.mobile, dl.nice.contained.mobile { margin-bottom: 0; } - dl.contained.tabs.mobile dd a { padding: 18px 20px; } - dl.nice.contained.tabs.mobile dd a { padding: 18px 20px; } - } - - /* Nav Bar */ - - @media only screen and (max-width: 767px) { - .nav-bar { height: auto; } - .nav-bar>li { float: none; display: block; border-right: none; } - .nav-bar>li>a { text-align: left; border-top: 1px solid #ddd; border-right: none; } - .nav-bar>li:first-child>a { border-top: none; } - .nav-bar>li.has-flyout>a:after { content: ""; width: 0; height: 0; border-left: 4px solid transparent;border-right: 4px solid transparent; border-top: 4px solid #2a85e8; display: block; } - .nav-bar>li:hover>a { font-weight: bold; } - .nav-bar>li:hover ul { position: relative; } - - .flyout { position: relative; width: auto; top: auto; margin-right: -2px; border-width: 1px 1px 0px 1px; } - .flyout.right { float: none; right: auto; left: -1px; } - .flyout.small, .flyout.large { width: auto; } - .flyout p:last-child { margin-bottom: 18px; } - } - - /* Nav Bar */ - - @media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px), only screen and (max-width: 767px) { - .video { padding-top: 0; } - } - --- a/stylesheets/ie.css +++ /dev/null @@ -1,7 +1,1 @@ -/* Foundation v2.1.4 http://foundation.zurb.com */ -/* This is for all IE specfific style less than IE9. We hate IE. */ - div.panel { border: 1px solid #ccc; } - .lt-ie8 .nav-bar li.has-flyout a { padding-right: 20px; } - .lt-ie8 .nav-bar li.has-flyout a:after { border-top: none; } -