[submodule "couchdb/couchdb-lucene"] | [submodule "couchdb/couchdb-lucene"] |
path = couchdb/couchdb-lucene | path = couchdb/couchdb-lucene |
url = https://github.com/rnewson/couchdb-lucene.git | url = https://github.com/rnewson/couchdb-lucene.git |
[submodule "couchdb/settee"] | [submodule "couchdb/settee"] |
path = couchdb/settee | path = couchdb/settee |
url = https://github.com/inadarei/settee.git | url = https://github.com/inadarei/settee.git |
[submodule "lib/php-diff"] | [submodule "lib/php-diff"] |
path = lib/php-diff | path = lib/php-diff |
url = https://github.com/chrisboulton/php-diff.git | url = https://github.com/chrisboulton/php-diff.git |
[submodule "lib/Requests"] | [submodule "lib/Requests"] |
path = lib/Requests | path = lib/Requests |
url = https://github.com/rmccue/Requests.git | url = https://github.com/rmccue/Requests.git |
[submodule "javascripts/flotr2"] | [submodule "js/flotr2"] |
path = javascripts/flotr2 | path = js/flotr2 |
url = https://github.com/HumbleSoftware/Flotr2.git | url = https://github.com/HumbleSoftware/Flotr2.git |
[submodule "lib/phpquery"] | [submodule "lib/phpquery"] |
path = lib/phpquery | path = lib/phpquery |
url = https://github.com/TobiaszCudnik/phpquery.git | url = https://github.com/TobiaszCudnik/phpquery.git |
[submodule "javascripts/sigma"] | [submodule "js/sigma"] |
path = javascripts/sigma | path = js/sigma |
url = https://github.com/jacomyal/sigma.js.git | url = https://github.com/jacomyal/sigma.js.git |
[submodule "js/bubbletree"] | |
path = js/bubbletree | |
url = https://github.com/okfn/bubbletree.git | |
[submodule "lib/querypath"] | |
path = lib/querypath | |
url = https://github.com/technosophos/querypath.git | |
[submodule "lib/amon-php"] | |
path = lib/amon-php | |
url = https://github.com/martinrusev/amon-php.git | |
[submodule "documents/lib/parsedatetime"] | |
path = documents/lib/parsedatetime | |
url = git://github.com/bear/parsedatetime.git | |
<?php | <?php |
include_once('include/common.inc.php'); | include_once('include/common.inc.php'); |
include_header(); | include_header('About'); |
?> | ?> |
<div class="foundation-header"> | <div class="foundation-header"> |
<h1><a href="about.php">About/FAQ</a></h1> | <h1><a href="about.php">About/FAQ</a></h1> |
<h4 class="subheader">Lorem ipsum.</h4> | <h4 class="subheader">Lorem ipsum.</h4> |
</div> | </div> |
<h2> What is this? </h2> | <h2> What is this? </h2> |
Disclosr is a project to monitor Australian Federal Government agencies | Disclo.gs is a project to monitor Australian Federal Government agencies |
compliance with their <a href="http://www.oaic.gov.au/publications/other_operational/foi_policy_frequently_asked_questions.html#_Toc291837571">"proactive disclosure requirements"</a>. | compliance with their <a href="http://www.oaic.gov.au/publications/other_operational/foi_policy_frequently_asked_questions.html#_Toc291837571">"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/</a>. |
OGRE (Open Government Realization Evaluation) is a ranking of compliance with these requirements. | <h2> Attributions </h2> |
Prometheus is the agent which polls agency websites to assess compliance. | National Archives of Australia, Australian Governments’ Interactive Functions Thesaurus, 2nd edition, September 2005, published at http://www.naa.gov.au/recordkeeping/thesaurus/index.htm <br/> |
data.gov.au http://data.gov.au/dataset/directory-gov-au-full-data-export/ <br/> | |
directory.gov.au <br/> | |
australia.gov.au http://australia.gov.au/about/copyright <br/> | |
<h2> Open everything </h2> | <h2> Open everything </h2> |
All documents released CC-BY 3 AU | All documents released CC-BY 3 AU |
Open source git @ | Open source git @ |
<h2>Organisational Data Sources</h2> | <h2>Organisational Data Sources</h2> |
http://www.comlaw.gov.au/Browse/Results/ByTitle/AdministrativeArrangementsOrders/Current/Ad/0 defines departments | http://www.comlaw.gov.au/Browse/Results/ByTitle/AdministrativeArrangementsOrders/Current/Ad/0 defines departments |
Agencies can be found in the Schedule to an Appropriation Bill (budget), Schedule to FMA Regulations and/or Public Service Act.<br> | Agencies can be found in the Schedule to an Appropriation Bill (budget), Schedule to FMA Regulations and/or Public Service Act.<br> |
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<br> | 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<br> |
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 | 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.<br> | Some small agencies will choose to simply rely on their parent department's accountablity measures.<br> |
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. | 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. | 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.<br> | A department/agency name will be the newest active name assigned to that ABN.<br> |
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) | 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) | however it later split into "Department of Infrastructure and Transport" (same ABN) |
and "Department of Regional Australia, Regional Development and Local Government" (new ABN).<br> | and "Department of Regional Australia, Regional Development and Local Government" (new ABN).<br> |
Statistical information from http://www.apsc.gov.au/stateoftheservice/1011/statsbulletin/section1.html#t2total https://www.apsedii.gov.au/apsedii/CustomQueryx33.shtml | 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.<br> | and individual annual reports.<br> |
<h2>Webpage Assessment</h2> | <h2>Webpage Assessment</h2> |
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. | 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).<br> | 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).<br> |
Some rules about leniency:<br> | Some rules about leniency:<br> |
<ul> | <ul> |
<li>An empty FOI disclosure log counts, a page outlining what the FOI Act is does not.</li> | <li>An empty FOI disclosure log counts, a page outlining what the FOI Act is does not.</li> |
<li>A disclosure log in PDF or Word format counts :(</li> | <li>A disclosure log in PDF or Word format counts :(</li> |
<li>An empty File/Record list counts (although that's very minimalistic that you have no files, electronic or paper)</li> | <li>An empty File/Record list counts (although that's very minimalistic that you have no files, electronic or paper)</li> |
<li>Only a current information publication scheme page counts, not a s.9 FOI Act page or an organisation chart.</li> | <li>Only a current information publication scheme page counts, not a s.9 FOI Act page or an organisation chart.</li> |
<li>If there isn't a page easily listing all current and past Annual Reports, the most current one (html, pdf) counts.</li> | <li>If there isn't a page easily listing all current and past Annual Reports, the most current one (html, pdf) counts.</li> |
<li>Consultancy contracts might not need it's own webpage (if in Annual Report), grants/appointments might not apply to all organisations but Legal Services Expenditure (and all other obligations) does need a webpage. </li> | <li>Consultancy contracts might not need it's own webpage (if in Annual Report), grants/appointments might not apply to all organisations but Legal Services Expenditure (and all other obligations) does need a webpage. </li> |
<h2>Open Government Scoring</h2> | <h2>Open Government Scoring</h2> |
+1 point for every true Has... attribute<br> | +1 point for every true Has... attribute<br> |
-1 point for every false Has... (ie. Has Not) attribute</br> | -1 point for every false Has... (ie. Has Not) attribute</br> |
Don't like this? Make your own score, suggest a better scoring mechanism.</br> | Don't like this? Make your own score, suggest a better scoring mechanism.</br> |
<?php | <?php |
include_footer(); | include_footer(); |
?> | ?> |
<?php | |
include_once('include/common.inc.php'); | |
include_header('Webserver and Accessiblity'); | |
echo "<table> | |
<tr><th>name</th><th>function</th></tr>"; | |
$db = $server->get_db('disclosr-agencies'); | |
try { | |
$agencies = $db->get_view("app", "byCanonicalName", null, true)->rows; | |
if ($agencies) { | |
foreach ($agencies as $row) { | |
echo "<tr><td>" . $row->value->name . "</td>"; | |
if (isset($row->value->metaTags)) { | |
if (is_array($row->value->metaTags)) { | |
$tags =$row->value->metaTags; | |
} else { | |
$tags = object_to_array($row->value->metaTags); | |
} | |
if (isset($tags['AGLS.Function'])) { | |
echo "<td>" . $tags['AGLS.Function'] . "</td>"; | |
} | |
} | |
echo "</tr>"; | |
} | |
} | |
} catch (SetteeRestClientException $e) { | |
setteErrorHandler($e); | |
} | |
include_footer(); | |
?> | |
<?php | |
include_once('../include/common.inc.php'); | |
include_header('Fix Conflicts'); | |
require_once '../lib/php-diff/lib/Diff.php'; | |
require_once '../lib/php-diff/lib/Diff/Renderer/Html/SideBySide.php'; | |
$db = $server->get_db('disclosr-agencies'); | |
try { | |
$rows = $db->get_view("app", "getConflicts", null, true)->rows; | |
//print_r($rows); | |
foreach ($rows as $row) { | |
echo "<h2>".$row->id."</h2>"; | |
$request = Requests::get($serverAddr."disclosr-agencies/".$row->id); | |
$origSort = object_to_array(json_decode($request->body)); | |
ksort($origSort); | |
$origDoc = explode(",",json_encode($origSort)); | |
foreach($row->value as $conflictRev) { | |
$conflictURL = $serverAddr."disclosr-agencies/".$row->id."?rev=".$conflictRev; | |
$request = Requests::get($conflictURL); | |
$conflictSort = object_to_array(json_decode($request->body)); | |
ksort($conflictSort); | |
$conflictDoc = explode(",",json_encode($conflictSort)); | |
echo "curl -X DELETE ".$conflictURL."<br>".PHP_EOL; | |
// Options for generating the diff | |
$options = array( | |
//'ignoreWhitespace' => true, | |
//'ignoreCase' => true, | |
); | |
// Initialize the diff class | |
$diff = new Diff($conflictDoc, $origDoc, $options); | |
// Generate a side by side diff | |
$renderer = new Diff_Renderer_Html_SideBySide; | |
echo $diff->Render($renderer); | |
} | |
die(); | |
} | |
} catch (SetteeRestClientException $e) { | |
setteErrorHandler($e); | |
} | |
include_footer(); | |
?> | |
<?php | |
$nodes = Array(Array("id" => "gov", "label" => "Federal Government")); | |
$edges = Array(); | |
function addEdge($source, $target) { | |
global $edges; | |
$edges[] = Array("id" => md5($source . $target), "source" => $source, "target" => $target); | |
} | |
function addNode($id, $label, $pid) { | |
global $nodes; | |
$nodes[] = Array("id" => $id, "label" => $label , "pid" => $pid); | |
} | |
function addChildren($parentID, $parentXML) { | |
foreach ($parentXML as $childXML) { | |
if ($childXML->getName() == "organization" || $childXML->getName() == "organizationalUnit" || $childXML->getName() == "person") { | |
$attr = $childXML->attributes(); | |
$id = $attr['UUID']; | |
if ($childXML->getName() == "organization" || $childXML->getName() == "organizationalUnit") { | |
$label = $childXML->name; | |
} else if ($childXML->getName() == "person") { | |
$label = $childXML->fullName; | |
} | |
addNode($id, $label, $parentID); | |
addEdge($id, $parentID); | |
addChildren($id, $childXML); | |
} | |
} | |
} | |
if (file_exists('directoryexport.xml')) { | |
$xml = simplexml_load_file('directoryexport.xml'); | |
addChildren("gov", $xml); | |
} else { | |
exit('Failed to open directoryexport.xml'); | |
} | |
header('Content-Type: application/gexf+xml'); | |
echo '<?xml version="1.0" encoding="UTF-8"?> | |
<gexf xmlns="http://www.gexf.net/1.2draft" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gexf.net/1.2draft http://www.gexf.net/1.2draft/gexf.xsd" version="1.2"> | |
<graph mode="static" defaultedgetype="directed"> | |
<nodes>'; | |
foreach ($nodes as $node) { | |
echo ' <node id="' . $node['id'] . '" label="' . htmlentities($node['label'],ENT_XML1) . '" ' . (isset($node['pid']) ? 'pid="' . $node['pid'] . '"' : "") . ' />'; | |
} | |
echo '</nodes> | |
<edges>'; | |
foreach ($edges as $edge) { | |
echo ' <edge id="' . $edge['id'] . '" source="' . $edge['source'] . '" target="' . $edge['target'] . '" />'; | |
} | |
echo '</edges> | |
</graph> | |
</gexf>'; | |
?> | |
<?php | <?php |
include_once("../include/common.inc.php"); | include_once("../include/common.inc.php"); |
$format = "csv"; | $format = "csv"; |
//$format = "json"; | //$format = "json"; |
if (isset($_REQUEST['format'])) $format = $_REQUEST['format']; | if (isset($_REQUEST['format'])) $format = $_REQUEST['format']; |
setlocale(LC_CTYPE, 'C'); | setlocale(LC_CTYPE, 'C'); |
if ($format == "csv") { | if ($format == "csv") { |
$headers = Array("name"); | $headers = Array("name"); |
} else { | } else { |
$headers = Array(); | $headers = Array(); |
} | } |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
try { | try { |
$rows = $db->get_view("app", "all", null, true)->rows; | $rows = $db->get_view("app", "all", null, true)->rows; |
$dataValues = Array(); | $dataValues = Array(); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
if (isset($row->value->statistics->employees)) { | if (isset($row->value->statistics->employees)) { |
$headers = array_unique(array_merge($headers, array_keys(object_to_array($row->value->statistics->employees)))); | $headers = array_unique(array_merge($headers, array_keys(object_to_array($row->value->statistics->employees)))); |
} | } |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
$fp = fopen('php://output', 'w'); | $fp = fopen('php://output', 'w'); |
if ($fp && $db) { | if ($fp && $db) { |
if ($format == "csv") { | if ($format == "csv") { |
header('Content-Type: text/csv; charset=utf-8'); | header('Content-Type: text/csv; charset=utf-8'); |
header('Content-Disposition: attachment; filename="export.employeestats.' . date("c") . '.csv"'); | header('Content-Disposition: attachment; filename="export.employeestats.' . date("c") . '.csv"'); |
} | } |
header('Pragma: no-cache'); | header('Pragma: no-cache'); |
header('Expires: 0'); | header('Expires: 0'); |
if ($format == "csv") { | if ($format == "csv") { |
fputcsv($fp, $headers); | fputcsv($fp, $headers); |
} else if ($format == "json") { | } else if ($format == "json") { |
echo '{ | echo '{ |
"labels" : ["' . implode('","', $headers) . '"],'.PHP_EOL; | "labels" : ["' . implode('","', $headers) . '"],'.PHP_EOL; |
} | } |
try { | try { |
$agencies = $db->get_view("app", "all", null, true)->rows; | $agencies = $db->get_view("app", "all", null, true)->rows; |
//print_r($agencies); | //print_r($agencies); |
$first = true; | $first = true; |
if ($format == "json") { | if ($format == "json") { |
echo '"data" : ['.PHP_EOL; | echo '"data" : ['.PHP_EOL; |
} | } |
foreach ($agencies as $agency) { | foreach ($agencies as $agency) { |
if (isset($agency->value->statistics->employees)) { | if (isset($agency->value->statistics->employees)) { |
$row = Array(); | $row = Array(); |
$agencyEmployeesArray = object_to_array($agency->value->statistics->employees); | $agencyEmployeesArray = object_to_array($agency->value->statistics->employees); |
foreach ($headers as $i => $fieldName) { | foreach ($headers as $i => $fieldName) { |
if (isset($agencyEmployeesArray[$fieldName])) { | if (isset($agencyEmployeesArray[$fieldName])) { |
$row[] = '['.$i.','.$agencyEmployeesArray[$fieldName]["value"].']'; | $row[] = '['.$i.','.$agencyEmployeesArray[$fieldName]["value"].']'; |
} else { | } else { |
$row[] = '['.$i.',0]'; | $row[] = '['.$i.',0]'; |
} | } |
} | } |
if ($format == "csv") { | if ($format == "csv") { |
fputcsv($fp, array_values($row)); | fputcsv($fp, array_values($row)); |
} else if ($format == "json") { | } else if ($format == "json") { |
if (!$first) echo ","; | if (!$first) echo ","; |
echo '{"data" : [' . implode(",", array_values($row)) . '], "label": "'.$agency->value->name.'", "lines" : { "show" : true }, "points" : { "show" : true }}'.PHP_EOL; | echo '{"data" : [' . implode(",", array_values($row)) . '], "label": "'.$agency->value->name.'", "lines" : { "show" : true }, "points" : { "show" : true }}'.PHP_EOL; |
$first = false; | $first = false; |
} | } |
} | } |
} | } |
if ($format == "json") { | if ($format == "json") { |
echo '] | echo '] |
}'.PHP_EOL; | }'.PHP_EOL; |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
die; | die; |
} | } |
?> | ?> |
<?php | |
include_once("../include/common.inc.php"); | |
require($basePath . 'lib/phpquery/phpQuery/phpQuery.php'); | |
setlocale(LC_CTYPE, 'C'); | |
$db = $server->get_db('disclosr-agencies'); | |
try { | |
$agencies = $db->get_view("app", "byCanonicalName", null, true)->rows; | |
//print_r($rows); | |
foreach ($agencies as $agency) { | |
//echo $agency->value->name . " ".$agency->value->website."<br />\n"; | |
// print_r($agency); | |
//hasRestricitiveLicence" hasRestrictiveLicense -> has Restrictive Licence | |
// "hasYoutube" -> Tube | |
// "comment" -> "comments" | |
if (!isset($agency->value->metaTags) && isset($agency->value->website)) { | |
echo $agency->value->name . " ".$agency->value->website."<br />\n"; | |
$agency->value->metaTags = Array(); | |
$request = Requests::get($agency->value->website); | |
$html = phpQuery::newDocumentHTML($request->body); | |
phpQuery::selectDocument($html); | |
foreach (pq('meta')->elements as $meta) { | |
$tagName = $meta->getAttribute('name');; | |
$content = $meta->getAttribute('content'); | |
if ($tagName != "") { | |
echo "$tagName == $content <br>\n"; | |
$agency->value->metaTags[$tagName] = $content; | |
} | |
} | |
//print_r($agency->value->metaTags); | |
$db->save($agency->value); | |
echo "<hr>"; | |
flush(); | |
} | |
} | |
} catch (SetteeRestClientException $e) { | |
setteErrorHandler($e); | |
} | |
?> | |
<?php | <?php |
require_once '../include/common.inc.php'; | require_once '../include/common.inc.php'; |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
$rows = $db->get_view("app", "byName")->rows; | $rows = $db->get_view("app", "byName")->rows; |
$nametoid = Array(); | $nametoid = Array(); |
$sums = Array(); | $sums = Array(); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
$nametoid[trim($row->key)] = $row->value; | $nametoid[trim($row->key)] = $row->value; |
} | } |
$employeeCSVs = Array("2002-2003" => "0203apsemployees.csv", | $employeeCSVs = Array("2002-2003" => "0203apsemployees.csv", |
"2003-2004" => "0304apsemployees.csv", | "2003-2004" => "0304apsemployees.csv", |
"2004-2005" => "0405apsemployees.csv", | "2004-2005" => "0405apsemployees.csv", |
"2005-2006" => "0506apsemployees.csv", | "2005-2006" => "0506apsemployees.csv", |
"2006-2007" => "0607apsemployees.csv", | "2006-2007" => "0607apsemployees.csv", |
"2007-2008" => "0708apsemployees.csv", | "2007-2008" => "0708apsemployees.csv", |
"2008-2009" => "0809apsemployees.csv", | "2008-2009" => "0809apsemployees.csv", |
"2009-2010" => "0910apsemployees.csv", | "2009-2010" => "0910apsemployees.csv", |
"2010-2011" => "1011apsemployees.csv" | "2010-2011" => "1011apsemployees.csv" |
); | ); |
foreach ($employeeCSVs as $timePeriod => $employeeCSV) { | foreach ($employeeCSVs as $timePeriod => $employeeCSV) { |
echo $employeeCSV . "<br>" . PHP_EOL; | echo $employeeCSV . "<br>" . PHP_EOL; |
$row = 1; | $row = 1; |
if (($handle = fopen($employeeCSV, "r")) !== FALSE) { | if (($handle = fopen($employeeCSV, "r")) !== FALSE) { |
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { | while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { |
//print_r($data); | //print_r($data); |
$name = trim($data[0]); | $name = trim($data[0]); |
if (isset($nametoid[$name])) { | if (isset($nametoid[$name])) { |
$id = $nametoid[$name]; | $id = $nametoid[$name]; |
//echo $id . "<br>" . PHP_EOL; | //echo $id . "<br>" . PHP_EOL; |
@$sums[$id][$timePeriod] += $data[1]; | @$sums[$id][$timePeriod] += $data[1]; |
} else { | } else { |
echo "<br>ERROR NAME MISSING FROM ID LIST<br><bR>" . PHP_EOL; | echo "<br>ERROR NAME MISSING FROM ID LIST<br><bR>" . PHP_EOL; |
die(); | die(); |
} | } |
} | } |
fclose($handle); | fclose($handle); |
} | } |
} | } |
foreach ($sums as $id => $sum) { | foreach ($sums as $id => $sum) { |
echo $id. "<br>" . PHP_EOL; | echo $id . "<br>" . PHP_EOL; |
$doc = $db->get($id); | $doc = $db->get($id); |
// print_r($doc); | echo $doc->name . "<br>" . PHP_EOL; |
if (isset($doc->statistics)) $doc->statistics = Array(); | // print_r($doc); |
$changed = false; | |
if (!isset($doc->statistics)) { | |
$changed = true; | |
$doc->statistics = Array(); | |
} | |
foreach ($sum as $timePeriod => $value) { | foreach ($sum as $timePeriod => $value) { |
$doc->statistics["employees"][$timePeriod] = Array("value"=>$value, "source"=>"http://apsc.gov.au/stateoftheservice/"); | if (!isset($doc->statistics->employees->$timePeriod->value) |
|| $doc->statistics->employees->$timePeriod->value != $value) { | |
$changed = true; | |
$doc->statistics["employees"][$timePeriod] = Array("value" => $value, "source" => "http://apsc.gov.au/stateoftheservice/"); | |
} | |
} | } |
$db->save($doc); | if ($changed) { |
$db->save($doc); | |
} else { | |
echo "not changed" . "<br>" . PHP_EOL; | |
} | |
} | } |
// employees: timeperiod, source = apsc state of service, value | // employees: timeperiod, source = apsc state of service, value |
?> | ?> |
<?php | <?php |
require_once '../include/common.inc.php'; | require_once '../include/common.inc.php'; |
require($basePath.'lib/phpquery/phpQuery/phpQuery.php'); | require($basePath . 'lib/phpquery/phpQuery/phpQuery.php'); |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
$rows = $db->get_view("app", "byName")->rows; | $rows = $db->get_view("app", "byName")->rows; |
$nametoid = Array(); | $nametoid = Array(); |
$accounts = Array(); | $accounts = Array(); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
$nametoid[trim($row->key)] = $row->value; | $nametoid[trim($row->key)] = $row->value; |
} | } |
function extractHTMLAccounts($url, $accountType) { | function extractHTMLAccounts($url, $accountType) { |
global $accounts, $nametoid; | global $accounts, $nametoid; |
$request = Requests::get($url); | $request = Requests::get($url); |
$doc = phpQuery::newDocumentHTML($request->body); | $doc = phpQuery::newDocumentHTML($request->body); |
phpQuery::selectDocument($doc); | phpQuery::selectDocument($doc); |
foreach (pq('tr')->elements as $tr) { | foreach (pq('tr')->elements as $tr) { |
//echo $tr->nodeValue.PHP_EOL; | //echo $tr->nodeValue.PHP_EOL; |
$agency = ""; | $agency = ""; |
$url = ""; | $url = ""; |
foreach ($tr->childNodes as $td) { | foreach ($tr->childNodes as $td) { |
$class = $td->getAttribute("class"); | $class = $td->getAttribute("class"); |
//echo "cccc $class ".$td->nodeValue.PHP_EOL; | //echo "cccc $class ".$td->nodeValue.PHP_EOL; |
if ($class == "s11" || $class == "s10" || $class == "s7") { | if ($class == "s11" || $class == "s10" || $class == "s7") { |
$agency = $td->nodeValue; | $agency = $td->nodeValue; |
} else if ($class == "s6" || $class == "s9"){ | } else if ($class == "s6" || $class == "s9") { |
$url = $td->nodeValue; | $url = $td->nodeValue; |
foreach($td->childNodes as $a) { | foreach ($td->childNodes as $a) { |
$href = $a->getAttribute("href"); | $href = $a->getAttribute("href"); |
if ($href != "") { | if ($href != "") { |
$url = $href; | $url = $href; |
} | |
} | |
} | |
} | |
if ($agency != "" && $url != "") { | |
if (!in_array(trim($agency), array_keys($nametoid))) { | |
echo trim($agency)." missing" . PHP_EOL; | |
} else { | |
// echo $agency." = ".$url.PHP_EOL; | |
$accounts[$nametoid[trim($agency)]][$accountType][] = $url; | |
} | } |
} | |
} | } |
} | |
if ($agency != "" && $url != "") { | |
if (!in_array(trim($agency), array_keys($nametoid))) { | |
echo trim($agency) . " missing" . PHP_EOL; | |
} else { | |
// echo $agency." = ".$url.PHP_EOL; | |
$accounts[$nametoid[trim($agency)]][$accountType][] = $url; | |
} | |
} | |
} | } |
} | } |
function extractCSVAccounts($url, $accountType, $nameField, $accountField, $filter) { | function extractCSVAccounts($url, $accountType, $nameField, $accountField, $filter) { |
global $accounts, $nametoid; | global $accounts, $nametoid; |
$request = Requests::get($url); | $request = Requests::get($url); |
$Data = str_getcsv($request->body, "\n"); //parse the rows | $Data = str_getcsv($request->body, "\n"); //parse the rows |
$headers = Array(); | $headers = Array(); |
foreach ($Data as $num => $line) { | foreach ($Data as $num => $line) { |
$Row = str_getcsv($line, ",",'"'); | $Row = str_getcsv($line, ",", '"'); |
if ($num == 0) { | if ($num == 0) { |
} else if ($num == 1) { | } else if ($num == 1) { |
$headers = $Row; | $headers = $Row; |
//print_r($headers); | //print_r($headers); |
} else { | } else { |
if (isset($Row[array_search($nameField, $headers)])) { | if (isset($Row[array_search($nameField, $headers)])) { |
$agencyName = $Row[array_search($nameField, $headers)]; | $agencyName = $Row[array_search($nameField, $headers)]; |
if (!$filter || $Row[array_search("State", $headers)] == "NAT") { | if (!$filter || $Row[array_search("State", $headers)] == "NAT") { |
if (!in_array(trim($agencyName), array_keys($nametoid))) { | if (!in_array(trim($agencyName), array_keys($nametoid))) { |
echo trim($agencyName)." missing" . PHP_EOL; | echo trim($agencyName) . " missing" . PHP_EOL; |
} else { | } else { |
// echo $Row[array_search($nameField, $headers)] . PHP_EOL; | // echo $Row[array_search($nameField, $headers)] . PHP_EOL; |
$accounts[$nametoid[trim($agencyName)]][$accountType][] = $Row[array_search($accountField, $headers)]; | $accounts[$nametoid[trim($agencyName)]][$accountType][] = $Row[array_search($accountField, $headers)]; |
} | } |
} | } |
} else { | } else { |
//echo "error finding agency" . $line . PHP_EOL; | //echo "error finding agency" . $line . PHP_EOL; |
} | } |
} | } |
} | } |
} | } |
// http://agimo.govspace.gov.au/page/gov2register/ | // http://agimo.govspace.gov.au/page/gov2register/ |
extractCSVAccounts("https://docs.google.com/spreadsheet/pub?key=0Ap1exl80wB8OdHNKVmQ5RVlvQWpibDAxNHkzcU1nV2c&single=true&gid=0&output=csv", "Twitter", "Agency/Body/Event", "", true); | extractCSVAccounts("https://docs.google.com/spreadsheet/pub?key=0Ap1exl80wB8OdHNKVmQ5RVlvQWpibDAxNHkzcU1nV2c&single=true&gid=0&output=csv", "Twitter", "Agency/Body/Event", "", true); |
// RSS | // RSS |
extractHTMLAccounts("https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGJxandJREhLSGlWWUZfZ2xKOTNHZ0E&output=html", "RSS"); | extractHTMLAccounts("https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGJxandJREhLSGlWWUZfZ2xKOTNHZ0E&output=html", "RSS"); |
extractHTMLAccounts("https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGtjcW9vOXdyZ3pOV21vQU51VmhzQnc&single=true&gid=0&output=html", "Facebook"); | extractHTMLAccounts("https://docs.google.com/spreadsheet/pub?hl=en_GB&hl=en_GB&key=0Ah41IAK0HzSTdGtjcW9vOXdyZ3pOV21vQU51VmhzQnc&single=true&gid=0&output=html", "Facebook"); |
foreach ($accounts as $id => $accountTypes) { | |
echo $id . "<br>" . PHP_EOL; | |
$doc = object_to_array($db->get($id)); | |
// print_r($doc); | |
foreach ($accountTypes as $accountType => $accounts) { | |
if (!isset($doc["has" . $accountType]) || !is_array($doc["has" . $accountType])) { | |
$doc["has" . $accountType] = Array(); | |
} | |
$doc["has" . $accountType] = array_unique(array_merge($doc["has" . $accountType], $accounts)); | |
} | |
$db->save($doc); | |
} | |
?> | ?> |
<?php | |
require_once '../include/common.inc.php'; | |
$db = $server->get_db('disclosr-agencies'); | |
$rows = $db->get_view("app", "byName")->rows; | |
$nametoid = Array(); | |
$accounts = Array(); | |
foreach ($rows as $row) { | |
$nametoid[trim($row->key)] = $row->value; | |
} | |
function extractCSVAccounts($url, $nameField, $accountField, $filter) { | |
global $accounts, $nametoid; | |
$request = Requests::get($url); | |
echo $url; | |
$Data = str_getcsv($request->body, "\n"); //parse the rows | |
$headers = Array(); | |
foreach ($Data as $num => $line) { | |
$Row = str_getcsv($line, ","); | |
if ($num == 0) { | |
$headers = $Row; | |
print_r($headers); | |
} else { | |
if (isset($Row[array_search($nameField, $headers)])) { | |
$agencyName = $Row[array_search($nameField, $headers)]; | |
if (!in_array(trim($agencyName), array_keys($nametoid))) { | |
echo "$agencyName missing" . PHP_EOL; | |
} else { | |
echo $Row[array_search($nameField, $headers)] . PHP_EOL; | |
$accounts[$nametoid[trim($agencyName)]]["rtkURLs"][$agencyName] = 'http://www.righttoknow.org.au/body/'.$Row[array_search($accountField, $headers)]; | |
} | |
} else { | |
echo "error finding any agency" . $line . PHP_EOL; | |
} | |
} | |
} | |
} | |
extractCSVAccounts("http://www.righttoknow.org.au/body/all-authorities.csv","Agency","URL name"); | |
print_r($accounts); | |
/* foreach ($accounts as $id => $accountTypes) { | |
echo $id . "<br>" . PHP_EOL; | |
$doc = object_to_array($db->get($id)); | |
// print_r($doc); | |
foreach ($accountTypes as $accountType => $accounts) { | |
if (!isset($doc["has" . $accountType]) || !is_array($doc["has" . $accountType])) { | |
$doc["has" . $accountType] = Array(); | |
} | |
$doc["has" . $accountType] = array_unique(array_merge($doc["has" . $accountType], $accounts)); | |
} | |
$db->save($doc); | |
}*/ | |
?> | |
#http://packages.python.org/CouchDB/client.html | |
import couchdb | |
from BeautifulSoup import BeautifulSoup | |
couch = couchdb.Server('http://127.0.0.1:5984/') | |
# select database | |
docsdb = couch['disclosr-documents'] | |
for row in docsdb.view('app/getMetadataExtractRequired'): | |
print row.id | |
html = docsdb.get_attachment(row.id,row.value.iterkeys().next()).read() | |
metadata = [] | |
# http://www.crummy.com/software/BeautifulSoup/documentation.html | |
soup = BeautifulSoup(html) | |
metatags = soup.meta | |
for metatag in metatags: | |
print metatag['name'] | |
doc = docsdb.get(row.id) | |
//doc['metadata'] = metadata | |
//docsdb.save(doc) | |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | |
"http://www.w3.org/TR/html4/loose.dtd"> | |
<html> | |
<head> | |
<title>Demo of the tree layout in D3.js</title> | |
<!-- source: http://blog.pixelingene.com/demos/d3_tree/ | |
http://javadude.wordpress.com/2012/06/20/d3-js-from-tree-to-cluster-and-radial-projection/ | |
http://bl.ocks.org/1249394--> | |
<style> | |
g.node { | |
font-family: Verdana, Helvetica; | |
font-size: 12px; | |
font-weight: bold; | |
} | |
circle.node-dot { | |
fill: lightsalmon; | |
stroke: red; | |
stroke-width: 1px; | |
} | |
path.link { | |
fill: none; | |
stroke: gray; | |
} | |
</style> | |
</head> | |
<body> | |
<div id="tree-container"></div> | |
<div id="viz"></div> | |
<script type="text/javascript" src="../js/jquery-1.6.2.min.js"></script> | |
<script type="text/javascript" src="../js/d3.min.js"></script> | |
<script type="text/javascript" src="../js/d3.layout.min.js"></script> | |
<script> | |
/** | |
* Created by JetBrains RubyMine. | |
* User: pavanpodila | |
* Date: 7/17/11 | |
* Time: 4:30 PM | |
* To change this template use File | Settings | File Templates. | |
*/ | |
var treeData = | |
<?php | |
// $json = file_get_children('naa-agift.json'); | |
// $raw = json_decode($json); | |
// echo $json; | |
// print_r($raw); | |
$raw = json_decode('[ | |
"Home", | |
"index.htm", | |
[ | |
"BUSINESS SUPPORT AND REGULATION", | |
"000411.htm", | |
[ | |
"Association registration", | |
"000396.htm" | |
], | |
[ | |
"Business process auditing", | |
"000413.htm" | |
], | |
[ | |
"Business registration and licensing", | |
"000414.htm" | |
], | |
[ | |
"Business sponsorship", | |
"001371.htm" | |
], | |
[ | |
"Consumer protection", | |
"000439.htm" | |
], | |
[ | |
"Fair trading compliance", | |
"000482.htm", | |
[ | |
"Prices surveillance", | |
"000533.htm" | |
], | |
[ | |
"Product safety", | |
"000534.htm" | |
], | |
[ | |
"Trade practices compliance", | |
"000583.htm" | |
] | |
], | |
[ | |
"Financial institutions regulation", | |
"000485.htm" | |
], | |
[ | |
"Government procurement regulation", | |
"000491.htm" | |
], | |
[ | |
"Industry assistance schemes", | |
"000499.htm" | |
], | |
[ | |
"Industry development", | |
"000500.htm" | |
], | |
[ | |
"Insurance regulation", | |
"000501.htm", | |
[ | |
"General insurance", | |
"000489.htm" | |
], | |
[ | |
"Life insurance", | |
"000505.htm" | |
] | |
], | |
[ | |
"Professional accreditation", | |
"000535.htm" | |
], | |
[ | |
"Small business services", | |
"000565.htm", | |
[ | |
"Small business advocacy", | |
"000563.htm" | |
], | |
[ | |
"Small business development", | |
"000564.htm" | |
] | |
], | |
[ | |
"Stock market regulation", | |
"000572.htm" | |
] | |
], | |
[ | |
"CIVIC INFRASTRUCTURE", | |
"000424.htm", | |
[ | |
"Civic management", | |
"000425.htm", | |
[ | |
"Architectural services", | |
"000387.htm" | |
], | |
[ | |
"Building approval services", | |
"000406.htm" | |
], | |
[ | |
"Building regulations and standards", | |
"000408.htm" | |
], | |
[ | |
"Engineering services", | |
"000477.htm" | |
], | |
[ | |
"Town planning", | |
"000582.htm" | |
] | |
], | |
[ | |
"Energy supply", | |
"000476.htm" | |
], | |
[ | |
"Integrated services planning", | |
"000503.htm" | |
], | |
[ | |
"Public housing", | |
"000536.htm", | |
[ | |
"Public housing construction", | |
"000537.htm" | |
], | |
[ | |
"Public housing design", | |
"000538.htm" | |
], | |
[ | |
"Public housing maintenance", | |
"000540.htm" | |
] | |
], | |
[ | |
"Public land management", | |
"000541.htm", | |
[ | |
"Burial ground management", | |
"000410.htm" | |
], | |
[ | |
"Cultural centre management", | |
"000444.htm" | |
], | |
[ | |
"Garden management", | |
"000488.htm" | |
], | |
[ | |
"Memorial maintenance", | |
"000509.htm" | |
], | |
[ | |
"Recreational park management", | |
"000549.htm" | |
], | |
[ | |
"Sporting facilities management", | |
"000571.htm" | |
] | |
], | |
[ | |
"Regional development", | |
"000552.htm" | |
], | |
[ | |
"Transport network maintenance", | |
"000586.htm" | |
], | |
[ | |
"Waste management", | |
"001349.htm" | |
] | |
], | |
[ | |
"COMMUNICATIONS", | |
"000433.htm", | |
[ | |
"Advertising standards", | |
"000381.htm" | |
], | |
[ | |
"Broadcasting", | |
"000403.htm", | |
[ | |
"Broadcasting standards", | |
"000404.htm" | |
], | |
[ | |
"Radio broadcasting", | |
"000546.htm" | |
], | |
[ | |
"Television broadcasting", | |
"000580.htm" | |
] | |
], | |
[ | |
"Call centre administration", | |
"000417.htm" | |
], | |
[ | |
"Electronic commerce", | |
"000468.htm", | |
[ | |
"Authentication", | |
"000399.htm" | |
], | |
[ | |
"Online transaction standards", | |
"000526.htm" | |
] | |
], | |
[ | |
"Government media", | |
"000490.htm" | |
], | |
[ | |
"Information management standards", | |
"000283.htm", | |
[ | |
"Data management", | |
"000448.htm" | |
], | |
[ | |
"Information dissemination", | |
"000502.htm" | |
], | |
[ | |
"Information technology standards", | |
"000282.htm" | |
] | |
], | |
[ | |
"Media ownership regulation", | |
"000508.htm" | |
], | |
[ | |
"Postal services", | |
"000530.htm", | |
[ | |
"Courier services", | |
"000441.htm" | |
], | |
[ | |
"Electronic postal services", | |
"000469.htm" | |
], | |
[ | |
"Retail postal services", | |
"000554.htm" | |
] | |
], | |
[ | |
"Publishing", | |
"000543.htm", | |
[ | |
"Electronic publishing", | |
"000470.htm" | |
], | |
[ | |
"Publishing standards", | |
"000544.htm" | |
], | |
[ | |
"Website development", | |
"000591.htm" | |
] | |
], | |
[ | |
"Radio communication", | |
"000547.htm", | |
[ | |
"Apparatus licensing", | |
"000385.htm" | |
], | |
[ | |
"Spectrum management", | |
"000570.htm" | |
] | |
], | |
[ | |
"Satellite communication", | |
"000560.htm" | |
], | |
[ | |
"Telecommunications", | |
"000578.htm", | |
[ | |
"Carriage service providers", | |
"000420.htm" | |
], | |
[ | |
"Carrier licensing", | |
"000421.htm" | |
], | |
[ | |
"Equipment licensing", | |
"000480.htm" | |
], | |
[ | |
"Mobile telephone services", | |
"000516.htm" | |
], | |
[ | |
"Telephone services", | |
"000579.htm" | |
] | |
] | |
], | |
[ | |
"COMMUNITY SERVICES", | |
"000435.htm", | |
[ | |
"Accommodation services", | |
"000377.htm", | |
[ | |
"Defence housing", | |
"000458.htm" | |
], | |
[ | |
"Emergency accommodation", | |
"000471.htm" | |
], | |
[ | |
"Public housing entitlements", | |
"000539.htm" | |
], | |
[ | |
"Refuge support", | |
"000551.htm" | |
] | |
], | |
[ | |
"Community support", | |
"000436.htm", | |
[ | |
"Adoption services", | |
"000378.htm" | |
], | |
[ | |
"Aged care services", | |
"000382.htm" | |
], | |
[ | |
"Child and youth support", | |
"000422.htm" | |
], | |
[ | |
"Child-care services", | |
"000423.htm" | |
], | |
[ | |
"Defence community programs", | |
"000452.htm" | |
], | |
[ | |
"Family reunion programs", | |
"000483.htm" | |
], | |
[ | |
"Veterans\" entitlements", | |
"000587.htm" | |
] | |
], | |
[ | |
"Counselling services", | |
"000440.htm" | |
], | |
[ | |
"Emergency services", | |
"000474.htm", | |
[ | |
"Ambulance services", | |
"000384.htm" | |
], | |
[ | |
"Emergency funding", | |
"000472.htm" | |
], | |
[ | |
"Firefighting services", | |
"000487.htm" | |
] | |
], | |
[ | |
"Financial assistance", | |
"000484.htm", | |
[ | |
"Benefits", | |
"000402.htm" | |
], | |
[ | |
"Income support schemes", | |
"000494.htm" | |
] | |
], | |
[ | |
"Natural disasters", | |
"000521.htm", | |
[ | |
"Disaster recovery", | |
"000462.htm" | |
], | |
[ | |
"Disaster relief", | |
"000463.htm" | |
] | |
], | |
[ | |
"Rural community development", | |
"000557.htm" | |
], | |
[ | |
"Social justice and equity", | |
"000566.htm" | |
], | |
[ | |
"Transport access schemes", | |
"000901.htm" | |
] | |
], | |
[ | |
"CULTURAL AFFAIRS", | |
"000442.htm", | |
[ | |
"Arts development", | |
"000391.htm", | |
[ | |
"Arts funding", | |
"000393.htm" | |
], | |
[ | |
"Arts incentive schemes", | |
"000394.htm" | |
], | |
[ | |
"Arts promotion", | |
"000395.htm" | |
] | |
], | |
[ | |
"Collection access", | |
"000427.htm", | |
[ | |
"Descriptive standards", | |
"000461.htm" | |
], | |
[ | |
"Finding aids development", | |
"000486.htm" | |
], | |
[ | |
"Reference services", | |
"000550.htm" | |
] | |
], | |
[ | |
"Collection management", | |
"000430.htm", | |
[ | |
"Artefact export regulation", | |
"000390.htm" | |
], | |
[ | |
"Collection accessioning", | |
"000428.htm" | |
], | |
[ | |
"Collection acquisition", | |
"000429.htm" | |
], | |
[ | |
"Collection storage", | |
"000432.htm" | |
], | |
[ | |
"Preservation services", | |
"000532.htm" | |
] | |
], | |
[ | |
"Collection promotion", | |
"000431.htm", | |
[ | |
"Exhibition programs", | |
"000481.htm" | |
], | |
[ | |
"Publicity programs", | |
"000542.htm" | |
] | |
], | |
[ | |
"Cultural awards and scholarships", | |
"000443.htm" | |
], | |
[ | |
"Cultural festivals", | |
"000445.htm" | |
], | |
[ | |
"Cultural gifts programs", | |
"000446.htm" | |
], | |
[ | |
"Multicultural heritage promotion", | |
"000518.htm", | |
[ | |
"Multicultural festivals", | |
"000517.htm" | |
], | |
[ | |
"Multicultural services", | |
"000519.htm" | |
] | |
] | |
], | |
[ | |
"DEFENCE", | |
"000449.htm", | |
[ | |
"Australian Defence Forces", | |
"000397.htm", | |
[ | |
"Air Force", | |
"002266.htm" | |
], | |
[ | |
"Army", | |
"000388.htm" | |
], | |
[ | |
"Badges and insignia", | |
"000401.htm" | |
], | |
[ | |
"Cadets", | |
"000416.htm" | |
], | |
[ | |
"Defence force commands", | |
"000456.htm" | |
], | |
[ | |
"Military bands", | |
"000510.htm" | |
], | |
[ | |
"Navy", | |
"000524.htm" | |
], | |
[ | |
"Reserves", | |
"000553.htm" | |
], | |
[ | |
"Roulettes", | |
"000556.htm" | |
] | |
], | |
[ | |
"Defence estate management", | |
"000454.htm" | |
], | |
[ | |
"Defence force careers", | |
"000455.htm", | |
[ | |
"Defence career development", | |
"000450.htm" | |
], | |
[ | |
"Military employment services", | |
"000512.htm" | |
] | |
], | |
[ | |
"Defence strategic development", | |
"000574.htm", | |
[ | |
"Defence efficiency review", | |
"000453.htm" | |
], | |
[ | |
"Defence reform program", | |
"000460.htm" | |
] | |
], | |
[ | |
"Defence strategic policy", | |
"000576.htm", | |
[ | |
"Strategic decisions", | |
"000573.htm" | |
], | |
[ | |
"Strategic planning", | |
"000575.htm" | |
] | |
], | |
[ | |
"Defence strategic support", | |
"000577.htm", | |
[ | |
"Capital equipment programs", | |
"000419.htm" | |
], | |
[ | |
"Defence industry", | |
"000459.htm" | |
], | |
[ | |
"Defence science and technology", | |
"000905.htm" | |
], | |
[ | |
"Logistics", | |
"000506.htm" | |
] | |
], | |
[ | |
"Emergency management", | |
"000473.htm", | |
[ | |
"Civil community assistance", | |
"000426.htm" | |
], | |
[ | |
"Disaster support", | |
"000464.htm" | |
] | |
], | |
[ | |
"Military law", | |
"001814.htm" | |
], | |
[ | |
"Military operations", | |
"000515.htm", | |
[ | |
"Australian theatre of war", | |
"000398.htm" | |
], | |
[ | |
"Military exercises", | |
"000514.htm" | |
], | |
[ | |
"Special operations", | |
"000569.htm" | |
], | |
[ | |
"Warfare", | |
"000589.htm" | |
] | |
] | |
], | |
[ | |
"EDUCATION AND TRAINING", | |
"000467.htm", | |
[ | |
"Arts education", | |
"000392.htm" | |
], | |
[ | |
"Community education", | |
"000434.htm", | |
[ | |
"Adult education programs", | |
"000379.htm" | |
], | |
[ | |
"Adult migrant education", | |
"000380.htm" | |
], | |
[ | |
"Road safety awareness", | |
"000555.htm" | |
] | |
], | |
[ | |
"Curriculum development", | |
"000447.htm" | |
], | |
[ | |
"Early childhood education", | |
"000466.htm" | |
], | |
[ | |
"Military education and training", | |
"000511.htm", | |
[ | |
"Army reserve training", | |
"000389.htm" | |
], | |
[ | |
"Defence college training", | |
"000451.htm" | |
] | |
], | |
[ | |
"Overseas skills recognition", | |
"000527.htm" | |
], | |
[ | |
"School education", | |
"000561.htm", | |
[ | |
"Discipline programs", | |
"000465.htm" | |
], | |
[ | |
"School transport regulation", | |
"000562.htm" | |
], | |
[ | |
"Special needs programs", | |
"000568.htm" | |
] | |
], | |
[ | |
"Tertiary education", | |
"000581.htm" | |
], | |
[ | |
"Vocational education", | |
"000588.htm", | |
[ | |
"Apprenticeship programs", | |
"000386.htm" | |
], | |
[ | |
"Hospital teaching programs", | |
"000493.htm" | |
], | |
[ | |
"Trainee programs", | |
"000584.htm" | |
], | |
[ | |
"Workplace training", | |
"000595.htm" | |
] | |
] | |
], | |
[ | |
"EMPLOYMENT", | |
"000016.htm", | |
[ | |
"Human resources development", | |
"000348.htm", | |
[ | |
"Occupational health and safety", | |
"000355.htm" | |
], | |
[ | |
"Recruitment programs", | |
"000356.htm" | |
], | |
[ | |
"Termination processes", | |
"002103.htm" | |
], | |
[ | |
"Workers compensation schemes", | |
"000363.htm" | |
], | |
[ | |
"Workplace discrimination monitoring", | |
"000364.htm" | |
], | |
[ | |
"Workplace equity and justice programs", | |
"000365.htm" | |
] | |
], | |
[ | |
"Industrial awards and conditions", | |
"000349.htm", | |
[ | |
"Award conditions", | |
"000366.htm" | |
], | |
[ | |
"Remuneration review", | |
"000368.htm" | |
] | |
], | |
[ | |
"Labour market programs", | |
"000347.htm", | |
[ | |
"Employment services marketing", | |
"000351.htm" | |
], | |
[ | |
"Job placement programs", | |
"000352.htm" | |
], | |
[ | |
"Job vacancy data management", | |
"000353.htm" | |
] | |
], | |
[ | |
"Workplace agreement processes", | |
"000350.htm", | |
[ | |
"Agreement bargaining processes", | |
"002141.htm" | |
], | |
[ | |
"Agreement dispute mediation", | |
"000370.htm" | |
], | |
[ | |
"Certified employment conditions", | |
"000371.htm" | |
], | |
[ | |
"Employment advocacy services", | |
"000374.htm" | |
] | |
] | |
], | |
[ | |
"ENVIRONMENT", | |
"000478.htm", | |
[ | |
"Built environment", | |
"000409.htm", | |
[ | |
"Building acoustics", | |
"000405.htm" | |
], | |
[ | |
"Building preservation", | |
"000407.htm" | |
] | |
], | |
[ | |
"Climate information services", | |
"000203.htm" | |
], | |
[ | |
"Conservation programs", | |
"000438.htm", | |
[ | |
"Endangered species protection", | |
"000475.htm" | |
], | |
[ | |
"Landcare programs", | |
"000504.htm" | |
], | |
[ | |
"Soil preservation programs", | |
"000567.htm" | |
] | |
], | |
[ | |
"Environmental impact assessment", | |
"000479.htm" | |
], | |
[ | |
"Historic relic protection", | |
"000492.htm" | |
], | |
[ | |
"Marine life protection programs", | |
"000507.htm" | |
], | |
[ | |
"Natural heritage protection", | |
"000522.htm", | |
[ | |
"National park management", | |
"000520.htm" | |
], | |
[ | |
"Nature reserve management", | |
"000523.htm" | |
], | |
[ | |
"Wilderness area management", | |
"000593.htm" | |
], | |
[ | |
"Wildlife sanctuary management", | |
"000594.htm" | |
] | |
], | |
[ | |
"Oceans governance", | |
"000525.htm" | |
], | |
[ | |
"Pollutant prevention programs", | |
"000529.htm" | |
], | |
[ | |
"World heritage listings", | |
"000596.htm" | |
] | |
], | |
[ | |
"FINANCE MANAGEMENT", | |
"000001.htm", | |
[ | |
"Commonwealth State funding", | |
"000017.htm" | |
], | |
[ | |
"Currency", | |
"000018.htm", | |
[ | |
"Counterfeiting control", | |
"000027.htm" | |
] | |
], | |
[ | |
"Financial investment", | |
"000021.htm", | |
[ | |
"Investment scheme regulation", | |
"000031.htm" | |
] | |
], | |
[ | |
"Financial system management", | |
"002302.htm", | |
[ | |
"Financial system monitoring", | |
"002306.htm" | |
], | |
[ | |
"Payments management", | |
"002297.htm" | |
] | |
], | |
[ | |
"Fiscal policy", | |
"000022.htm", | |
[ | |
"Public borrowing", | |
"000032.htm" | |
], | |
[ | |
"Public debt", | |
"000033.htm" | |
], | |
[ | |
"Public expenditure", | |
"000034.htm" | |
] | |
], | |
[ | |
"Foreign investment control", | |
"000030.htm" | |
], | |
[ | |
"International monetary regulation", | |
"000023.htm" | |
], | |
[ | |
"Monetary policy", | |
"000020.htm", | |
[ | |
"Exchange rates", | |
"000028.htm" | |
], | |
[ | |
"Inflation", | |
"000029.htm" | |
], | |
[ | |
"Interest rates", | |
"002295.htm" | |
] | |
], | |
[ | |
"Resource management", | |
"000024.htm", | |
[ | |
"Contract management", | |
"000037.htm" | |
], | |
[ | |
"Financial administration", | |
"000035.htm" | |
], | |
[ | |
"Financial budgeting", | |
"000036.htm" | |
] | |
], | |
[ | |
"Retirement income", | |
"000025.htm", | |
[ | |
"Asset assessment", | |
"000038.htm" | |
], | |
[ | |
"Retirement saving", | |
"000039.htm" | |
], | |
[ | |
"Superannuation regulation", | |
"000040.htm" | |
] | |
], | |
[ | |
"Statistical analysis", | |
"000019.htm" | |
], | |
[ | |
"Taxation", | |
"000026.htm", | |
[ | |
"Income assessment", | |
"000041.htm" | |
], | |
[ | |
"Revenue raising", | |
"000042.htm" | |
], | |
[ | |
"Taxation compliance", | |
"000043.htm" | |
] | |
] | |
], | |
[ | |
"GOVERNANCE", | |
"000002.htm", | |
[ | |
"Civic celebrations", | |
"000046.htm" | |
], | |
[ | |
"Constitutional matters", | |
"000048.htm", | |
[ | |
"Constitutional conventions", | |
"000061.htm" | |
], | |
[ | |
"Constitutional referenda", | |
"000062.htm" | |
] | |
], | |
[ | |
"Electoral matters", | |
"000049.htm", | |
[ | |
"Declaration of interests", | |
"000063.htm" | |
], | |
[ | |
"Election campaigning", | |
"000064.htm" | |
], | |
[ | |
"Electoral boundary assessment", | |
"000065.htm" | |
] | |
], | |
[ | |
"Honours and awards programs", | |
"000050.htm" | |
], | |
[ | |
"Intergovernmental relations", | |
"000052.htm", | |
[ | |
"Cross-border cooperation", | |
"000067.htm" | |
], | |
[ | |
"Intergovernment policy dissemination", | |
"000069.htm" | |
] | |
], | |
[ | |
"Legislative drafting", | |
"000053.htm", | |
[ | |
"Draft Bill amendment process", | |
"000070.htm" | |
], | |
[ | |
"Legislation review", | |
"000071.htm" | |
], | |
[ | |
"Preparation of legislative regulations", | |
"000072.htm" | |
] | |
], | |
[ | |
"Official protocol", | |
"000054.htm", | |
[ | |
"Ceremonial events and representation", | |
"000073.htm" | |
], | |
[ | |
"Head of Government protocol", | |
"000074.htm" | |
], | |
[ | |
"Official establishment management", | |
"000075.htm" | |
], | |
[ | |
"Official hospitality", | |
"000076.htm" | |
], | |
[ | |
"Official visits", | |
"000077.htm" | |
] | |
], | |
[ | |
"Parliamentary chamber support", | |
"000045.htm", | |
[ | |
"Hansard services", | |
"000058.htm" | |
], | |
[ | |
"Parliamentary papers", | |
"000059.htm" | |
], | |
[ | |
"Tabling of official documents", | |
"000060.htm" | |
] | |
], | |
[ | |
"Parliamentary committee and member support", | |
"000047.htm" | |
], | |
[ | |
"Population census", | |
"000044.htm", | |
[ | |
"Demographic surveys", | |
"000055.htm" | |
], | |
[ | |
"Household census", | |
"000056.htm" | |
], | |
[ | |
"Population distribution analysis", | |
"000057.htm" | |
] | |
], | |
[ | |
"Public administration", | |
"002290.htm", | |
[ | |
"Government auditing", | |
"002291.htm" | |
], | |
[ | |
"Public service", | |
"002292.htm" | |
], | |
[ | |
"Territories administration", | |
"002293.htm" | |
] | |
], | |
[ | |
"Statistics", | |
"002289.htm" | |
] | |
], | |
[ | |
"HEALTH CARE", | |
"000003.htm", | |
[ | |
"Community health services", | |
"000078.htm", | |
[ | |
"Clinical health services", | |
"000087.htm" | |
], | |
[ | |
"Health promotion", | |
"000089.htm" | |
], | |
[ | |
"Primary health care", | |
"000090.htm" | |
] | |
], | |
[ | |
"Health insurance schemes", | |
"000079.htm" | |
], | |
[ | |
"Health protocol administration", | |
"000080.htm", | |
[ | |
"Drugs and poisons regulation", | |
"000091.htm" | |
], | |
[ | |
"Food hygiene regulation", | |
"000092.htm" | |
], | |
[ | |
"Practitioner discipline", | |
"000093.htm" | |
], | |
[ | |
"Practitioner registration", | |
"000095.htm" | |
] | |
], | |
[ | |
"Hospital services", | |
"000081.htm", | |
[ | |
"Hospital administration", | |
"000096.htm" | |
], | |
[ | |
"Patient care", | |
"000097.htm" | |
], | |
[ | |
"Pharmaceutical and drug support", | |
"000098.htm" | |
] | |
], | |
[ | |
"Medical research", | |
"000083.htm", | |
[ | |
"Ethical compliance", | |
"000099.htm" | |
], | |
[ | |
"Medical aids regulation", | |
"000100.htm" | |
], | |
[ | |
"Medical research funding", | |
"000101.htm" | |
], | |
[ | |
"National referral laboratory services", | |
"000102.htm" | |
], | |
[ | |
"Population-based research", | |
"000103.htm" | |
] | |
], | |
[ | |
"Public health services", | |
"000084.htm", | |
[ | |
"Epidemiology", | |
"000104.htm" | |
], | |
[ | |
"Health disaster preparedness", | |
"000106.htm" | |
], | |
[ | |
"Health hazard prevention", | |
"000105.htm" | |
], | |
[ | |
"Medical quarantine services", | |
"000108.htm" | |
], | |
[ | |
"Notifiable disease management", | |
"000109.htm" | |
] | |
], | |
[ | |
"Special needs services", | |
"000085.htm", | |
[ | |
"Dental health services", | |
"000111.htm" | |
], | |
[ | |
"Independent living services", | |
"000112.htm" | |
], | |
[ | |
"Mental health services", | |
"000113.htm" | |
], | |
[ | |
"Residential services", | |
"000114.htm" | |
] | |
], | |
[ | |
"Veterans\" health services", | |
"000086.htm" | |
] | |
], | |
[ | |
"IMMIGRATION", | |
"000004.htm", | |
[ | |
"Citizenship", | |
"000115.htm", | |
[ | |
"Naturalisation assessment", | |
"000121.htm" | |
], | |
[ | |
"Presentation arrangements", | |
"000122.htm" | |
] | |
], | |
[ | |
"Deportation", | |
"000116.htm" | |
], | |
[ | |
"Detention programs", | |
"000117.htm" | |
], | |
[ | |
"Migrant services", | |
"000118.htm", | |
[ | |
"Interpreter services", | |
"000123.htm" | |
], | |
[ | |
"Migrant accommodation services", | |
"000125.htm" | |
], | |
[ | |
"Migrant settlement programs", | |
"000126.htm" | |
] | |
], | |
[ | |
"Refugee services", | |
"000119.htm" | |
], | |
[ | |
"Travel authorisation", | |
"000120.htm", | |
[ | |
"Permanent entry arrangements", | |
"000127.htm" | |
], | |
[ | |
"Temporary entry arrangements", | |
"000128.htm" | |
] | |
] | |
], | |
[ | |
"INDIGENOUS AFFAIRS", | |
"002285.htm", | |
[ | |
"Indigenous cultural heritage", | |
"000495.htm", | |
[ | |
"Cultural artefact repatriation", | |
"001772.htm" | |
] | |
], | |
[ | |
"Indigenous enterprise development", | |
"000496.htm" | |
], | |
[ | |
"Indigenous health services", | |
"000082.htm" | |
], | |
[ | |
"Indigenous heritage conservation", | |
"000497.htm" | |
], | |
[ | |
"Indigenous reconciliation", | |
"000051.htm" | |
], | |
[ | |
"Indigenous welfare programs", | |
"000498.htm" | |
] | |
], | |
[ | |
"INTERNATIONAL RELATIONS", | |
"000005.htm", | |
[ | |
"Consular services", | |
"000129.htm" | |
], | |
[ | |
"Defence liaison", | |
"000132.htm", | |
[ | |
"Defence attach�s", | |
"000140.htm" | |
], | |
[ | |
"Defence cooperation programs", | |
"000141.htm" | |
], | |
[ | |
"Defence personnel exchanges", | |
"000142.htm" | |
], | |
[ | |
"Military advisors", | |
"000143.htm" | |
] | |
], | |
[ | |
"Diplomatic missions", | |
"000130.htm" | |
], | |
[ | |
"International affairs", | |
"000131.htm", | |
[ | |
"Disarmament and arms control", | |
"000137.htm" | |
], | |
[ | |
"Nuclear safeguards", | |
"000139.htm" | |
] | |
], | |
[ | |
"International treaties", | |
"000133.htm", | |
[ | |
"Treaty administration", | |
"001384.htm" | |
] | |
], | |
[ | |
"Overseas aid programs", | |
"000134.htm", | |
[ | |
"Development assistance programs", | |
"000146.htm" | |
], | |
[ | |
"Overseas student scholarship programs", | |
"000147.htm" | |
] | |
], | |
[ | |
"Overseas promotion", | |
"000135.htm" | |
], | |
[ | |
"Passport services", | |
"000136.htm" | |
] | |
], | |
[ | |
"JUSTICE ADMINISTRATION", | |
"000006.htm", | |
[ | |
"Administrative law", | |
"000149.htm", | |
[ | |
"Administrative decision appeal", | |
"000163.htm" | |
], | |
[ | |
"Administrative decision review", | |
"000164.htm" | |
], | |
[ | |
"Censorship standards", | |
"000165.htm" | |
], | |
[ | |
"Copyright regulation", | |
"000166.htm" | |
], | |
[ | |
"Recordkeeping standards", | |
"000167.htm" | |
] | |
], | |
[ | |
"Associations and corporate law", | |
"000150.htm", | |
[ | |
"Bankruptcy proceedings", | |
"000168.htm" | |
], | |
[ | |
"Merger regulation", | |
"000169.htm" | |
] | |
], | |
[ | |
"Civil law", | |
"000151.htm", | |
[ | |
"Civil registration", | |
"000170.htm" | |
], | |
[ | |
"Conveyancing", | |
"000171.htm" | |
], | |
[ | |
"Dispute mediation programs", | |
"000174.htm" | |
], | |
[ | |
"Family law proceedings", | |
"000172.htm" | |
], | |
[ | |
"Probate applications", | |
"000173.htm" | |
] | |
], | |
[ | |
"Commissions of inquiry", | |
"000152.htm" | |
], | |
[ | |
"Coronial law", | |
"000153.htm" | |
], | |
[ | |
"Court reporting", | |
"000154.htm" | |
], | |
[ | |
"Criminal law", | |
"000155.htm" | |
], | |
[ | |
"Human rights obligations", | |
"000156.htm" | |
], | |
[ | |
"Juvenile justice", | |
"000157.htm" | |
], | |
[ | |
"Legal aid services", | |
"000158.htm" | |
], | |
[ | |
"Local laws and ordinances", | |
"000159.htm" | |
], | |
[ | |
"Native title claims", | |
"000160.htm", | |
[ | |
"Native title mediation programs", | |
"000180.htm" | |
], | |
[ | |
"Native title settlement negotiations", | |
"000181.htm" | |
] | |
], | |
[ | |
"Privacy guideline monitoring", | |
"000161.htm" | |
], | |
[ | |
"Prosecution services", | |
"000162.htm" | |
] | |
], | |
[ | |
"MARITIME SERVICES", | |
"000007.htm", | |
[ | |
"Cargo control", | |
"000198.htm" | |
], | |
[ | |
"Harbour management", | |
"000183.htm" | |
], | |
[ | |
"Marina management", | |
"000184.htm" | |
], | |
[ | |
"Navigation", | |
"000185.htm", | |
[ | |
"Charting sea lanes", | |
"000191.htm" | |
], | |
[ | |
"Light station maintenance", | |
"000192.htm" | |
], | |
[ | |
"Navigation systems development", | |
"000193.htm" | |
] | |
], | |
[ | |
"Pilotage management", | |
"000182.htm" | |
], | |
[ | |
"Port regulation", | |
"001471.htm" | |
], | |
[ | |
"Sea passengers", | |
"001487.htm" | |
], | |
[ | |
"Search and rescue", | |
"000187.htm", | |
[ | |
"Rescue coordination", | |
"000194.htm" | |
], | |
[ | |
"Search technology development", | |
"000195.htm" | |
] | |
], | |
[ | |
"Ship personnel", | |
"000188.htm", | |
[ | |
"Personnel safety standards", | |
"000196.htm" | |
], | |
[ | |
"Pilot licensing", | |
"000197.htm" | |
] | |
], | |
[ | |
"Ship safety", | |
"000189.htm", | |
[ | |
"Seaworthiness", | |
"000201.htm" | |
], | |
[ | |
"Ship commissioning", | |
"000199.htm" | |
], | |
[ | |
"Ship inspection", | |
"000200.htm" | |
] | |
] | |
], | |
[ | |
"NATURAL RESOURCES", | |
"000009.htm", | |
[ | |
"Crown land administration", | |
"000218.htm" | |
], | |
[ | |
"Energy resources", | |
"001451.htm", | |
[ | |
"Fossil fuel management", | |
"000226.htm" | |
], | |
[ | |
"Renewable energy development", | |
"000227.htm" | |
] | |
], | |
[ | |
"Land use planning", | |
"000220.htm", | |
[ | |
"Land use zoning", | |
"001429.htm" | |
] | |
], | |
[ | |
"Land valuation", | |
"000222.htm" | |
], | |
[ | |
"Mineral resources", | |
"000223.htm", | |
[ | |
"Land rehabilitation programs", | |
"000231.htm" | |
], | |
[ | |
"Mining regulations", | |
"000232.htm" | |
] | |
], | |
[ | |
"Pollution emission control", | |
"000224.htm" | |
], | |
[ | |
"Water resources", | |
"000225.htm", | |
[ | |
"Water conservation plans", | |
"000233.htm" | |
], | |
[ | |
"Water quality monitoring", | |
"000234.htm" | |
], | |
[ | |
"Water usage management", | |
"000235.htm" | |
], | |
[ | |
"Waterway management", | |
"000236.htm" | |
] | |
] | |
], | |
[ | |
"PRIMARY INDUSTRIES", | |
"000008.htm", | |
[ | |
"Chemical and pesticide regulation", | |
"000202.htm" | |
], | |
[ | |
"Marine and rural regulation", | |
"000204.htm", | |
[ | |
"Agricultural industry", | |
"000208.htm" | |
], | |
[ | |
"Fisheries industry", | |
"000209.htm" | |
], | |
[ | |
"Food quality assurance", | |
"000213.htm" | |
], | |
[ | |
"Forestry industry", | |
"000210.htm" | |
] | |
], | |
[ | |
"Marine and rural support", | |
"000205.htm", | |
[ | |
"Aquaculture industry", | |
"000212.htm" | |
], | |
[ | |
"Horticultural industry", | |
"000214.htm" | |
], | |
[ | |
"Pastoral industry", | |
"000215.htm" | |
], | |
[ | |
"Silvicultural industry", | |
"000216.htm" | |
], | |
[ | |
"Viticultural industry", | |
"000217.htm" | |
] | |
], | |
[ | |
"Quarantine", | |
"000211.htm" | |
], | |
[ | |
"Rural field day promotion", | |
"000206.htm" | |
], | |
[ | |
"Rural partnership programs", | |
"000207.htm" | |
] | |
], | |
[ | |
"SCIENCE", | |
"000010.htm", | |
[ | |
"Agricultural sciences", | |
"000237.htm" | |
], | |
[ | |
"Animal and veterinary sciences", | |
"000238.htm" | |
], | |
[ | |
"Applied sciences", | |
"000239.htm", | |
[ | |
"Engineering and technology sciences", | |
"000246.htm" | |
], | |
[ | |
"Weights and measures standards", | |
"000247.htm" | |
] | |
], | |
[ | |
"Biological sciences", | |
"000240.htm", | |
[ | |
"Biochemistry", | |
"000248.htm" | |
], | |
[ | |
"Biodiversity preservation", | |
"000249.htm" | |
], | |
[ | |
"Biotechnology development", | |
"000250.htm" | |
], | |
[ | |
"Botany", | |
"000251.htm" | |
], | |
[ | |
"Entomology", | |
"000252.htm" | |
], | |
[ | |
"Genetic engineering", | |
"000253.htm" | |
], | |
[ | |
"Physiology", | |
"000254.htm" | |
] | |
], | |
[ | |
"Earth sciences", | |
"000241.htm", | |
[ | |
"Atmospheric sciences", | |
"000255.htm" | |
], | |
[ | |
"Hydrology", | |
"000256.htm" | |
], | |
[ | |
"Mineral exploration", | |
"000257.htm" | |
], | |
[ | |
"Oceanography", | |
"000258.htm" | |
], | |
[ | |
"Seismology", | |
"000259.htm" | |
] | |
], | |
[ | |
"Mathematical sciences", | |
"000242.htm" | |
], | |
[ | |
"Medical and health sciences", | |
"001229.htm" | |
], | |
[ | |
"Physical sciences", | |
"000244.htm", | |
[ | |
"Astronomical sciences", | |
"000260.htm" | |
], | |
[ | |
"Atomic and molecular sciences", | |
"000261.htm" | |
], | |
[ | |
"Nuclear sciences", | |
"000262.htm" | |
] | |
], | |
[ | |
"Spatial information research", | |
"000245.htm" | |
] | |
], | |
[ | |
"SECURITY", | |
"000011.htm", | |
[ | |
"Corrective services", | |
"000263.htm", | |
[ | |
"Community based corrections", | |
"000270.htm" | |
], | |
[ | |
"Detention centre management", | |
"000271.htm" | |
] | |
], | |
[ | |
"External security", | |
"000264.htm", | |
[ | |
"Peacekeeping forces", | |
"000273.htm" | |
] | |
], | |
[ | |
"Information security", | |
"000265.htm" | |
], | |
[ | |
"Intelligence", | |
"000266.htm", | |
[ | |
"Forensic analysis", | |
"000275.htm" | |
], | |
[ | |
"Intelligence liaison", | |
"001159.htm" | |
], | |
[ | |
"Intelligence support", | |
"000277.htm" | |
] | |
], | |
[ | |
"Law enforcement", | |
"000267.htm", | |
[ | |
"Community policing", | |
"000278.htm" | |
], | |
[ | |
"Criminology", | |
"000279.htm" | |
], | |
[ | |
"Police administration", | |
"000280.htm" | |
], | |
[ | |
"Protective services", | |
"000281.htm" | |
] | |
], | |
[ | |
"National security", | |
"001548.htm", | |
[ | |
"Coastal surveillance", | |
"000269.htm" | |
] | |
] | |
], | |
[ | |
"SPORT AND RECREATION", | |
"000012.htm", | |
[ | |
"Caravan and camping services", | |
"000284.htm" | |
], | |
[ | |
"Community recreational programs", | |
"000285.htm", | |
[ | |
"Gambling support services", | |
"000290.htm" | |
], | |
[ | |
"Public fitness promotion", | |
"000291.htm" | |
], | |
[ | |
"Social club support", | |
"000292.htm" | |
], | |
[ | |
"Volunteer support programs", | |
"000293.htm" | |
] | |
], | |
[ | |
"Gaming industry regulation", | |
"000286.htm" | |
], | |
[ | |
"Park and reserve services", | |
"000289.htm" | |
], | |
[ | |
"Sport and fitness development", | |
"000287.htm", | |
[ | |
"Athlete scholarship programs", | |
"000295.htm" | |
], | |
[ | |
"Fundraising and donation schemes", | |
"000296.htm" | |
], | |
[ | |
"Games administration", | |
"000297.htm" | |
], | |
[ | |
"Games promotion", | |
"000298.htm" | |
], | |
[ | |
"Sporting grants administration", | |
"000299.htm" | |
] | |
], | |
[ | |
"Sports drugs monitoring", | |
"000288.htm", | |
[ | |
"Doping detection research", | |
"000300.htm" | |
] | |
] | |
], | |
[ | |
"TOURISM", | |
"000013.htm", | |
[ | |
"Tourism industry development", | |
"000301.htm" | |
], | |
[ | |
"Tourist event promotion", | |
"000302.htm", | |
[ | |
"Advertising campaigns", | |
"000305.htm" | |
] | |
], | |
[ | |
"Travel missions", | |
"000303.htm" | |
] | |
], | |
[ | |
"TRADE", | |
"000014.htm", | |
[ | |
"Export regulation", | |
"000311.htm", | |
[ | |
"Export promotion", | |
"000320.htm" | |
], | |
[ | |
"Prohibited export control", | |
"000321.htm" | |
] | |
], | |
[ | |
"Import regulation", | |
"000312.htm", | |
[ | |
"Prohibited import control", | |
"000323.htm" | |
], | |
[ | |
"Tariff regulation", | |
"000322.htm" | |
] | |
], | |
[ | |
"Intellectual property management", | |
"000910.htm", | |
[ | |
"Copyright registration", | |
"000308.htm" | |
], | |
[ | |
"Design registration", | |
"000310.htm" | |
], | |
[ | |
"Patent registration", | |
"000315.htm" | |
], | |
[ | |
"Trademark registration", | |
"000318.htm" | |
] | |
], | |
[ | |
"International trade agreements", | |
"000313.htm" | |
], | |
[ | |
"Interstate trade agreements", | |
"000314.htm" | |
], | |
[ | |
"Trade development programs", | |
"000316.htm" | |
], | |
[ | |
"Trade expositions", | |
"000317.htm" | |
] | |
], | |
[ | |
"TRANSPORT", | |
"000015.htm", | |
[ | |
"Air transport", | |
"000324.htm", | |
[ | |
"Air transport safety", | |
"000332.htm" | |
], | |
[ | |
"Aircraft standards", | |
"000330.htm" | |
], | |
[ | |
"Airport services", | |
"000331.htm" | |
] | |
], | |
[ | |
"Freight movement regulation", | |
"000325.htm" | |
], | |
[ | |
"Passenger services", | |
"000326.htm" | |
], | |
[ | |
"Rail transport", | |
"000327.htm", | |
[ | |
"Rail harmonisation standards", | |
"000333.htm" | |
], | |
[ | |
"Rail land acquisition regulation", | |
"000336.htm" | |
], | |
[ | |
"Rail transport safety", | |
"000337.htm" | |
], | |
[ | |
"Railway maintenance", | |
"000338.htm" | |
], | |
[ | |
"Rolling stock regulation", | |
"000339.htm" | |
] | |
], | |
[ | |
"Road transport", | |
"000328.htm", | |
[ | |
"Driving licences administration", | |
"000340.htm" | |
], | |
[ | |
"Road surface maintenance", | |
"000341.htm" | |
], | |
[ | |
"Road traffic regulation", | |
"000342.htm" | |
], | |
[ | |
"Road transport safety", | |
"000343.htm" | |
], | |
[ | |
"Vehicle registration", | |
"000344.htm" | |
], | |
[ | |
"Vehicle standards", | |
"000345.htm" | |
] | |
], | |
[ | |
"Transport infrastructure development", | |
"000329.htm" | |
] | |
] | |
]'); | |
class ArrayUtil | |
{ | |
public static function FilterRecursive(Array $source, $fn) | |
{ | |
$result = array(); | |
foreach ($source as $key => $value) | |
{ | |
if (is_array($value)) | |
{ | |
$result[$key] = self::FilterRecursive($value, $fn); | |
continue; | |
} | |
if ($fn($key, $value)) | |
{ | |
$result[$key] = $value; // KEEP | |
continue; | |
} | |
} | |
return $result; | |
} | |
public static function DoRecursive(Array $source) | |
{ | |
$result = array(); | |
foreach ($source as $key => $value) | |
{ | |
if (is_array($value)) | |
{ | |
$result["children"][] = self::DoRecursive($value); | |
} else { | |
$result["name"] = $value; // KEEP | |
} | |
} | |
return $result; | |
} | |
} | |
// EXAMPLE ANONYMOUS CALLBACK FUNCTION | |
$fn = function ($key, $value) | |
{ | |
if (strpos($value, '.htm') !== FALSE) | |
{ | |
return FALSE; // DROP | |
} | |
return TRUE; // KEEP | |
}; | |
$postFilter = ArrayUtil::FilterRecursive($raw, $fn); | |
$postWrangle = ArrayUtil::DoRecursive($postFilter); | |
echo json_encode($postWrangle); | |
?> | |
; | |
// Create a svg canvas | |
var vis = d3.select("#viz").append("svg:svg") | |
.attr("width", 1400) | |
.attr("height", 1400) | |
.append("svg:g") | |
.attr("transform", "translate(450, 450)"); | |
// Create a cluster "canvas" | |
var cluster = d3.layout.cluster() | |
.size([500,500]); | |
var diagonal = d3.svg.diagonal.radial() | |
.projection(function(d) { return [d.y, d.x / 180 * Math.PI]; }); | |
var nodes = cluster.nodes(treeData); | |
var links = cluster.links(nodes); | |
var link = vis.selectAll("pathlink") | |
.data(links) | |
.enter().append("svg:path") | |
.attr("class", "link") | |
.attr("d", diagonal) | |
var node = vis.selectAll("g.node") | |
.data(nodes) | |
.enter().append("svg:g") | |
.attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + d.y + ")"; }) | |
// Add the dot at every node | |
node.append("svg:circle") | |
.attr("r", 3.5); | |
node.append("svg:text") | |
.attr("dx", function(d) { return d.x < 180 ? 8 : -8; }) | |
.attr("dy", ".31em") | |
.attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; }) | |
.attr("transform", function(d) { return d.x < 180 ? null : "rotate(180)"; }) | |
.text(function(d) { return d.name; }); | |
// alt | |
function visit(parent, visitFn, childrenFn) | |
{ | |
if (!parent) return; | |
visitFn(parent); | |
var children = childrenFn(parent); | |
if (children) { | |
var count = children.length; | |
for (var i = 0; i < count; i++) { | |
visit(children[i], visitFn, childrenFn); | |
} | |
} | |
} | |
function buildTree(containerName, customOptions) | |
{ | |
// build the options object | |
var options = $.extend({ | |
nodeRadius: 5, fontSize: 12 | |
}, customOptions); | |
// Calculate total nodes, max label length | |
var totalNodes = 0; | |
var maxLabelLength = 0; | |
visit(treeData, function(d) | |
{ | |
totalNodes++; | |
maxLabelLength = Math.max(d.name.length, maxLabelLength); | |
}, function(d) | |
{ | |
return d.children && d.children.length > 0 ? d.children : null; | |
}); | |
// size of the diagram | |
var size = { width:$(containerName).outerWidth(), height: totalNodes * 15}; | |
var tree = d3.layout.tree() | |
.sort(null) | |
.size([size.height, size.width - maxLabelLength*options.fontSize]) | |
.children(function(d) | |
{ | |
return (!d.children || d.children.length === 0) ? null : d.children; | |
}); | |
var nodes = tree.nodes(treeData); | |
var links = tree.links(nodes); | |
/* | |
<svg> | |
<g class="container" /> | |
</svg> | |
*/ | |
var layoutRoot = d3.select(containerName) | |
.append("svg:svg").attr("width", size.width).attr("height", size.height) | |
.append("svg:g") | |
.attr("class", "container") | |
.attr("transform", "translate(" + maxLabelLength + ",0)"); | |
// Edges between nodes as a <path class="link" /> | |
var link = d3.svg.diagonal() | |
.projection(function(d) | |
{ | |
return [d.y, d.x]; | |
}); | |
layoutRoot.selectAll("path.link") | |
.data(links) | |
.enter() | |
.append("svg:path") | |
.attr("class", "link") | |
.attr("d", link); | |
/* | |
Nodes as | |
<g class="node"> | |
<circle class="node-dot" /> | |
<text /> | |
</g> | |
*/ | |
var nodeGroup = layoutRoot.selectAll("g.node") | |
.data(nodes) | |
.enter() | |
.append("svg:g") | |
.attr("class", "node") | |
.attr("transform", function(d) | |
{ | |
return "translate(" + d.y + "," + d.x + ")"; | |
}); | |
nodeGroup.append("svg:circle") | |
.attr("class", "node-dot") | |
.attr("r", options.nodeRadius); | |
nodeGroup.append("svg:text") | |
.attr("text-anchor", function(d) | |
{ | |
return d.children ? "end" : "start"; | |
}) | |
.attr("dx", function(d) | |
{ | |
var gap = 2 * options.nodeRadius; | |
return d.children ? -gap : gap; | |
}) | |
.attr("dy", 3) | |
.text(function(d) | |
{ | |
return d.name; | |
}); | |
} | |
$(function(){ | |
buildTree("#tree-container"); | |
}); | |
</script> | |
</body> | |
</html> |
Binary files /dev/null and b/admin/naa-agift.7z differ
[ | |
"Home", | |
"index.htm", | |
[ | |
"BUSINESS SUPPORT AND REGULATION", | |
"000411.htm", | |
[ | |
"Association registration", | |
"000396.htm" | |
], | |
[ | |
"Business process auditing", | |
"000413.htm" | |
], | |
[ | |
"Business registration and licensing", | |
"000414.htm" | |
], | |
[ | |
"Business sponsorship", | |
"001371.htm" | |
], | |
[ | |
"Consumer protection", | |
"000439.htm" | |
], | |
[ | |
"Fair trading compliance", | |
"000482.htm", | |
[ | |
"Prices surveillance", | |
"000533.htm" | |
], | |
[ | |
"Product safety", | |
"000534.htm" | |
], | |
[ | |
"Trade practices compliance", | |
"000583.htm" | |
] | |
], | |
[ | |
"Financial institutions regulation", | |
"000485.htm" | |
], | |
[ | |
"Government procurement regulation", | |
"000491.htm" | |
], | |
[ | |
"Industry assistance schemes", | |
"000499.htm" | |
], | |
[ | |
"Industry development", | |
"000500.htm" | |
], | |
[ | |
"Insurance regulation", | |
"000501.htm", | |
[ | |
"General insurance", | |
"000489.htm" | |
], | |
[ | |
"Life insurance", | |
"000505.htm" | |
] | |
], | |
[ | |
"Professional accreditation", | |
"000535.htm" | |
], | |
[ | |
"Small business services", | |
"000565.htm", | |
[ | |
"Small business advocacy", | |
"000563.htm" | |
], | |
[ | |
"Small business development", | |
"000564.htm" | |
] | |
], | |
[ | |
"Stock market regulation", | |
"000572.htm" | |
] | |
], | |
[ | |
"CIVIC INFRASTRUCTURE", | |
"000424.htm", | |
[ | |
"Civic management", | |
"000425.htm", | |
[ | |
"Architectural services", | |
"000387.htm" | |
], | |
[ | |
"Building approval services", | |
"000406.htm" | |
], | |
[ | |
"Building regulations and standards", | |
"000408.htm" | |
], | |
[ | |
"Engineering services", | |
"000477.htm" | |
], | |
[ | |
"Town planning", | |
"000582.htm" | |
] | |
], | |
[ | |
"Energy supply", | |
"000476.htm" | |
], | |
[ | |
"Integrated services planning", | |
"000503.htm" | |
], | |
[ | |
"Public housing", | |
"000536.htm", | |
[ | |
"Public housing construction", | |
"000537.htm" | |
], | |
[ | |
"Public housing design", | |
"000538.htm" | |
], | |
[ | |
"Public housing maintenance", | |
"000540.htm" | |
] | |
], | |
[ | |
"Public land management", | |
"000541.htm", | |
[ | |
"Burial ground management", | |
"000410.htm" | |
], | |
[ | |
"Cultural centre management", | |
"000444.htm" | |
], | |
[ | |
"Garden management", | |
"000488.htm" | |
], | |
[ | |
"Memorial maintenance", | |
"000509.htm" | |
], | |
[ | |
"Recreational park management", | |
"000549.htm" | |
], | |
[ | |
"Sporting facilities management", | |
"000571.htm" | |
] | |
], | |
[ | |
"Regional development", | |
"000552.htm" | |
], | |
[ | |
"Transport network maintenance", | |
"000586.htm" | |
], | |
[ | |
"Waste management", | |
"001349.htm" | |
] | |
], | |
[ | |
"COMMUNICATIONS", | |
"000433.htm", | |
[ | |
"Advertising standards", | |
"000381.htm" | |
], | |
[ | |
"Broadcasting", | |
"000403.htm", | |
[ | |
"Broadcasting standards", | |
"000404.htm" | |
], | |
[ | |
"Radio broadcasting", | |
"000546.htm" | |
], | |
[ | |
"Television broadcasting", | |
"000580.htm" | |
] | |
], | |
[ | |
"Call centre administration", | |
"000417.htm" | |
], | |
[ | |
"Electronic commerce", | |
"000468.htm", | |
[ | |
"Authentication", | |
"000399.htm" | |
], | |
[ | |
"Online transaction standards", | |
"000526.htm" | |
] | |
], | |
[ | |
"Government media", | |
"000490.htm" | |
], | |
[ | |
"Information management standards", | |
"000283.htm", | |
[ | |
"Data management", | |
"000448.htm" | |
], | |
[ | |
"Information dissemination", | |
"000502.htm" | |
], | |
[ | |
"Information technology standards", | |
"000282.htm" | |
] | |
], | |
[ | |
"Media ownership regulation", | |
"000508.htm" | |
], | |
[ | |
"Postal services", | |
"000530.htm", | |
[ | |
"Courier services", | |
"000441.htm" | |
], | |
[ | |
"Electronic postal services", | |
"000469.htm" | |
], | |
[ | |
"Retail postal services", | |
"000554.htm" | |
] | |
], | |
[ | |
"Publishing", | |
"000543.htm", | |
[ | |
"Electronic publishing", | |
"000470.htm" | |
], | |
[ | |
"Publishing standards", | |
"000544.htm" | |
], | |
[ | |
"Website development", | |
"000591.htm" | |
] | |
], | |
[ | |
"Radio communication", | |
"000547.htm", | |
[ | |
"Apparatus licensing", | |
"000385.htm" | |
], | |
[ | |
"Spectrum management", | |
"000570.htm" | |
] | |
], | |
[ | |
"Satellite communication", | |
"000560.htm" | |
], | |
[ | |
"Telecommunications", | |
"000578.htm", | |
[ | |
"Carriage service providers", | |
"000420.htm" | |
], | |
[ | |
"Carrier licensing", | |
"000421.htm" | |
], | |
[ | |
"Equipment licensing", | |
"000480.htm" | |
], | |
[ | |
"Mobile telephone services", | |
"000516.htm" | |
], | |
[ | |
"Telephone services", | |
"000579.htm" | |
] | |
] | |
], | |
[ | |
"COMMUNITY SERVICES", | |
"000435.htm", | |
[ | |
"Accommodation services", | |
"000377.htm", | |
[ | |
"Defence housing", | |
"000458.htm" | |
], | |
[ | |
"Emergency accommodation", | |
"000471.htm" | |
], | |
[ | |
"Public housing entitlements", | |
"000539.htm" | |
], | |
[ | |
"Refuge support", | |
"000551.htm" | |
] | |
], | |
[ | |
"Community support", | |
"000436.htm", | |
[ | |
"Adoption services", | |
"000378.htm" | |
], | |
[ | |
"Aged care services", | |
"000382.htm" | |
], | |
[ | |
"Child and youth support", | |
"000422.htm" | |
], | |
[ | |
"Child-care services", | |
"000423.htm" | |
], | |
[ | |
"Defence community programs", | |
"000452.htm" | |
], | |
[ | |
"Family reunion programs", | |
"000483.htm" | |
], | |
[ | |
"Veterans\" entitlements", | |
"000587.htm" | |
] | |
], | |
[ | |
"Counselling services", | |
"000440.htm" | |
], | |
[ | |
"Emergency services", | |
"000474.htm", | |
[ | |
"Ambulance services", | |
"000384.htm" | |
], | |
[ | |
"Emergency funding", | |
"000472.htm" | |
], | |
[ | |
"Firefighting services", | |
"000487.htm" | |
] | |
], | |
[ | |
"Financial assistance", | |
"000484.htm", | |
[ | |
"Benefits", | |
"000402.htm" | |
], | |
[ | |
"Income support schemes", | |
"000494.htm" | |
] | |
], | |
[ | |
"Natural disasters", | |
"000521.htm", | |
[ | |
"Disaster recovery", | |
"000462.htm" | |
], | |
[ | |
"Disaster relief", | |
"000463.htm" | |
] | |
], | |
[ | |
"Rural community development", | |
"000557.htm" | |
], | |
[ | |
"Social justice and equity", | |
"000566.htm" | |
], | |
[ | |
"Transport access schemes", | |
"000901.htm" | |
] | |
], | |
[ | |
"CULTURAL AFFAIRS", | |
"000442.htm", | |
[ | |
"Arts development", | |
"000391.htm", | |
[ | |
"Arts funding", | |
"000393.htm" | |
], | |
[ | |
"Arts incentive schemes", | |
"000394.htm" | |
], | |
[ | |
"Arts promotion", | |
"000395.htm" | |
] | |
], | |
[ | |
"Collection access", | |
"000427.htm", | |
[ | |
"Descriptive standards", | |
"000461.htm" | |
], | |
[ | |
"Finding aids development", | |
"000486.htm" | |
], | |
[ | |
"Reference services", | |
"000550.htm" | |
] | |
], | |
[ | |
"Collection management", | |
"000430.htm", | |
[ | |
"Artefact export regulation", | |
"000390.htm" | |
], | |
[ | |
"Collection accessioning", | |
"000428.htm" | |
], | |
[ | |
"Collection acquisition", | |
"000429.htm" | |
], | |
[ | |
"Collection storage", | |
"000432.htm" | |
], | |
[ | |
"Preservation services", | |
"000532.htm" | |
] | |
], | |
[ | |
"Collection promotion", | |
"000431.htm", | |
[ | |
"Exhibition programs", | |
"000481.htm" | |
], | |
[ | |
"Publicity programs", | |
"000542.htm" | |
] | |
], | |
[ | |
"Cultural awards and scholarships", | |
"000443.htm" | |
], | |
[ | |
"Cultural festivals", | |
"000445.htm" | |
], | |
[ | |
"Cultural gifts programs", | |
"000446.htm" | |
], | |
[ | |
"Multicultural heritage promotion", | |
"000518.htm", | |
[ | |
"Multicultural festivals", | |
"000517.htm" | |
], | |
[ | |
"Multicultural services", | |
"000519.htm" | |
] | |
] | |
], | |
[ | |
"DEFENCE", | |
"000449.htm", | |
[ | |
"Australian Defence Forces", | |
"000397.htm", | |
[ | |
"Air Force", | |
"002266.htm" | |
], | |
[ | |
"Army", | |
"000388.htm" | |
], | |
[ | |
"Badges and insignia", | |
"000401.htm" | |
], | |
[ | |
"Cadets", | |
"000416.htm" | |
], | |
[ | |
"Defence force commands", | |
"000456.htm" | |
], | |
[ | |
"Military bands", | |
"000510.htm" | |
], | |
[ | |
"Navy", | |
"000524.htm" | |
], | |
[ | |
"Reserves", | |
"000553.htm" | |
], | |
[ | |
"Roulettes", | |
"000556.htm" | |
] | |
], | |
[ | |
"Defence estate management", | |
"000454.htm" | |
], | |
[ | |
"Defence force careers", | |
"000455.htm", | |
[ | |
"Defence career development", | |
"000450.htm" | |
], | |
[ | |
"Military employment services", | |
"000512.htm" | |
] | |
], | |
[ | |
"Defence strategic development", | |
"000574.htm", | |
[ | |
"Defence efficiency review", | |
"000453.htm" | |
], | |
[ | |
"Defence reform program", | |
"000460.htm" | |
] | |
], | |
[ | |
"Defence strategic policy", | |
"000576.htm", | |
[ | |
"Strategic decisions", | |
"000573.htm" | |
], | |
[ | |
"Strategic planning", | |
"000575.htm" | |
] | |
], | |
[ | |
"Defence strategic support", | |
"000577.htm", | |
[ | |
"Capital equipment programs", | |
"000419.htm" | |
], | |
[ | |
"Defence industry", | |
"000459.htm" | |
], | |
[ | |
"Defence science and technology", | |
"000905.htm" | |
], | |
[ | |
"Logistics", | |
"000506.htm" | |
] | |
], | |
[ | |
"Emergency management", | |
"000473.htm", | |
[ | |
"Civil community assistance", | |
"000426.htm" | |
], | |
[ | |
"Disaster support", | |
"000464.htm" | |
] | |
], | |
[ | |
"Military law", | |
"001814.htm" | |
], | |
[ | |
"Military operations", | |
"000515.htm", | |
[ | |
"Australian theatre of war", | |
"000398.htm" | |
], | |
[ | |
"Military exercises", | |
"000514.htm" | |
], | |
[ | |
"Special operations", | |
"000569.htm" | |
], | |
[ | |
"Warfare", | |
"000589.htm" | |
] | |
] | |
], | |
[ | |
"EDUCATION AND TRAINING", | |
"000467.htm", | |
[ | |
"Arts education", | |
"000392.htm" | |
], | |
[ | |
"Community education", | |
"000434.htm", | |
[ | |
"Adult education programs", | |
"000379.htm" | |
], | |
[ | |
"Adult migrant education", | |
"000380.htm" | |
], | |
[ | |
"Road safety awareness", | |
"000555.htm" | |
] | |
], | |
[ | |
"Curriculum development", | |
"000447.htm" | |
], | |
[ | |
"Early childhood education", | |
"000466.htm" | |
], | |
[ | |
"Military education and training", | |
"000511.htm", | |
[ | |
"Army reserve training", | |
"000389.htm" | |
], | |
[ | |
"Defence college training", | |
"000451.htm" | |
] | |
], | |
[ | |
"Overseas skills recognition", | |
"000527.htm" | |
], | |
[ | |
"School education", | |
"000561.htm", | |
[ | |
"Discipline programs", | |
"000465.htm" | |
], | |
[ | |
"School transport regulation", | |
"000562.htm" | |
], | |
[ | |
"Special needs programs", | |
"000568.htm" | |
] | |
], | |
[ | |
"Tertiary education", | |
"000581.htm" | |
], | |
[ | |
"Vocational education", | |
"000588.htm", | |
[ | |
"Apprenticeship programs", | |
"000386.htm" | |
], | |
[ | |
"Hospital teaching programs", | |
"000493.htm" | |
], | |
[ | |
"Trainee programs", | |
"000584.htm" | |
], | |
[ | |
"Workplace training", | |
"000595.htm" | |
] | |
] | |
], | |
[ | |
"EMPLOYMENT", | |
"000016.htm", | |
[ | |
"Human resources development", | |
"000348.htm", | |
[ | |
"Occupational health and safety", | |
"000355.htm" | |
], | |
[ | |
"Recruitment programs", | |
"000356.htm" | |
], | |
[ | |
"Termination processes", | |
"002103.htm" | |
], | |
[ | |
"Workers compensation schemes", | |
"000363.htm" | |
], | |
[ | |
"Workplace discrimination monitoring", | |
"000364.htm" | |
], | |
[ | |
"Workplace equity and justice programs", | |
"000365.htm" | |
] | |
], | |
[ | |
"Industrial awards and conditions", | |
"000349.htm", | |
[ | |
"Award conditions", | |
"000366.htm" | |
], | |
[ | |
"Remuneration review", | |
"000368.htm" | |
] | |
], | |
[ | |
"Labour market programs", | |
"000347.htm", | |
[ | |
"Employment services marketing", | |
"000351.htm" | |
], | |
[ | |
"Job placement programs", | |
"000352.htm" | |
], | |
[ | |
"Job vacancy data management", | |
"000353.htm" | |
] | |
], | |
[ | |
"Workplace agreement processes", | |
"000350.htm", | |
[ | |
"Agreement bargaining processes", | |
"002141.htm" | |
], | |
[ | |
"Agreement dispute mediation", | |
"000370.htm" | |
], | |
[ | |
"Certified employment conditions", | |
"000371.htm" | |
], | |
[ | |
"Employment advocacy services", | |
"000374.htm" | |
] | |
] | |
], | |
[ | |
"ENVIRONMENT", | |
"000478.htm", | |
[ | |
"Built environment", | |
"000409.htm", | |
[ | |
"Building acoustics", | |
"000405.htm" | |
], | |
[ | |
"Building preservation", | |
"000407.htm" | |
] | |
], | |
[ | |
"Climate information services", | |
"000203.htm" | |
], | |
[ | |
"Conservation programs", | |
"000438.htm", | |
[ | |
"Endangered species protection", | |
"000475.htm" | |
], | |
[ | |
"Landcare programs", | |
"000504.htm" | |
], | |
[ | |
"Soil preservation programs", | |
"000567.htm" | |
] | |
], | |
[ | |
"Environmental impact assessment", | |
"000479.htm" | |
], | |
[ | |
"Historic relic protection", | |
"000492.htm" | |
], | |
[ | |
"Marine life protection programs", | |
"000507.htm" | |
], | |
[ | |
"Natural heritage protection", | |
"000522.htm", | |
[ | |
"National park management", | |
"000520.htm" | |
], | |
[ | |
"Nature reserve management", | |
"000523.htm" | |
], | |
[ | |
"Wilderness area management", | |
"000593.htm" | |
], | |
[ | |
"Wildlife sanctuary management", | |
"000594.htm" | |
] | |
], | |
[ | |
"Oceans governance", | |
"000525.htm" | |
], | |
[ | |
"Pollutant prevention programs", | |
"000529.htm" | |
], | |
[ | |
"World heritage listings", | |
"000596.htm" | |
] | |
], | |
[ | |
"FINANCE MANAGEMENT", | |
"000001.htm", | |
[ | |
"Commonwealth State funding", | |
"000017.htm" | |
], | |
[ | |
"Currency", | |
"000018.htm", | |
[ | |
"Counterfeiting control", | |
"000027.htm" | |
] | |
], | |
[ | |
"Financial investment", | |
"000021.htm", | |
[ | |
"Investment scheme regulation", | |
"000031.htm" | |
] | |
], | |
[ | |
"Financial system management", | |
"002302.htm", | |
[ | |
"Financial system monitoring", | |
"002306.htm" | |
], | |
[ | |
"Payments management", | |
"002297.htm" | |
] | |
], | |
[ | |
"Fiscal policy", | |
"000022.htm", | |
[ | |
"Public borrowing", | |
"000032.htm" | |
], | |
[ | |
"Public debt", | |
"000033.htm" | |
], | |
[ | |
"Public expenditure", | |
"000034.htm" | |
] | |
], | |
[ | |
"Foreign investment control", | |
"000030.htm" | |
], | |
[ | |
"International monetary regulation", | |
"000023.htm" | |
], | |
[ | |
"Monetary policy", | |
"000020.htm", | |
[ | |
"Exchange rates", | |
"000028.htm" | |
], | |
[ | |
"Inflation", | |
"000029.htm" | |
], | |
[ | |
"Interest rates", | |
"002295.htm" | |
] | |
], | |
[ | |
"Resource management", | |
"000024.htm", | |
[ | |
"Contract management", | |
"000037.htm" | |
], | |
[ | |
"Financial administration", | |
"000035.htm" | |
], | |
[ | |
"Financial budgeting", | |
"000036.htm" | |
] | |
], | |
[ | |
"Retirement income", | |
"000025.htm", | |
[ | |
"Asset assessment", | |
"000038.htm" | |
], | |
[ | |
"Retirement saving", | |
"000039.htm" | |
], | |
[ | |
"Superannuation regulation", | |
"000040.htm" | |
] | |
], | |
[ | |
"Statistical analysis", | |
"000019.htm" | |
], | |
[ | |
"Taxation", | |
"000026.htm", | |
[ | |
"Income assessment", | |
"000041.htm" | |
], | |
[ | |
"Revenue raising", | |
"000042.htm" | |
], | |
[ | |
"Taxation compliance", | |
"000043.htm" | |
] | |
] | |
], | |
[ | |
"GOVERNANCE", | |
"000002.htm", | |
[ | |
"Civic celebrations", | |
"000046.htm" | |
], | |
[ | |
"Constitutional matters", | |
"000048.htm", | |
[ | |
"Constitutional conventions", | |
"000061.htm" | |
], | |
[ | |
"Constitutional referenda", | |
"000062.htm" | |
] | |
], | |
[ | |
"Electoral matters", | |
"000049.htm", | |
[ | |
"Declaration of interests", | |
"000063.htm" | |
], | |
[ | |
"Election campaigning", | |
"000064.htm" | |
], | |
[ | |
"Electoral boundary assessment", | |
"000065.htm" | |
] | |
], | |
[ | |
"Honours and awards programs", | |
"000050.htm" | |
], | |
[ | |
"Intergovernmental relations", | |
"000052.htm", | |
[ | |
"Cross-border cooperation", | |
"000067.htm" | |
], | |
[ | |
"Intergovernment policy dissemination", | |
"000069.htm" | |
] | |
], | |
[ | |
"Legislative drafting", | |
"000053.htm", | |
[ | |
"Draft Bill amendment process", | |
"000070.htm" | |
], | |
[ | |
"Legislation review", | |
"000071.htm" | |
], | |
[ | |
"Preparation of legislative regulations", | |
"000072.htm" | |
] | |
], | |
[ | |
"Official protocol", | |
"000054.htm", | |
[ | |
"Ceremonial events and representation", | |
"000073.htm" | |
], | |
[ | |
"Head of Government protocol", | |
"000074.htm" | |
], | |
[ | |
"Official establishment management", | |
"000075.htm" | |
], | |
[ | |
"Official hospitality", | |
"000076.htm" | |
], | |
[ | |
"Official visits", | |
"000077.htm" | |
] | |
], | |
[ | |
"Parliamentary chamber support", | |
"000045.htm", | |
[ | |
"Hansard services", | |
"000058.htm" | |
], | |
[ | |
"Parliamentary papers", | |
"000059.htm" | |
], | |
[ | |
"Tabling of official documents", | |
"000060.htm" | |
] | |
], | |
[ | |
"Parliamentary committee and member support", | |
"000047.htm" | |
], | |
[ | |
"Population census", | |
"000044.htm", | |
[ | |
"Demographic surveys", | |
"000055.htm" | |
], | |
[ | |
"Household census", | |
"000056.htm" | |
], | |
[ | |
"Population distribution analysis", | |
"000057.htm" | |
] | |
], | |
[ | |
"Public administration", | |
"002290.htm", | |
[ | |
"Government auditing", | |
"002291.htm" | |
], | |
[ | |
"Public service", | |
"002292.htm" | |
], | |
[ | |
"Territories administration", | |
"002293.htm" | |
] | |
], | |
[ | |
"Statistics", | |
"002289.htm" | |
] | |
], | |
[ | |
"HEALTH CARE", | |
"000003.htm", | |
[ | |
"Community health services", | |
"000078.htm", | |
[ | |
"Clinical health services", | |
"000087.htm" | |
], | |
[ | |
"Health promotion", | |
"000089.htm" | |
], | |
[ | |
"Primary health care", | |
"000090.htm" | |
] | |
], | |
[ | |
"Health insurance schemes", | |
"000079.htm" | |
], | |
[ | |
"Health protocol administration", | |
"000080.htm", | |
[ | |
"Drugs and poisons regulation", | |
"000091.htm" | |
], | |
[ | |
"Food hygiene regulation", | |
"000092.htm" | |
], | |
[ | |
"Practitioner discipline", | |
"000093.htm" | |
], | |
[ | |
"Practitioner registration", | |
"000095.htm" | |
] | |
], | |
[ | |
"Hospital services", | |
"000081.htm", | |
[ | |
"Hospital administration", | |
"000096.htm" | |
], | |
[ | |
"Patient care", | |
"000097.htm" | |
], | |
[ | |
"Pharmaceutical and drug support", | |
"000098.htm" | |
] | |
], | |
[ | |
"Medical research", | |
"000083.htm", | |
[ | |
"Ethical compliance", | |
"000099.htm" | |
], | |
[ | |
"Medical aids regulation", | |
"000100.htm" | |
], | |
[ | |
"Medical research funding", | |
"000101.htm" | |
], | |
[ | |
"National referral laboratory services", | |
"000102.htm" | |
], | |
[ | |
"Population-based research", | |
"000103.htm" | |
] | |
], | |
[ | |
"Public health services", | |
"000084.htm", | |
[ | |
"Epidemiology", | |
"000104.htm" | |
], | |
[ | |
"Health disaster preparedness", | |
"000106.htm" | |
], | |
[ | |
"Health hazard prevention", | |
"000105.htm" | |
], | |
[ | |
"Medical quarantine services", | |
"000108.htm" | |
], | |
[ | |
"Notifiable disease management", | |
"000109.htm" | |
] | |
], | |
[ | |
"Special needs services", | |
"000085.htm", | |
[ | |
"Dental health services", | |
"000111.htm" | |
], | |
[ | |
"Independent living services", | |
"000112.htm" | |
], | |
[ | |
"Mental health services", | |
"000113.htm" | |
], | |
[ | |
"Residential services", | |
"000114.htm" | |
] | |
], | |
[ | |
"Veterans\" health services", | |
"000086.htm" | |
] | |
], | |
[ | |
"IMMIGRATION", | |
"000004.htm", | |
[ | |
"Citizenship", | |
"000115.htm", | |
[ | |
"Naturalisation assessment", | |
"000121.htm" | |
], | |
[ | |
"Presentation arrangements", | |
"000122.htm" | |
] | |
], | |
[ | |
"Deportation", | |
"000116.htm" | |
], | |
[ | |
"Detention programs", | |
"000117.htm" | |
], | |
[ | |
"Migrant services", | |
"000118.htm", | |
[ | |
"Interpreter services", | |
"000123.htm" | |
], | |
[ | |
"Migrant accommodation services", | |
"000125.htm" | |
], | |
[ | |
"Migrant settlement programs", | |
"000126.htm" | |
] | |
], | |
[ | |
"Refugee services", | |
"000119.htm" | |
], | |
[ | |
"Travel authorisation", | |
"000120.htm", | |
[ | |
"Permanent entry arrangements", | |
"000127.htm" | |
], | |
[ | |
"Temporary entry arrangements", | |
"000128.htm" | |
] | |
] | |
], | |
[ | |
"INDIGENOUS AFFAIRS", | |
"002285.htm", | |
[ | |
"Indigenous cultural heritage", | |
"000495.htm", | |
[ | |
"Cultural artefact repatriation", | |
"001772.htm" | |
] | |
], | |
[ | |
"Indigenous enterprise development", | |
"000496.htm" | |
], | |
[ | |
"Indigenous health services", | |
"000082.htm" | |
], | |
[ | |
"Indigenous heritage conservation", | |
"000497.htm" | |
], | |
[ | |
"Indigenous reconciliation", | |
"000051.htm" | |
], | |
[ | |
"Indigenous welfare programs", | |
"000498.htm" | |
] | |
], | |
[ | |
"INTERNATIONAL RELATIONS", | |
"000005.htm", | |
[ | |
"Consular services", | |
"000129.htm" | |
], | |
[ | |
"Defence liaison", | |
"000132.htm", | |
[ | |
"000140.htm" | |
], | |
[ | |
"Defence cooperation programs", | |
"000141.htm" | |
], | |
[ | |
"Defence personnel exchanges", | |
"000142.htm" | |
], | |
[ | |
"Military advisors", | |
"000143.htm" | |
] | |
], | |
[ | |
"Diplomatic missions", | |
"000130.htm" | |
], | |
[ | |
"International affairs", | |
"000131.htm", | |
[ | |
"Disarmament and arms control", | |
"000137.htm" | |
], | |
[ | |
"Nuclear safeguards", | |
"000139.htm" | |
] | |
], | |
[ | |
"International treaties", | |
"000133.htm", | |
[ | |
"Treaty administration", | |
"001384.htm" | |
] | |
], | |
[ | |
"Overseas aid programs", | |
"000134.htm", | |
[ | |
"Development assistance programs", | |
"000146.htm" | |
], | |
[ | |
"Overseas student scholarship programs", | |
"000147.htm" | |
] | |
], | |
[ | |
"Overseas promotion", | |
"000135.htm" | |
], | |
[ | |
"Passport services", | |
"000136.htm" | |
] | |
], | |
[ | |
"JUSTICE ADMINISTRATION", | |
"000006.htm", | |
[ | |
"Administrative law", | |
"000149.htm", | |
[ | |
"Administrative decision appeal", | |
"000163.htm" | |
], | |
[ | |
"Administrative decision review", | |
"000164.htm" | |
], | |
[ | |
"Censorship standards", | |
"000165.htm" | |
], | |
[ | |
"Copyright regulation", | |
"000166.htm" | |
], | |
[ | |
"Recordkeeping standards", | |
"000167.htm" | |
] | |
], | |
[ | |
"Associations and corporate law", | |
"000150.htm", | |
[ | |
"Bankruptcy proceedings", | |
"000168.htm" | |
], | |
[ | |
"Merger regulation", | |
"000169.htm" | |
] | |
], | |
[ | |
"Civil law", | |
"000151.htm", | |
[ | |
"Civil registration", | |
"000170.htm" | |
], | |
[ | |
"Conveyancing", | |
"000171.htm" | |
], | |
[ | |
"Dispute mediation programs", | |
"000174.htm" | |
], | |
[ | |
"Family law proceedings", | |
"000172.htm" | |
], | |
[ | |
"Probate applications", | |
"000173.htm" | |
] | |
], | |
[ | |
"Commissions of inquiry", | |
"000152.htm" | |
], | |
[ | |
"Coronial law", | |
"000153.htm" | |
], | |
[ | |
"Court reporting", | |
"000154.htm" | |
], | |
[ | |
"Criminal law", | |
"000155.htm" | |
], | |
[ | |
"Human rights obligations", | |
"000156.htm" | |
], | |
[ | |
"Juvenile justice", | |
"000157.htm" | |
], | |
[ | |
"Legal aid services", | |
"000158.htm" | |
], | |
[ | |
"Local laws and ordinances", | |
"000159.htm" | |
], | |
[ | |
"Native title claims", | |
"000160.htm", | |
[ | |
"Native title mediation programs", | |
"000180.htm" | |
], | |
[ | |
"Native title settlement negotiations", | |
"000181.htm" | |
] | |
], | |
[ | |
"Privacy guideline monitoring", | |
"000161.htm" | |
], | |
[ | |
"Prosecution services", | |
"000162.htm" | |
] | |
], | |
[ | |
"MARITIME SERVICES", | |
"000007.htm", | |
[ | |
"Cargo control", | |
"000198.htm" | |
], | |
[ | |
"Harbour management", | |
"000183.htm" | |
], | |
[ | |
"Marina management", | |
"000184.htm" | |
], | |
[ | |
"Navigation", | |
"000185.htm", | |
[ | |
"Charting sea lanes", | |
"000191.htm" | |
], | |
[ | |
"Light station maintenance", | |
"000192.htm" | |
], | |
[ | |
"Navigation systems development", | |
"000193.htm" | |
] | |
], | |
[ | |
"Pilotage management", | |
"000182.htm" | |
], | |
[ | |
"Port regulation", | |
"001471.htm" | |
], | |
[ | |
"Sea passengers", | |
"001487.htm" | |
], | |
[ | |
"Search and rescue", | |
"000187.htm", | |
[ | |
"Rescue coordination", | |
"000194.htm" | |
], | |
[ | |
"Search technology development", | |
"000195.htm" | |
] | |
], | |
[ | |
"Ship personnel", | |
"000188.htm", | |
[ | |
"Personnel safety standards", | |
"000196.htm" | |
], | |
[ | |
"Pilot licensing", | |
"000197.htm" | |
] | |
], | |
[ | |
"Ship safety", | |
"000189.htm", | |
[ | |
"Seaworthiness", | |
"000201.htm" | |
], | |
[ | |
"Ship commissioning", | |
"000199.htm" | |
], | |
[ | |
"Ship inspection", | |
"000200.htm" | |
] | |
] | |
], | |
[ | |
"NATURAL RESOURCES", | |
"000009.htm", | |
[ | |
"Crown land administration", | |
"000218.htm" | |
], | |
[ | |
"Energy resources", | |
"001451.htm", | |
[ | |
"Fossil fuel management", | |
"000226.htm" | |
], | |
[ | |
"Renewable energy development", | |
"000227.htm" | |
] | |
], | |
[ | |
"Land use planning", | |
"000220.htm", | |
[ | |
"Land use zoning", | |
"001429.htm" | |
] | |
], | |
[ | |
"Land valuation", | |
"000222.htm" | |
], | |
[ | |
"Mineral resources", | |
"000223.htm", | |
[ | |
"Land rehabilitation programs", | |
"000231.htm" | |
], | |
[ | |
"Mining regulations", | |
"000232.htm" | |
] | |
], | |
[ | |
"Pollution emission control", | |
"000224.htm" | |
], | |
[ | |
"Water resources", | |
"000225.htm", | |
[ | |
"Water conservation plans", | |
"000233.htm" | |
], | |
[ | |
"Water quality monitoring", | |
"000234.htm" | |
], | |
[ | |
"Water usage management", | |
"000235.htm" | |
], | |
[ | |
"Waterway management", | |
"000236.htm" | |
] | |
] | |
], | |
[ | |
"PRIMARY INDUSTRIES", | |
"000008.htm", | |
[ | |
"Chemical and pesticide regulation", | |
"000202.htm" | |
], | |
[ | |
"Marine and rural regulation", | |
"000204.htm", | |
[ | |
"Agricultural industry", | |
"000208.htm" | |
], | |
[ | |
"Fisheries industry", | |
"000209.htm" | |
], | |
[ | |
"Food quality assurance", | |
"000213.htm" | |
], | |
[ | |
"Forestry industry", | |
"000210.htm" | |
] | |
], | |
[ | |
"Marine and rural support", | |
"000205.htm", | |
[ | |
"Aquaculture industry", | |
"000212.htm" | |
], | |
[ | |
"Horticultural industry", | |
"000214.htm" | |
], | |
[ | |
"Pastoral industry", | |
"000215.htm" | |
], | |
[ | |
"Silvicultural industry", | |
"000216.htm" | |
], | |
[ | |
"Viticultural industry", | |
"000217.htm" | |
] | |
], | |
[ | |
"Quarantine", | |
"000211.htm" | |
], | |
[ | |
"Rural field day promotion", | |
"000206.htm" | |
], | |
[ | |
"Rural partnership programs", | |
"000207.htm" | |
] | |
], | |
[ | |
"SCIENCE", | |
"000010.htm", | |
[ | |
"Agricultural sciences", | |
"000237.htm" | |
], | |
[ | |
"Animal and veterinary sciences", | |
"000238.htm" | |
], | |
[ | |
"Applied sciences", | |
"000239.htm", | |
[ | |
"Engineering and technology sciences", | |
"000246.htm" | |
], | |
[ | |
"Weights and measures standards", | |
"000247.htm" | |
] | |
], | |
[ | |
"Biological sciences", | |
"000240.htm", | |
[ | |
"Biochemistry", | |
"000248.htm" | |
], | |
[ | |
"Biodiversity preservation", | |
"000249.htm" | |
], | |
[ | |
"Biotechnology development", | |
"000250.htm" | |
], | |
[ | |
"Botany", | |
"000251.htm" | |
], | |
[ | |
"Entomology", | |
"000252.htm" | |
], | |
[ | |
"Genetic engineering", | |
"000253.htm" | |
], | |
[ | |
"Physiology", | |
"000254.htm" | |
] | |
], | |
[ | |
"Earth sciences", | |
"000241.htm", | |
[ | |
"Atmospheric sciences", | |
"000255.htm" | |
], | |
[ | |
"Hydrology", | |
"000256.htm" | |
], | |
[ | |
"Mineral exploration", | |
"000257.htm" | |
], | |
[ | |
"Oceanography", | |
"000258.htm" | |
], | |
[ | |
"Seismology", | |
"000259.htm" | |
] | |
], | |
[ | |
"Mathematical sciences", | |
"000242.htm" | |
], | |
[ | |
"Medical and health sciences", | |
"001229.htm" | |
], | |
[ | |
"Physical sciences", | |
"000244.htm", | |
[ | |
"Astronomical sciences", | |
"000260.htm" | |
], | |
[ | |
"Atomic and molecular sciences", | |
"000261.htm" | |
], | |
[ | |
"Nuclear sciences", | |
"000262.htm" | |
] | |
], | |
[ | |
"Spatial information research", | |
"000245.htm" | |
] | |
], | |
[ | |
"SECURITY", | |
"000011.htm", | |
[ | |
"Corrective services", | |
"000263.htm", | |
[ | |
"Community based corrections", | |
"000270.htm" | |
], | |
[ | |
"Detention centre management", | |
"000271.htm" | |
] | |
], | |
[ | |
"External security", | |
"000264.htm", | |
[ | |
"Peacekeeping forces", | |
"000273.htm" | |
] | |
], | |
[ | |
"Information security", | |
"000265.htm" | |
], | |
[ | |
"Intelligence", | |
"000266.htm", | |
[ | |
"Forensic analysis", | |
"000275.htm" | |
], | |
[ | |
"Intelligence liaison", | |
"001159.htm" | |
], | |
[ | |
"Intelligence support", | |
"000277.htm" | |
] | |
], | |
[ | |
"Law enforcement", | |
"000267.htm", | |
[ | |
"Community policing", | |
"000278.htm" | |
], | |
[ | |
"Criminology", | |
"000279.htm" | |
], | |
[ | |
"Police administration", | |
"000280.htm" | |
], | |
[ | |
"Protective services", | |
"000281.htm" | |
] | |
], | |
[ | |
"National security", | |
"001548.htm", | |
[ | |
"Coastal surveillance", | |
"000269.htm" | |
] | |
] | |
], | |
[ | |
"SPORT AND RECREATION", | |
"000012.htm", | |
[ | |
"Caravan and camping services", | |
"000284.htm" | |
], | |
[ | |
"Community recreational programs", | |
"000285.htm", | |
[ | |
"Gambling support services", | |
"000290.htm" | |
], | |
[ | |
"Public fitness promotion", | |
"000291.htm" | |
], | |
[ | |
"Social club support", | |
"000292.htm" | |
], | |
[ | |
"Volunteer support programs", | |
"000293.htm" | |
] | |
], | |
[ | |
"Gaming industry regulation", | |
"000286.htm" | |
], | |
[ | |
"Park and reserve services", | |
"000289.htm" | |
], | |
[ | |
"Sport and fitness development", | |
"000287.htm", | |
[ | |
"Athlete scholarship programs", | |
"000295.htm" | |
], | |
[ | |
"Fundraising and donation schemes", | |
"000296.htm" | |
], | |
[ | |
"Games administration", | |
"000297.htm" | |
], | |
[ | |
"Games promotion", | |
"000298.htm" | |
], | |
[ | |
"Sporting grants administration", | |
"000299.htm" | |
] | |
], | |
[ | |
"Sports drugs monitoring", | |
"000288.htm", | |
[ | |
"Doping detection research", | |
"000300.htm" | |
] | |
] | |
], | |
[ | |
"TOURISM", | |
"000013.htm", | |
[ | |
"Tourism industry development", | |
"000301.htm" | |
], | |
[ | |
"Tourist event promotion", | |
"000302.htm", | |
[ | |
"Advertising campaigns", | |
"000305.htm" | |
] | |
], | |
[ | |
"Travel missions", | |
"000303.htm" | |
] | |
], | |
[ | |
"TRADE", | |
"000014.htm", | |
[ | |
"Export regulation", | |
"000311.htm", | |
[ | |
"Export promotion", | |
"000320.htm" | |
], | |
[ | |
"Prohibited export control", | |
"000321.htm" | |
] | |
], | |
[ | |
"Import regulation", | |
"000312.htm", | |
[ | |
"Prohibited import control", | |
"000323.htm" | |
], | |
[ | |
"Tariff regulation", | |
"000322.htm" | |
] | |
], | |
[ | |
"Intellectual property management", | |
"000910.htm", | |
[ | |
"Copyright registration", | |
"000308.htm" | |
], | |
[ | |
"Design registration", | |
"000310.htm" | |
], | |
[ | |
"Patent registration", | |
"000315.htm" | |
], | |
[ | |
"Trademark registration", | |
"000318.htm" | |
] | |
], | |
[ | |
"International trade agreements", | |
"000313.htm" | |
], | |
[ | |
"Interstate trade agreements", | |
"000314.htm" | |
], | |
[ | |
"Trade development programs", | |
"000316.htm" | |
], | |
[ | |
"Trade expositions", | |
"000317.htm" | |
] | |
], | |
[ | |
"TRANSPORT", | |
"000015.htm", | |
[ | |
"Air transport", | |
"000324.htm", | |
[ | |
"Air transport safety", | |
"000332.htm" | |
], | |
[ | |
"Aircraft standards", | |
"000330.htm" | |
], | |
[ | |
"Airport services", | |
"000331.htm" | |
] | |
], | |
[ | |
"Freight movement regulation", | |
"000325.htm" | |
], | |
[ | |
"Passenger services", | |
"000326.htm" | |
], | |
[ | |
"Rail transport", | |
"000327.htm", | |
[ | |
"Rail harmonisation standards", | |
"000333.htm" | |
], | |
[ | |
"Rail land acquisition regulation", | |
"000336.htm" | |
], | |
[ | |
"Rail transport safety", | |
"000337.htm" | |
], | |
[ | |
"Railway maintenance", | |
"000338.htm" | |
], | |
[ | |
"Rolling stock regulation", | |
"000339.htm" | |
] | |
], | |
[ | |
"Road transport", | |
"000328.htm", | |
[ | |
"Driving licences administration", | |
"000340.htm" | |
], | |
[ | |
"Road surface maintenance", | |
"000341.htm" | |
], | |
[ | |
"Road traffic regulation", | |
"000342.htm" | |
], | |
[ | |
"Road transport safety", | |
"000343.htm" | |
], | |
[ | |
"Vehicle registration", | |
"000344.htm" | |
], | |
[ | |
"Vehicle standards", | |
"000345.htm" | |
] | |
], | |
[ | |
"Transport infrastructure development", | |
"000329.htm" | |
] | |
] | |
] |
<?php | <?php |
require_once '../include/common.inc.php'; | require_once '../include/common.inc.php'; |
//function createFOIDocumentsDesignDoc() { | |
$foidb = $server->get_db('disclosr-foidocuments'); | |
$obj = new stdClass(); | |
$obj->_id = "_design/" . urlencode("app"); | |
$obj->language = "javascript"; | |
$obj->views->all->map = "function(doc) { emit(doc._id, doc); };"; | |
$obj->views->byDate->map = "function(doc) { emit(doc.date, doc); };"; | |
// allow safe updates (even if slightly slower due to extra: rev-detection check). | |
$foidb->save($obj, true); | |
function createDocumentsDesignDoc() { | |
/* | |
global $db; | |
$obj = new stdClass(); | |
$obj->_id = "_design/" . urlencode("app"); | |
$obj->language = "javascript"; | |
$obj->views->all->map = "function(doc) { emit(doc._id, doc); };"; | |
$obj->views->byABN->map = "function(doc) { emit(doc.abn, doc); };"; | |
"views": { | |
"web_server": { | |
"map": "function(doc) {\n emit(doc.web_server, 1);\n}", | |
"reduce": "function (key, values, rereduce) {\n return sum(values);\n}" | |
}, | |
"byAgency": { | |
"map": "function(doc) {\n emit(doc.agencyID, 1);\n}", | |
"reduce": "function (key, values, rereduce) {\n return sum(values);\n}" | |
}, | |
"byURL": { | |
"map": "function(doc) {\n emit(doc.url, doc);\n}" | |
}, | |
"agency": { | |
"map": "function(doc) {\n emit(doc.agencyID, doc);\n}" | |
}, | |
"byWebServer": { | |
"map": "function(doc) {\n emit(doc.web_server, doc);\n}" | |
}, | |
"getValidationRequired": { | |
"map": "function(doc) {\nif (doc.mime_type == \"text/html\" \n&& typeof(doc.validation) == \"undefined\") {\n emit(doc._id, doc._attachments);\n}\n}" | |
} | |
} */ | |
} | |
//function createAgencyDesignDoc() { | |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
createAgencyDesignDoc(); | $obj = new stdClass(); |
$obj->_id = "_design/" . urlencode("app"); | |
$obj->language = "javascript"; | |
$obj->views->all->map = "function(doc) { emit(doc._id, doc); };"; | |
$obj->views->byABN->map = "function(doc) { emit(doc.abn, doc); };"; | |
$obj->views->byCanonicalName->map = "function(doc) { | |
if (doc.parentOrg || doc.orgType == 'FMA-DepartmentOfState') { | |
emit(doc.name, doc); | |
} | |
};"; | |
$obj->views->byDeptStateName->map = "function(doc) { | |
if (doc.orgType == 'FMA-DepartmentOfState') { | |
emit(doc.name, doc._id); | |
} | |
};"; | |
$obj->views->parentOrgs->map = "function(doc) { | |
if (doc.parentOrg) { | |
emit(doc._id, doc.parentOrg); | |
} | |
};"; | |
$obj->views->byName->map = 'function(doc) { | |
if (typeof(doc["status"]) == "undefined" || doc["status"] != "suspended") { | |
emit(doc.name, doc._id); | |
if (typeof(doc.shortName) != "undefined" && doc.shortName != doc.name) { | |
emit(doc.shortName, doc._id); | |
} | |
for (name in doc.otherNames) { | |
if (doc.otherNames[name] != "" && doc.otherNames[name] != doc.name) { | |
emit(doc.otherNames[name], doc._id); | |
} | |
} | |
for (name in doc.foiBodies) { | |
if (doc.foiBodies[name] != "" && doc.foiBodies[name] != doc.name) { | |
emit(doc.foiBodies[name], doc._id); | |
} | |
} | |
} | |
};'; | |
$obj->views->foiEmails->map = "function(doc) { | |
emit(doc._id, doc.foiEmail); | |
};"; | |
$obj->views->byLastModified->map = "function(doc) { emit(doc.metadata.lastModified, doc); }"; | |
$obj->views->getActive->map = 'function(doc) { if (doc.status == "active") { emit(doc._id, doc); } };'; | |
$obj->views->getSuspended->map = 'function(doc) { if (doc.status == "suspended") { emit(doc._id, doc); } };'; | |
$obj->views->getScrapeRequired->map = "function(doc) { | |
var lastScrape = Date.parse(doc.metadata.lastScraped); | |
var today = new Date(); | |
if (!lastScrape || lastScrape.getTime() + 1000 != today.getTime()) { | |
emit(doc._id, doc); | |
} | |
};"; | |
$obj->views->showNamesABNs->map = "function(doc) { emit(doc._id, {name: doc.name, abn: doc.abn}); };"; | |
$obj->views->getConflicts->map = "function(doc) { | |
if (doc._conflicts) { | |
emit(null, [doc._rev].concat(doc._conflicts)); | |
} | |
}"; | |
// http://stackoverflow.com/questions/646628/javascript-startswith | |
$obj->views->score->map = 'if(!String.prototype.startsWith){ | |
String.prototype.startsWith = function (str) { | |
return !this.indexOf(str); | |
} | |
} | |
function(doc) { | |
count = 0; | |
if (doc["status"] != "suspended") { | |
for(var propName in doc) { | |
if(typeof(doc[propName]) != "undefined" && doc[propName] != "") { | |
count++; | |
} | |
} | |
portfolio = doc.parentOrg; | |
if (doc.orgType == "FMA-DepartmentOfState") { | |
portfolio = doc._id; | |
} | |
if (doc.orgType == "Court-Commonwealth" || doc.orgType == "FMA-DepartmentOfParliament") { | |
portfolio = doc.orgType; | |
} | |
emit(count+doc._id, {id:doc._id, name: doc.name, score:count, orgType: doc.orgType, portfolio:portfolio}); | |
} | |
}'; | |
$obj->views->scoreHas->map = 'if(!String.prototype.startsWith){ | |
String.prototype.startsWith = function (str) { | |
return !this.indexOf(str); | |
} | |
} | |
if(!String.prototype.endsWith){ | |
String.prototype.endsWith = function(suffix) { | |
return this.indexOf(suffix, this.length - suffix.length) !== -1; | |
}; | |
} | |
function(doc) { | |
if (typeof(doc["status"]) == "undefined" || doc["status"] != "suspended") { | |
for(var propName in doc) { | |
if(typeof(doc[propName]) != "undefined" && (propName.startsWith("has") || propName.endsWith("URL"))) { | |
emit(propName, 1); | |
} | |
} | |
emit("total", 1); | |
} | |
}'; | |
$obj->views->scoreHas->reduce = 'function (key, values, rereduce) { | |
return sum(values); | |
}'; | |
$obj->views->fieldNames->map = ' | |
function(doc) { | |
for(var propName in doc) { | |
emit(propName, doc._id); | |
} | |
}'; | |
$obj->views->fieldNames->reduce = 'function (key, values, rereduce) { | |
return values.length; | |
}'; | |
// allow safe updates (even if slightly slower due to extra: rev-detection check). | |
$db->save($obj, true); | |
?> | ?> |
#http://packages.python.org/CouchDB/client.html | |
import couchdb | |
import json | |
import pprint | |
import re | |
from tidylib import tidy_document | |
couch = couchdb.Server('http://127.0.0.1:5984/') | |
# select database | |
docsdb = couch['disclosr-documents'] | |
def f(x): | |
invalid = re.compile(r"ensure|testing|flicker|updating|longdesc|Accessibility Checks|not recognized") | |
valid = re.compile(r"line") | |
return (not invalid.search(x)) and valid.search(x) and x != '' | |
for row in docsdb.view('app/getValidationRequired'): | |
print row.id | |
html = docsdb.get_attachment(row.id,row.value.iterkeys().next()).read() | |
#print html | |
document, errors = tidy_document(html,options={'accessibility-check':1,'show-warnings':0,'markup':0},keep_doc=True) | |
#http://www.aprompt.ca/Tidy/accessibilitychecks.html | |
#print document | |
errors = '\n'.join(filter(f,errors.split('\n'))) | |
#print errors | |
doc = docsdb.get(row.id) | |
doc['validation'] = errors | |
docsdb.save(doc) | |
<?php | <?php |
include_once("../include/common.inc.php"); | include_once("../include/common.inc.php"); |
function shortName($name) { | |
$name = trim($name); | |
if (strstr($name,"Minister ") || strstr($name,"Treasurer") || strstr($name,"Parliamentary Secretary")) { | |
$badWords = Array ("Assisting the Prime Minister on","Assisting on"," the "," of "," for "," on "," and "," to ",","," ","'","`"); | |
return str_replace($badWords,"",$name); | |
} | |
else { | |
$out = Array(); | |
preg_match_all('/[A-Z]/', $name, $out); | |
return implode("", $out[0]); | |
} | |
} | |
setlocale(LC_CTYPE, 'C'); | setlocale(LC_CTYPE, 'C'); |
$headers = Array("#id", "name", "request_email", "short_name", "notes", "publication_scheme", "home_page", "tag_string"); | $headers = Array("#id", "name", "request_email", "short_name", "notes", "publication_scheme", "home_page", "tag_string"); |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
$tag = Array(); | $tag = Array(); |
try { | try { |
$rows = $db->get_view("app", "byDeptStateName", null, true)->rows; | $rows = $db->get_view("app", "byDeptStateName", null, true)->rows; |
//print_r($rows); | //print_r($rows); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
$tag[$row->id] = phrase_to_tag(dept_to_portfolio($row->key)); | $tag[$row->id] = phrase_to_tag(dept_to_portfolio($row->key)); |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
die(); | die(); |
} | } |
$foiEmail = Array(); | $foiEmail = Array(); |
try { | try { |
$rows = $db->get_view("app", "foiEmails", null, true)->rows; | $rows = $db->get_view("app", "foiEmails", null, true)->rows; |
//print_r($rows); | //print_r($rows); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
$foiEmail[$row->key] = $row->value; | $foiEmail[$row->key] = $row->value; |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
die(); | die(); |
} | } |
$fp = fopen('php://output', 'w'); | $fp = fopen('php://output', 'w'); |
if ($fp && $db) { | if ($fp && $db) { |
header('Content-Type: text/csv; charset=utf-8'); | header('Content-Type: text/csv; charset=utf-8'); |
header('Content-Disposition: attachment; filename="export.' . date("c") . '.csv"'); | header('Content-Disposition: attachment; filename="export.' . date("c") . '.csv"'); |
header('Pragma: no-cache'); | header('Pragma: no-cache'); |
header('Expires: 0'); | header('Expires: 0'); |
fputcsv($fp, $headers); | fputcsv($fp, $headers); |
try { | try { |
$agencies = $db->get_view("app", "byCanonicalName", null, true)->rows; | $agencies = $db->get_view("app", "byCanonicalName", null, true)->rows; |
//print_r($rows); | //print_r($rows); |
foreach ($agencies as $agency) { | foreach ($agencies as $agency) { |
// print_r($agency); | // print_r($agency); |
if (isset($agency->value->foiEmail) && $agency->value->foiEmail != "null" && !isset($agency->value->status)) { | if (isset($agency->value->foiEmail) && $agency->value->foiEmail != "null" && !isset($agency->value->status)) { |
$row = Array(); | $row = Array(); |
$row["#id"] = $agency->id; | $row["#id"] = $agency->id; |
$row["name"] = trim($agency->value->name); | $row["name"] = trim($agency->value->name); |
if (isset($agency->value->foiEmail)) { | $row["request_email"] = (isset($agency->value->foiEmail) ? $agency->value->foiEmail : ""); |
$row["request_email"] = $agency->value->foiEmail; | $row["short_name"] = (isset($agency->value->shortName) ? $agency->value->shortName : ""); |
} else { | $row["notes"] = (isset($agency->value->description) ? $agency->value->description : ""); |
if ($agency->value->orgType == "FMA-DepartmentOfState") { | |
$row["request_email"] = "foi@" . GetDomain($agency->value->website); | $otherBodies = Array(); |
} else { | if (isset($agency->value->foiBodies)) { |
$row["request_email"] = $foiEmail[$agency->value->parentOrg]; | $otherBodies = array_merge($otherBodies, $agency->value->foiBodies); |
} | |
if (isset($agency->value->positions)) { | |
$positions = Array(); | |
foreach ($agency->value->positions as $position) { | |
$positions[] = "Office of the ".$position; | |
} | } |
$otherBodies = array_merge($otherBodies, $positions); | |
} | } |
if (isset($agency->value->shortName)) { | sort($otherBodies); |
$row["short_name"] = $agency->value->shortName; | if (count($otherBodies) > 0) { |
} else { | $row["notes"] .= "<br/> This department also responds to requests for information held by " . implode(", ", $otherBodies); |
$row["short_name"] = shortName($agency->value->name); | |
} | } |
$row["notes"] = ""; | |
$row["publication_scheme"] = (isset($agency->value->infoPublicationSchemeURL) ? $agency->value->infoPublicationSchemeURL : ""); | $row["publication_scheme"] = (isset($agency->value->infoPublicationSchemeURL) ? $agency->value->infoPublicationSchemeURL : ""); |
$row["home_page"] = (isset($agency->value->website) ? $agency->value->website : ""); | $row["home_page"] = (isset($agency->value->website) ? $agency->value->website : ""); |
if ($agency->value->orgType == "FMA-DepartmentOfState") { | if ($agency->value->orgType == "FMA-DepartmentOfState") { |
$row["tag_string"] = $tag[$agency->value->_id] . " " . $agency->value->orgType; | $row["tag_string"] = $tag[$agency->value->_id]; |
} else { | } else { |
$row["tag_string"] = $tag[$agency->value->parentOrg] . " " . $agency->value->orgType; | $row["tag_string"] = $tag[$agency->value->parentOrg]; |
} | } |
$row["tag_string"] .= " " . $agency->value->orgType; | |
$row["tag_string"] .= " federal"; | |
fputcsv($fp, array_values($row)); | fputcsv($fp, array_values($row)); |
if (isset($agency->value->foiBodies)) { | |
foreach ($agency->value->foiBodies as $foiBody) { | |
$row['name'] = iconv("UTF-8", "ASCII//TRANSLIT",$foiBody); | |
$row["short_name"] = shortName($foiBody); | |
fputcsv($fp, array_values($row)); | |
} | |
} | |
} | } |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
die; | die; |
} | } |
?> | ?> |
<!DOCTYPE html> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<meta charset="UTF-8"/> | |
<title>Minimal BubbleTree Demo</title> | |
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script> | |
<script type="text/javascript" src="js/bubbletree/lib/jquery.history.js"></script> | |
<script type="text/javascript" src="js/bubbletree/lib/raphael.js"></script> | |
<script type="text/javascript" src="js/bubbletree/lib/vis4.js"></script> | |
<script type="text/javascript" src="js/bubbletree/lib/Tween.js"></script> | |
<script type="text/javascript" src="js/bubbletree/build/bubbletree.js"></script> | |
<link rel="stylesheet" type="text/css" href="js/bubbletree/build/bubbletree.css" /> | |
<script type="text/javascript" src="js/bubbletree/styles/cofog.js"></script> | |
<script type="text/javascript"> | |
$(function() { | |
<?php | |
include_once('include/common.inc.php'); | |
include("lib/Color.php"); | |
$color = new Lux_Color(); | |
$portfolios = Array(); | |
$total = 0; | |
$db = $server->get_db('disclosr-agencies'); | |
try { | |
$rows = $db->get_view("app", "byDeptStateName", null, true)->rows; | |
foreach ($rows as $row) { | |
$portfolios[trim(str_replace(Array("Department of", "Department", "the", "'", "`"), "", $row->key))] = $row->value; | |
} | |
} catch (SetteeRestClientException $e) { | |
setteErrorHandler($e); | |
} | |
$agencies = Array(); | |
try { | |
$rows = $db->get_view("app", "byCanonicalName", null, true)->rows; | |
//print_r($rows); | |
foreach ($rows as $row) { | |
$employees = 0; | |
$portfolioid = 0; | |
if (isset($row->value->employees)) { | |
$employees = $row->value->employees; | |
} | |
if (isset($row->value->statistics->employees)) { | |
$agencyEmployeesArray = object_to_array($row->value->statistics->employees); | |
if (isset($agencyEmployeesArray["2010-2011"]["value"])) { | |
$employees = $agencyEmployeesArray["2010-2011"]["value"]; | |
} else { | |
// bailout for agencies that are closed for business | |
continue; | |
} | |
} | |
if (!($employees > 0)) { | |
$employees = 0; | |
} | |
if (isset($row->value->parentOrg)) { | |
$portfolioid = $row->value->parentOrg; | |
} | |
if (isset($row->value->orgType) && $row->value->orgType == "FMA-DepartmentOfState") { | |
$portfolioid = $row->id; | |
} | |
$agencies[$portfolioid][$row->value->name] = $employees; | |
} | |
} catch (SetteeRestClientException $e) { | |
setteErrorHandler($e); | |
} | |
//print_r($portfolios); | |
//print_r($agencies); | |
// http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/ | |
$golden_ratio_conjugate = 0.618033988749895; | |
$h = 0.00+rand(0,10)/10; # use random start value | |
foreach ($portfolios as $portfolioName => $portfolioID) { | |
$h += $golden_ratio_conjugate; | |
$h = fmod($h,1); | |
$portfolioColor = $color->hsv2hex(Array($h, .3, .99)); | |
$subnodes = Array(); | |
$portfolioEmployees = 0; | |
foreach ($agencies[$portfolioID] as $agencyName => $agencyEmployees) { | |
$agencyColor = $color->hsv2hex(Array($h / 10, rand(1, 10) / 10, abs(($h * (1 / 10)) - .5) + .5)); | |
$subnodes[] = Array( | |
"label" => str_replace(Array("'", "`"), "", $agencyName), | |
"amount" => $agencyEmployees, | |
//"color" => "#" . $agencyColor | |
); | |
$portfolioEmployees += $agencyEmployees; | |
} | |
$nodes[] = Array( | |
"label" => $portfolioName, | |
"amount" => $portfolioEmployees, | |
//"color" => "#" . $portfolioColor, | |
"children" => $subnodes | |
); | |
$total += $portfolioEmployees; | |
} | |
$data = Array( | |
"label" => "Australian Federal Government", | |
"amount" => $total, | |
//"color" => "#000000", | |
"children" => $nodes | |
); | |
echo "var data =eval('('+'" . json_encode($data) . "'+')');"; | |
?> | |
new BubbleTree({ | |
data: data, | |
container: '.bubbletree' | |
}); | |
}); | |
</script> | |
</head> | |
<body> | |
<div class="bubbletree-wrapper"> | |
<div class="bubbletree"></div> | |
</div> | |
</body> | |
</html> | |
<?php | <?php |
include_once('include/common.inc.php'); | include_once('include/common.inc.php'); |
include_header(); | include_header('Charts'); |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
?> | ?> |
<div class="foundation-header"> | <div class="foundation-header"> |
<h1><a href="about.php">Charts</a></h1> | <h1><a href="about.php">Charts</a></h1> |
<h4 class="subheader">Lorem ipsum.</h4> | <h4 class="subheader">Lorem ipsum.</h4> |
</div> | </div> |
<div id="scores" style="width:900px;height:500px;"></div> | <div id="scores" style="width:900px;height:500px;"></div> |
<div id="employees" style="width:1000px;height:900px;"></div> | <div id="employees" style="width:1000px;height:900px;"></div> |
<script id="source"> | <script id="source"> |
window.onload = function() { | window.onload = function() { |
$(document).ready(function() { | $(document).ready(function() { |
var d1 = []; | var d1 = []; |
var scorelabels = []; | var scorelabels = []; |
<?php | <?php |
try { | try { |
$rows = $db->get_view("app", "scoreHas?group=true", null, true)->rows; | $rows = $db->get_view("app", "scoreHas?group=true", null, true)->rows; |
$dataValues = Array(); | $dataValues = Array(); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
$dataValues[$row->value] = $row->key; | $dataValues[$row->value] = $row->key; |
} | } |
$i = 0; | $i = 0; |
ksort($dataValues); | ksort($dataValues); |
foreach ($dataValues as $value => $key) { | foreach ($dataValues as $value => $key) { |
echo " d1.push([$i, $value]);" . PHP_EOL; | echo " d1.push([$i, $value]);" . PHP_EOL; |
echo " scorelabels.push('$key');" . PHP_EOL; | echo " scorelabels.push('$key');" . PHP_EOL; |
$i++; | $i++; |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
?> | ?> |
function scoretrackformatter(obj) { | function scoretrackformatter(obj) { |
if (scorelabels[Math.floor(obj.x)]) { | if (scorelabels[Math.floor(obj.x)]) { |
return (scorelabels[Math.floor(obj.x)])+"="+obj.y; | return (scorelabels[Math.floor(obj.x)])+"="+obj.y; |
} else { | } else { |
return ""; | return ""; |
} | } |
} | } |
function scoretickformatter(val, axis) { | function scoretickformatter(val, axis) { |
if (scorelabels[Math.floor(val)]) { | if (scorelabels[Math.floor(val)]) { |
return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(scorelabels[Math.floor(val)])+"</b>"; | return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(scorelabels[Math.floor(val)])+"</b>"; |
} else { | } else { |
return ""; | return ""; |
} | } |
} | } |
Flotr.draw(document.getElementById("scores"), [ {data: d1}], { | Flotr.draw(document.getElementById("scores"), [ {data: d1}], { |
HtmlText: true, | HtmlText: true, |
bars : { | bars : { |
show : true | show : true |
}, | }, |
mouse : { | mouse : { |
track : true, | track : true, |
relative : true, | relative : true, |
trackFormatter: scoretrackformatter | trackFormatter: scoretrackformatter |
},yaxis: { | },yaxis: { |
autoscaling: true | autoscaling: true |
}, | }, |
xaxis: { | xaxis: { |
autoscaling: true, | autoscaling: true, |
minorTickFreq: 0.6, | minorTickFreq: 0.6, |
noTicks : scorelabels.length, | noTicks : scorelabels.length, |
tickFormatter: scoretickformatter | tickFormatter: scoretickformatter |
} | } |
}); | }); |
var emplabels = []; | var emplabels = []; |
function emptrackformatter(obj) { | function emptrackformatter(obj) { |
return (obj.series.label)+" = "+obj.y+" in "+emplabels[Math.floor(obj.x)]; | return (obj.series.label)+" = "+obj.y+" in "+emplabels[Math.floor(obj.x)]; |
} | } |
function emptickformatter(val, axis) { | function emptickformatter(val, axis) { |
if (emplabels[Math.floor(val)]) { | if (emplabels[Math.floor(val)]) { |
return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(emplabels[Math.floor(val)])+"</b>"; | return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(emplabels[Math.floor(val)])+"</b>"; |
} else { | } else { |
return ""; | return ""; |
} | } |
} | } |
function onDataReceived(series) { | function onDataReceived(series) { |
emplabels = series.labels; | emplabels = series.labels; |
Flotr.draw(document.getElementById("employees"), series.data, { | Flotr.draw(document.getElementById("employees"), series.data, { |
mouse : { | mouse : { |
track : true, | track : true, |
relative : true, | relative : true, |
trackFormatter: emptrackformatter | trackFormatter: emptrackformatter |
},yaxis: { | },yaxis: { |
max: 10000, | max: 10000, |
scaling: 'logarithmic' | scaling: 'logarithmic' |
}, | }, |
xaxis: { | xaxis: { |
minorTickFreq: 1, | minorTickFreq: 1, |
noTicks: emplabels.length, | noTicks: emplabels.length, |
showMinorLabels: true, | showMinorLabels: true, |
tickFormatter: emptickformatter | tickFormatter: emptickformatter |
}, | }, |
legend: { | legend: { |
show: false | show: false |
} | } |
}); | }); |
} | } |
$.ajax({ | $.ajax({ |
url: "admin/exportEmployees.csv.php?format=json", | url: "admin/exportEmployees.csv.php?format=json", |
method: 'GET', | method: 'GET', |
dataType: 'json', | dataType: 'json', |
success: onDataReceived | success: onDataReceived |
}); | }); |
}); | }); |
}; | }; |
</script> | </script> |
<?php | <?php |
include_footer(); | include_footer(); |
?> | ?> |
<!doctype html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<title>Page Not Found :(</title> | |
<style> | |
::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; } | |
::selection { background: #fe57a1; color: #fff; text-shadow: none; } | |
html { padding: 30px 10px; font-size: 20px; line-height: 1.4; color: #737373; background: #f0f0f0; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } | |
html, input { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } | |
body { max-width: 500px; _width: 500px; padding: 30px 20px 50px; border: 1px solid #b3b3b3; border-radius: 4px; margin: 0 auto; box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; background: #fcfcfc; } | |
h1 { margin: 0 10px; font-size: 50px; text-align: center; } | |
h1 span { color: #bbb; } | |
h3 { margin: 1.5em 0 0.5em; } | |
p { margin: 1em 0; } | |
ul { padding: 0 0 0 40px; margin: 1em 0; } | |
.container { max-width: 380px; _width: 380px; margin: 0 auto; } | |
/* google search */ | |
#goog-fixurl ul { list-style: none; padding: 0; margin: 0; } | |
#goog-fixurl form { margin: 0; } | |
#goog-wm-qt, #goog-wm-sb { border: 1px solid #bbb; font-size: 16px; line-height: normal; vertical-align: top; color: #444; border-radius: 2px; } | |
#goog-wm-qt { width: 220px; height: 20px; padding: 5px; margin: 5px 10px 0 0; box-shadow: inset 0 1px 1px #ccc; } | |
#goog-wm-sb { display: inline-block; height: 32px; padding: 0 10px; margin: 5px 0 0; white-space: nowrap; cursor: pointer; background-color: #f5f5f5; background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1); background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1); -webkit-appearance: none; -moz-appearance: none; appearance: none; *overflow: visible; *display: inline; *zoom: 1; } | |
#goog-wm-sb:hover, #goog-wm-sb:focus { border-color: #aaa; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); background-color: #f8f8f8; } | |
#goog-wm-qt:focus, #goog-wm-sb:focus { border-color: #105cb6; outline: 0; color: #222; } | |
input::-moz-focus-inner { padding: 0; border: 0; } | |
</style> | |
</head> | |
<body> | |
<div class="container"> | |
<h1>Not found <span>:(</span></h1> | |
<p>Sorry, but the page you were trying to view does not exist.</p> | |
<p>It looks like this was the result of either:</p> | |
<ul> | |
<li>a mistyped address</li> | |
<li>an out-of-date link</li> | |
</ul> | |
<script> | |
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host; | |
</script> | |
<script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script> | |
</div> | |
Binary files /dev/null and b/documents/apple-touch-icon-114x114-precomposed.png differ
Binary files /dev/null and b/documents/apple-touch-icon-57x57-precomposed.png differ
Binary files /dev/null and b/documents/apple-touch-icon-72x72-precomposed.png differ
Binary files /dev/null and b/documents/apple-touch-icon-precomposed.png differ
Binary files /dev/null and b/documents/apple-touch-icon.png differ
<?xml version="1.0"?> | |
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> | |
<cross-domain-policy> | |
<!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> | |
<!-- Most restrictive policy: --> | |
<site-control permitted-cross-domain-policies="none"/> | |
<!-- Least restrictive policy: --> | |
<!-- | |
<site-control permitted-cross-domain-policies="all"/> | |
<allow-access-from domain="*" to-ports="*" secure="false"/> | |
<allow-http-request-headers-from domain="*" headers="*" secure="false"/> | |
--> | |
<!-- | |
If you host a crossdomain.xml file with allow-access-from domain="*" | |
and don’t understand all of the points described here, you probably | |
have a nasty security vulnerability. ~ simon willison | |
--> | |
</cross-domain-policy> | |
/*! | |
* Bootstrap Responsive v2.2.1 | |
* | |
* Copyright 2012 Twitter, Inc | |
* Licensed under the Apache License v2.0 | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Designed and built with all the love in the world @twitter by @mdo and @fat. | |
*/ | |
.clearfix { | |
*zoom: 1; | |
} | |
.clearfix:before, | |
.clearfix:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.clearfix:after { | |
clear: both; | |
} | |
.hide-text { | |
font: 0/0 a; | |
color: transparent; | |
text-shadow: none; | |
background-color: transparent; | |
border: 0; | |
} | |
.input-block-level { | |
display: block; | |
width: 100%; | |
min-height: 30px; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.hidden { | |
display: none; | |
visibility: hidden; | |
} | |
.visible-phone { | |
display: none !important; | |
} | |
.visible-tablet { | |
display: none !important; | |
} | |
.hidden-desktop { | |
display: none !important; | |
} | |
.visible-desktop { | |
display: inherit !important; | |
} | |
@media (min-width: 768px) and (max-width: 979px) { | |
.hidden-desktop { | |
display: inherit !important; | |
} | |
.visible-desktop { | |
display: none !important ; | |
} | |
.visible-tablet { | |
display: inherit !important; | |
} | |
.hidden-tablet { | |
display: none !important; | |
} | |
} | |
@media (max-width: 767px) { | |
.hidden-desktop { | |
display: inherit !important; | |
} | |
.visible-desktop { | |
display: none !important; | |
} | |
.visible-phone { | |
display: inherit !important; | |
} | |
.hidden-phone { | |
display: none !important; | |
} | |
} | |
@media (min-width: 1200px) { | |
.row { | |
margin-left: -30px; | |
*zoom: 1; | |
} | |
.row:before, | |
.row:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.row:after { | |
clear: both; | |
} | |
[class*="span"] { | |
float: left; | |
min-height: 1px; | |
margin-left: 30px; | |
} | |
.container, | |
.navbar-static-top .container, | |
.navbar-fixed-top .container, | |
.navbar-fixed-bottom .container { | |
width: 1170px; | |
} | |
.span12 { | |
width: 1170px; | |
} | |
.span11 { | |
width: 1070px; | |
} | |
.span10 { | |
width: 970px; | |
} | |
.span9 { | |
width: 870px; | |
} | |
.span8 { | |
width: 770px; | |
} | |
.span7 { | |
width: 670px; | |
} | |
.span6 { | |
width: 570px; | |
} | |
.span5 { | |
width: 470px; | |
} | |
.span4 { | |
width: 370px; | |
} | |
.span3 { | |
width: 270px; | |
} | |
.span2 { | |
width: 170px; | |
} | |
.span1 { | |
width: 70px; | |
} | |
.offset12 { | |
margin-left: 1230px; | |
} | |
.offset11 { | |
margin-left: 1130px; | |
} | |
.offset10 { | |
margin-left: 1030px; | |
} | |
.offset9 { | |
margin-left: 930px; | |
} | |
.offset8 { | |
margin-left: 830px; | |
} | |
.offset7 { | |
margin-left: 730px; | |
} | |
.offset6 { | |
margin-left: 630px; | |
} | |
.offset5 { | |
margin-left: 530px; | |
} | |
.offset4 { | |
margin-left: 430px; | |
} | |
.offset3 { | |
margin-left: 330px; | |
} | |
.offset2 { | |
margin-left: 230px; | |
} | |
.offset1 { | |
margin-left: 130px; | |
} | |
.row-fluid { | |
width: 100%; | |
*zoom: 1; | |
} | |
.row-fluid:before, | |
.row-fluid:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.row-fluid:after { | |
clear: both; | |
} | |
.row-fluid [class*="span"] { | |
display: block; | |
float: left; | |
width: 100%; | |
min-height: 30px; | |
margin-left: 2.564102564102564%; | |
*margin-left: 2.5109110747408616%; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.row-fluid [class*="span"]:first-child { | |
margin-left: 0; | |
} | |
.row-fluid .controls-row [class*="span"] + [class*="span"] { | |
margin-left: 2.564102564102564%; | |
} | |
.row-fluid .span12 { | |
width: 100%; | |
*width: 99.94680851063829%; | |
} | |
.row-fluid .span11 { | |
width: 91.45299145299145%; | |
*width: 91.39979996362975%; | |
} | |
.row-fluid .span10 { | |
width: 82.90598290598291%; | |
*width: 82.8527914166212%; | |
} | |
.row-fluid .span9 { | |
width: 74.35897435897436%; | |
*width: 74.30578286961266%; | |
} | |
.row-fluid .span8 { | |
width: 65.81196581196582%; | |
*width: 65.75877432260411%; | |
} | |
.row-fluid .span7 { | |
width: 57.26495726495726%; | |
*width: 57.21176577559556%; | |
} | |
.row-fluid .span6 { | |
width: 48.717948717948715%; | |
*width: 48.664757228587014%; | |
} | |
.row-fluid .span5 { | |
width: 40.17094017094017%; | |
*width: 40.11774868157847%; | |
} | |
.row-fluid .span4 { | |
width: 31.623931623931625%; | |
*width: 31.570740134569924%; | |
} | |
.row-fluid .span3 { | |
width: 23.076923076923077%; | |
*width: 23.023731587561375%; | |
} | |
.row-fluid .span2 { | |
width: 14.52991452991453%; | |
*width: 14.476723040552828%; | |
} | |
.row-fluid .span1 { | |
width: 5.982905982905983%; | |
*width: 5.929714493544281%; | |
} | |
.row-fluid .offset12 { | |
margin-left: 105.12820512820512%; | |
*margin-left: 105.02182214948171%; | |
} | |
.row-fluid .offset12:first-child { | |
margin-left: 102.56410256410257%; | |
*margin-left: 102.45771958537915%; | |
} | |
.row-fluid .offset11 { | |
margin-left: 96.58119658119658%; | |
*margin-left: 96.47481360247316%; | |
} | |
.row-fluid .offset11:first-child { | |
margin-left: 94.01709401709402%; | |
*margin-left: 93.91071103837061%; | |
} | |
.row-fluid .offset10 { | |
margin-left: 88.03418803418803%; | |
*margin-left: 87.92780505546462%; | |
} | |
.row-fluid .offset10:first-child { | |
margin-left: 85.47008547008548%; | |
*margin-left: 85.36370249136206%; | |
} | |
.row-fluid .offset9 { | |
margin-left: 79.48717948717949%; | |
*margin-left: 79.38079650845607%; | |
} | |
.row-fluid .offset9:first-child { | |
margin-left: 76.92307692307693%; | |
*margin-left: 76.81669394435352%; | |
} | |
.row-fluid .offset8 { | |
margin-left: 70.94017094017094%; | |
*margin-left: 70.83378796144753%; | |
} | |
.row-fluid .offset8:first-child { | |
margin-left: 68.37606837606839%; | |
*margin-left: 68.26968539734497%; | |
} | |
.row-fluid .offset7 { | |
margin-left: 62.393162393162385%; | |
*margin-left: 62.28677941443899%; | |
} | |
.row-fluid .offset7:first-child { | |
margin-left: 59.82905982905982%; | |
*margin-left: 59.72267685033642%; | |
} | |
.row-fluid .offset6 { | |
margin-left: 53.84615384615384%; | |
*margin-left: 53.739770867430444%; | |
} | |
.row-fluid .offset6:first-child { | |
margin-left: 51.28205128205128%; | |
*margin-left: 51.175668303327875%; | |
} | |
.row-fluid .offset5 { | |
margin-left: 45.299145299145295%; | |
*margin-left: 45.1927623204219%; | |
} | |
.row-fluid .offset5:first-child { | |
margin-left: 42.73504273504273%; | |
*margin-left: 42.62865975631933%; | |
} | |
.row-fluid .offset4 { | |
margin-left: 36.75213675213675%; | |
*margin-left: 36.645753773413354%; | |
} | |
.row-fluid .offset4:first-child { | |
margin-left: 34.18803418803419%; | |
*margin-left: 34.081651209310785%; | |
} | |
.row-fluid .offset3 { | |
margin-left: 28.205128205128204%; | |
*margin-left: 28.0987452264048%; | |
} | |
.row-fluid .offset3:first-child { | |
margin-left: 25.641025641025642%; | |
*margin-left: 25.53464266230224%; | |
} | |
.row-fluid .offset2 { | |
margin-left: 19.65811965811966%; | |
*margin-left: 19.551736679396257%; | |
} | |
.row-fluid .offset2:first-child { | |
margin-left: 17.094017094017094%; | |
*margin-left: 16.98763411529369%; | |
} | |
.row-fluid .offset1 { | |
margin-left: 11.11111111111111%; | |
*margin-left: 11.004728132387708%; | |
} | |
.row-fluid .offset1:first-child { | |
margin-left: 8.547008547008547%; | |
*margin-left: 8.440625568285142%; | |
} | |
input, | |
textarea, | |
.uneditable-input { | |
margin-left: 0; | |
} | |
.controls-row [class*="span"] + [class*="span"] { | |
margin-left: 30px; | |
} | |
input.span12, | |
textarea.span12, | |
.uneditable-input.span12 { | |
width: 1156px; | |
} | |
input.span11, | |
textarea.span11, | |
.uneditable-input.span11 { | |
width: 1056px; | |
} | |
input.span10, | |
textarea.span10, | |
.uneditable-input.span10 { | |
width: 956px; | |
} | |
input.span9, | |
textarea.span9, | |
.uneditable-input.span9 { | |
width: 856px; | |
} | |
input.span8, | |
textarea.span8, | |
.uneditable-input.span8 { | |
width: 756px; | |
} | |
input.span7, | |
textarea.span7, | |
.uneditable-input.span7 { | |
width: 656px; | |
} | |
input.span6, | |
textarea.span6, | |
.uneditable-input.span6 { | |
width: 556px; | |
} | |
input.span5, | |
textarea.span5, | |
.uneditable-input.span5 { | |
width: 456px; | |
} | |
input.span4, | |
textarea.span4, | |
.uneditable-input.span4 { | |
width: 356px; | |
} | |
input.span3, | |
textarea.span3, | |
.uneditable-input.span3 { | |
width: 256px; | |
} | |
input.span2, | |
textarea.span2, | |
.uneditable-input.span2 { | |
width: 156px; | |
} | |
input.span1, | |
textarea.span1, | |
.uneditable-input.span1 { | |
width: 56px; | |
} | |
.thumbnails { | |
margin-left: -30px; | |
} | |
.thumbnails > li { | |
margin-left: 30px; | |
} | |
.row-fluid .thumbnails { | |
margin-left: 0; | |
} | |
} | |
@media (min-width: 768px) and (max-width: 979px) { | |
.row { | |
margin-left: -20px; | |
*zoom: 1; | |
} | |
.row:before, | |
.row:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.row:after { | |
clear: both; | |
} | |
[class*="span"] { | |
float: left; | |
min-height: 1px; | |
margin-left: 20px; | |
} | |
.container, | |
.navbar-static-top .container, | |
.navbar-fixed-top .container, | |
.navbar-fixed-bottom .container { | |
width: 724px; | |
} | |
.span12 { | |
width: 724px; | |
} | |
.span11 { | |
width: 662px; | |
} | |
.span10 { | |
width: 600px; | |
} | |
.span9 { | |
width: 538px; | |
} | |
.span8 { | |
width: 476px; | |
} | |
.span7 { | |
width: 414px; | |
} | |
.span6 { | |
width: 352px; | |
} | |
.span5 { | |
width: 290px; | |
} | |
.span4 { | |
width: 228px; | |
} | |
.span3 { | |
width: 166px; | |
} | |
.span2 { | |
width: 104px; | |
} | |
.span1 { | |
width: 42px; | |
} | |
.offset12 { | |
margin-left: 764px; | |
} | |
.offset11 { | |
margin-left: 702px; | |
} | |
.offset10 { | |
margin-left: 640px; | |
} | |
.offset9 { | |
margin-left: 578px; | |
} | |
.offset8 { | |
margin-left: 516px; | |
} | |
.offset7 { | |
margin-left: 454px; | |
} | |
.offset6 { | |
margin-left: 392px; | |
} | |
.offset5 { | |
margin-left: 330px; | |
} | |
.offset4 { | |
margin-left: 268px; | |
} | |
.offset3 { | |
margin-left: 206px; | |
} | |
.offset2 { | |
margin-left: 144px; | |
} | |
.offset1 { | |
margin-left: 82px; | |
} | |
.row-fluid { | |
width: 100%; | |
*zoom: 1; | |
} | |
.row-fluid:before, | |
.row-fluid:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.row-fluid:after { | |
clear: both; | |
} | |
.row-fluid [class*="span"] { | |
display: block; | |
float: left; | |
width: 100%; | |
min-height: 30px; | |
margin-left: 2.7624309392265194%; | |
*margin-left: 2.709239449864817%; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.row-fluid [class*="span"]:first-child { | |
margin-left: 0; | |
} | |
.row-fluid .controls-row [class*="span"] + [class*="span"] { | |
margin-left: 2.7624309392265194%; | |
} | |
.row-fluid .span12 { | |
width: 100%; | |
*width: 99.94680851063829%; | |
} | |
.row-fluid .span11 { | |
width: 91.43646408839778%; | |
*width: 91.38327259903608%; | |
} | |
.row-fluid .span10 { | |
width: 82.87292817679558%; | |
*width: 82.81973668743387%; | |
} | |
.row-fluid .span9 { | |
width: 74.30939226519337%; | |
*width: 74.25620077583166%; | |
} | |
.row-fluid .span8 { | |
width: 65.74585635359117%; | |
*width: 65.69266486422946%; | |
} | |
.row-fluid .span7 { | |
width: 57.18232044198895%; | |
*width: 57.12912895262725%; | |
} | |
.row-fluid .span6 { | |
width: 48.61878453038674%; | |
*width: 48.56559304102504%; | |
} | |
.row-fluid .span5 { | |
width: 40.05524861878453%; | |
*width: 40.00205712942283%; | |
} | |
.row-fluid .span4 { | |
width: 31.491712707182323%; | |
*width: 31.43852121782062%; | |
} | |
.row-fluid .span3 { | |
width: 22.92817679558011%; | |
*width: 22.87498530621841%; | |
} | |
.row-fluid .span2 { | |
width: 14.3646408839779%; | |
*width: 14.311449394616199%; | |
} | |
.row-fluid .span1 { | |
width: 5.801104972375691%; | |
*width: 5.747913483013988%; | |
} | |
.row-fluid .offset12 { | |
margin-left: 105.52486187845304%; | |
*margin-left: 105.41847889972962%; | |
} | |
.row-fluid .offset12:first-child { | |
margin-left: 102.76243093922652%; | |
*margin-left: 102.6560479605031%; | |
} | |
.row-fluid .offset11 { | |
margin-left: 96.96132596685082%; | |
*margin-left: 96.8549429881274%; | |
} | |
.row-fluid .offset11:first-child { | |
margin-left: 94.1988950276243%; | |
*margin-left: 94.09251204890089%; | |
} | |
.row-fluid .offset10 { | |
margin-left: 88.39779005524862%; | |
*margin-left: 88.2914070765252%; | |
} | |
.row-fluid .offset10:first-child { | |
margin-left: 85.6353591160221%; | |
*margin-left: 85.52897613729868%; | |
} | |
.row-fluid .offset9 { | |
margin-left: 79.8342541436464%; | |
*margin-left: 79.72787116492299%; | |
} | |
.row-fluid .offset9:first-child { | |
margin-left: 77.07182320441989%; | |
*margin-left: 76.96544022569647%; | |
} | |
.row-fluid .offset8 { | |
margin-left: 71.2707182320442%; | |
*margin-left: 71.16433525332079%; | |
} | |
.row-fluid .offset8:first-child { | |
margin-left: 68.50828729281768%; | |
*margin-left: 68.40190431409427%; | |
} | |
.row-fluid .offset7 { | |
margin-left: 62.70718232044199%; | |
*margin-left: 62.600799341718584%; | |
} | |
.row-fluid .offset7:first-child { | |
margin-left: 59.94475138121547%; | |
*margin-left: 59.838368402492065%; | |
} | |
.row-fluid .offset6 { | |
margin-left: 54.14364640883978%; | |
*margin-left: 54.037263430116376%; | |
} | |
.row-fluid .offset6:first-child { | |
margin-left: 51.38121546961326%; | |
*margin-left: 51.27483249088986%; | |
} | |
.row-fluid .offset5 { | |
margin-left: 45.58011049723757%; | |
*margin-left: 45.47372751851417%; | |
} | |
.row-fluid .offset5:first-child { | |
margin-left: 42.81767955801105%; | |
*margin-left: 42.71129657928765%; | |
} | |
.row-fluid .offset4 { | |
margin-left: 37.01657458563536%; | |
*margin-left: 36.91019160691196%; | |
} | |
.row-fluid .offset4:first-child { | |
margin-left: 34.25414364640884%; | |
*margin-left: 34.14776066768544%; | |
} | |
.row-fluid .offset3 { | |
margin-left: 28.45303867403315%; | |
*margin-left: 28.346655695309746%; | |
} | |
.row-fluid .offset3:first-child { | |
margin-left: 25.69060773480663%; | |
*margin-left: 25.584224756083227%; | |
} | |
.row-fluid .offset2 { | |
margin-left: 19.88950276243094%; | |
*margin-left: 19.783119783707537%; | |
} | |
.row-fluid .offset2:first-child { | |
margin-left: 17.12707182320442%; | |
*margin-left: 17.02068884448102%; | |
} | |
.row-fluid .offset1 { | |
margin-left: 11.32596685082873%; | |
*margin-left: 11.219583872105325%; | |
} | |
.row-fluid .offset1:first-child { | |
margin-left: 8.56353591160221%; | |
*margin-left: 8.457152932878806%; | |
} | |
input, | |
textarea, | |
.uneditable-input { | |
margin-left: 0; | |
} | |
.controls-row [class*="span"] + [class*="span"] { | |
margin-left: 20px; | |
} | |
input.span12, | |
textarea.span12, | |
.uneditable-input.span12 { | |
width: 710px; | |
} | |
input.span11, | |
textarea.span11, | |
.uneditable-input.span11 { | |
width: 648px; | |
} | |
input.span10, | |
textarea.span10, | |
.uneditable-input.span10 { | |
width: 586px; | |
} | |
input.span9, | |
textarea.span9, | |
.uneditable-input.span9 { | |
width: 524px; | |
} | |
input.span8, | |
textarea.span8, | |
.uneditable-input.span8 { | |
width: 462px; | |
} | |
input.span7, | |
textarea.span7, | |
.uneditable-input.span7 { | |
width: 400px; | |
} | |
input.span6, | |
textarea.span6, | |
.uneditable-input.span6 { | |
width: 338px; | |
} | |
input.span5, | |
textarea.span5, | |
.uneditable-input.span5 { | |
width: 276px; | |
} | |
input.span4, | |
textarea.span4, | |
.uneditable-input.span4 { | |
width: 214px; | |
} | |
input.span3, | |
textarea.span3, | |
.uneditable-input.span3 { | |
width: 152px; | |
} | |
input.span2, | |
textarea.span2, | |
.uneditable-input.span2 { | |
width: 90px; | |
} | |
input.span1, | |
textarea.span1, | |
.uneditable-input.span1 { | |
width: 28px; | |
} | |
} | |
@media (max-width: 767px) { | |
body { | |
padding-right: 20px; | |
padding-left: 20px; | |
} | |
.navbar-fixed-top, | |
.navbar-fixed-bottom, | |
.navbar-static-top { | |
margin-right: -20px; | |
margin-left: -20px; | |
} | |
.container-fluid { | |
padding: 0; | |
} | |
.dl-horizontal dt { | |
float: none; | |
width: auto; | |
clear: none; | |
text-align: left; | |
} | |
.dl-horizontal dd { | |
margin-left: 0; | |
} | |
.container { | |
width: auto; | |
} | |
.row-fluid { | |
width: 100%; | |
} | |
.row, | |
.thumbnails { | |
margin-left: 0; | |
} | |
.thumbnails > li { | |
float: none; | |
margin-left: 0; | |
} | |
[class*="span"], | |
.uneditable-input[class*="span"], | |
.row-fluid [class*="span"] { | |
display: block; | |
float: none; | |
width: 100%; | |
margin-left: 0; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.span12, | |
.row-fluid .span12 { | |
width: 100%; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.row-fluid [class*="offset"]:first-child { | |
margin-left: 0; | |
} | |
.input-large, | |
.input-xlarge, | |
.input-xxlarge, | |
input[class*="span"], | |
select[class*="span"], | |
textarea[class*="span"], | |
.uneditable-input { | |
display: block; | |
width: 100%; | |
min-height: 30px; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.input-prepend input, | |
.input-append input, | |
.input-prepend input[class*="span"], | |
.input-append input[class*="span"] { | |
display: inline-block; | |
width: auto; | |
} | |
.controls-row [class*="span"] + [class*="span"] { | |
margin-left: 0; | |
} | |
.modal { | |
position: fixed; | |
top: 20px; | |
right: 20px; | |
left: 20px; | |
width: auto; | |
margin: 0; | |
} | |
.modal.fade { | |
top: -100px; | |
} | |
.modal.fade.in { | |
top: 20px; | |
} | |
} | |
@media (max-width: 480px) { | |
.nav-collapse { | |
-webkit-transform: translate3d(0, 0, 0); | |
} | |
.page-header h1 small { | |
display: block; | |
line-height: 20px; | |
} | |
input[type="checkbox"], | |
input[type="radio"] { | |
border: 1px solid #ccc; | |
} | |
.form-horizontal .control-label { | |
float: none; | |
width: auto; | |
padding-top: 0; | |
text-align: left; | |
} | |
.form-horizontal .controls { | |
margin-left: 0; | |
} | |
.form-horizontal .control-list { | |
padding-top: 0; | |
} | |
.form-horizontal .form-actions { | |
padding-right: 10px; | |
padding-left: 10px; | |
} | |
.media .pull-left, | |
.media .pull-right { | |
display: block; | |
float: none; | |
margin-bottom: 10px; | |
} | |
.media-object { | |
margin-right: 0; | |
margin-left: 0; | |
} | |
.modal { | |
top: 10px; | |
right: 10px; | |
left: 10px; | |
} | |
.modal-header .close { | |
padding: 10px; | |
margin: -10px; | |
} | |
.carousel-caption { | |
position: static; | |
} | |
} | |
@media (max-width: 979px) { | |
body { | |
padding-top: 0; | |
} | |
.navbar-fixed-top, | |
.navbar-fixed-bottom { | |
position: static; | |
} | |
.navbar-fixed-top { | |
margin-bottom: 20px; | |
} | |
.navbar-fixed-bottom { | |
margin-top: 20px; | |
} | |
.navbar-fixed-top .navbar-inner, | |
.navbar-fixed-bottom .navbar-inner { | |
padding: 5px; | |
} | |
.navbar .container { | |
width: auto; | |
padding: 0; | |
} | |
.navbar .brand { | |
padding-right: 10px; | |
padding-left: 10px; | |
margin: 0 0 0 -5px; | |
} | |
.nav-collapse { | |
clear: both; | |
} | |
.nav-collapse .nav { | |
float: none; | |
margin: 0 0 10px; | |
} | |
.nav-collapse .nav > li { | |
float: none; | |
} | |
.nav-collapse .nav > li > a { | |
margin-bottom: 2px; | |
} | |
.nav-collapse .nav > .divider-vertical { | |
display: none; | |
} | |
.nav-collapse .nav .nav-header { | |
color: #777777; | |
text-shadow: none; | |
} | |
.nav-collapse .nav > li > a, | |
.nav-collapse .dropdown-menu a { | |
padding: 9px 15px; | |
font-weight: bold; | |
color: #777777; | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
.nav-collapse .btn { | |
padding: 4px 10px 4px; | |
font-weight: normal; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
.nav-collapse .dropdown-menu li + li a { | |
margin-bottom: 2px; | |
} | |
.nav-collapse .nav > li > a:hover, | |
.nav-collapse .dropdown-menu a:hover { | |
background-color: #f2f2f2; | |
} | |
.navbar-inverse .nav-collapse .nav > li > a, | |
.navbar-inverse .nav-collapse .dropdown-menu a { | |
color: #999999; | |
} | |
.navbar-inverse .nav-collapse .nav > li > a:hover, | |
.navbar-inverse .nav-collapse .dropdown-menu a:hover { | |
background-color: #111111; | |
} | |
.nav-collapse.in .btn-group { | |
padding: 0; | |
margin-top: 5px; | |
} | |
.nav-collapse .dropdown-menu { | |
position: static; | |
top: auto; | |
left: auto; | |
display: none; | |
float: none; | |
max-width: none; | |
padding: 0; | |
margin: 0 15px; | |
background-color: transparent; | |
border: none; | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
-webkit-box-shadow: none; | |
-moz-box-shadow: none; | |
box-shadow: none; | |
} | |
.nav-collapse .open > .dropdown-menu { | |
display: block; | |
} | |
.nav-collapse .dropdown-menu:before, | |
.nav-collapse .dropdown-menu:after { | |
display: none; | |
} | |
.nav-collapse .dropdown-menu .divider { | |
display: none; | |
} | |
.nav-collapse .nav > li > .dropdown-menu:before, | |
.nav-collapse .nav > li > .dropdown-menu:after { | |
display: none; | |
} | |
.nav-collapse .navbar-form, | |
.nav-collapse .navbar-search { | |
float: none; | |
padding: 10px 15px; | |
margin: 10px 0; | |
border-top: 1px solid #f2f2f2; | |
border-bottom: 1px solid #f2f2f2; | |
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); | |
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); | |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); | |
} | |
.navbar-inverse .nav-collapse .navbar-form, | |
.navbar-inverse .nav-collapse .navbar-search { | |
border-top-color: #111111; | |
border-bottom-color: #111111; | |
} | |
.navbar .nav-collapse .nav.pull-right { | |
float: none; | |
margin-left: 0; | |
} | |
.nav-collapse, | |
.nav-collapse.collapse { | |
height: 0; | |
overflow: hidden; | |
} | |
.navbar .btn-navbar { | |
display: block; | |
} | |
.navbar-static .navbar-inner { | |
padding-right: 10px; | |
padding-left: 10px; | |
} | |
} | |
@media (min-width: 980px) { | |
.nav-collapse.collapse { | |
height: auto !important; | |
overflow: visible !important; | |
} | |
} | |
/*! | |
* Bootstrap Responsive v2.2.1 | |
* | |
* Copyright 2012 Twitter, Inc | |
* Licensed under the Apache License v2.0 | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Designed and built with all the love in the world @twitter by @mdo and @fat. | |
*/.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} | |
/*! | |
* Bootstrap v2.2.1 | |
* | |
* Copyright 2012 Twitter, Inc | |
* Licensed under the Apache License v2.0 | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Designed and built with all the love in the world @twitter by @mdo and @fat. | |
*/ | |
article, | |
aside, | |
details, | |
figcaption, | |
figure, | |
footer, | |
header, | |
hgroup, | |
nav, | |
section { | |
display: block; | |
} | |
audio, | |
canvas, | |
video { | |
display: inline-block; | |
*display: inline; | |
*zoom: 1; | |
} | |
audio:not([controls]) { | |
display: none; | |
} | |
html { | |
font-size: 100%; | |
-webkit-text-size-adjust: 100%; | |
-ms-text-size-adjust: 100%; | |
} | |
a:focus { | |
outline: thin dotted #333; | |
outline: 5px auto -webkit-focus-ring-color; | |
outline-offset: -2px; | |
} | |
a:hover, | |
a:active { | |
outline: 0; | |
} | |
sub, | |
sup { | |
position: relative; | |
font-size: 75%; | |
line-height: 0; | |
vertical-align: baseline; | |
} | |
sup { | |
top: -0.5em; | |
} | |
sub { | |
bottom: -0.25em; | |
} | |
img { | |
width: auto\9; | |
height: auto; | |
max-width: 100%; | |
vertical-align: middle; | |
border: 0; | |
-ms-interpolation-mode: bicubic; | |
} | |
#map_canvas img, | |
.google-maps img { | |
max-width: none; | |
} | |
button, | |
input, | |
select, | |
textarea { | |
margin: 0; | |
font-size: 100%; | |
vertical-align: middle; | |
} | |
button, | |
input { | |
*overflow: visible; | |
line-height: normal; | |
} | |
button::-moz-focus-inner, | |
input::-moz-focus-inner { | |
padding: 0; | |
border: 0; | |
} | |
button, | |
html input[type="button"], | |
input[type="reset"], | |
input[type="submit"] { | |
cursor: pointer; | |
-webkit-appearance: button; | |
} | |
input[type="search"] { | |
-webkit-box-sizing: content-box; | |
-moz-box-sizing: content-box; | |
box-sizing: content-box; | |
-webkit-appearance: textfield; | |
} | |
input[type="search"]::-webkit-search-decoration, | |
input[type="search"]::-webkit-search-cancel-button { | |
-webkit-appearance: none; | |
} | |
textarea { | |
overflow: auto; | |
vertical-align: top; | |
} | |
.clearfix { | |
*zoom: 1; | |
} | |
.clearfix:before, | |
.clearfix:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.clearfix:after { | |
clear: both; | |
} | |
.hide-text { | |
font: 0/0 a; | |
color: transparent; | |
text-shadow: none; | |
background-color: transparent; | |
border: 0; | |
} | |
.input-block-level { | |
display: block; | |
width: 100%; | |
min-height: 30px; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
body { | |
margin: 0; | |
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
font-size: 14px; | |
line-height: 20px; | |
color: #333333; | |
background-color: #ffffff; | |
} | |
a { | |
color: #0088cc; | |
text-decoration: none; | |
} | |
a:hover { | |
color: #005580; | |
text-decoration: underline; | |
} | |
.img-rounded { | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
} | |
.img-polaroid { | |
padding: 4px; | |
background-color: #fff; | |
border: 1px solid #ccc; | |
border: 1px solid rgba(0, 0, 0, 0.2); | |
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | |
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | |
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | |
} | |
.img-circle { | |
-webkit-border-radius: 500px; | |
-moz-border-radius: 500px; | |
border-radius: 500px; | |
} | |
.row { | |
margin-left: -20px; | |
*zoom: 1; | |
} | |
.row:before, | |
.row:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.row:after { | |
clear: both; | |
} | |
[class*="span"] { | |
float: left; | |
min-height: 1px; | |
margin-left: 20px; | |
} | |
.container, | |
.navbar-static-top .container, | |
.navbar-fixed-top .container, | |
.navbar-fixed-bottom .container { | |
width: 940px; | |
} | |
.span12 { | |
width: 940px; | |
} | |
.span11 { | |
width: 860px; | |
} | |
.span10 { | |
width: 780px; | |
} | |
.span9 { | |
width: 700px; | |
} | |
.span8 { | |
width: 620px; | |
} | |
.span7 { | |
width: 540px; | |
} | |
.span6 { | |
width: 460px; | |
} | |
.span5 { | |
width: 380px; | |
} | |
.span4 { | |
width: 300px; | |
} | |
.span3 { | |
width: 220px; | |
} | |
.span2 { | |
width: 140px; | |
} | |
.span1 { | |
width: 60px; | |
} | |
.offset12 { | |
margin-left: 980px; | |
} | |
.offset11 { | |
margin-left: 900px; | |
} | |
.offset10 { | |
margin-left: 820px; | |
} | |
.offset9 { | |
margin-left: 740px; | |
} | |
.offset8 { | |
margin-left: 660px; | |
} | |
.offset7 { | |
margin-left: 580px; | |
} | |
.offset6 { | |
margin-left: 500px; | |
} | |
.offset5 { | |
margin-left: 420px; | |
} | |
.offset4 { | |
margin-left: 340px; | |
} | |
.offset3 { | |
margin-left: 260px; | |
} | |
.offset2 { | |
margin-left: 180px; | |
} | |
.offset1 { | |
margin-left: 100px; | |
} | |
.row-fluid { | |
width: 100%; | |
*zoom: 1; | |
} | |
.row-fluid:before, | |
.row-fluid:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.row-fluid:after { | |
clear: both; | |
} | |
.row-fluid [class*="span"] { | |
display: block; | |
float: left; | |
width: 100%; | |
min-height: 30px; | |
margin-left: 2.127659574468085%; | |
*margin-left: 2.074468085106383%; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.row-fluid [class*="span"]:first-child { | |
margin-left: 0; | |
} | |
.row-fluid .controls-row [class*="span"] + [class*="span"] { | |
margin-left: 2.127659574468085%; | |
} | |
.row-fluid .span12 { | |
width: 100%; | |
*width: 99.94680851063829%; | |
} | |
.row-fluid .span11 { | |
width: 91.48936170212765%; | |
*width: 91.43617021276594%; | |
} | |
.row-fluid .span10 { | |
width: 82.97872340425532%; | |
*width: 82.92553191489361%; | |
} | |
.row-fluid .span9 { | |
width: 74.46808510638297%; | |
*width: 74.41489361702126%; | |
} | |
.row-fluid .span8 { | |
width: 65.95744680851064%; | |
*width: 65.90425531914893%; | |
} | |
.row-fluid .span7 { | |
width: 57.44680851063829%; | |
*width: 57.39361702127659%; | |
} | |
.row-fluid .span6 { | |
width: 48.93617021276595%; | |
*width: 48.88297872340425%; | |
} | |
.row-fluid .span5 { | |
width: 40.42553191489362%; | |
*width: 40.37234042553192%; | |
} | |
.row-fluid .span4 { | |
width: 31.914893617021278%; | |
*width: 31.861702127659576%; | |
} | |
.row-fluid .span3 { | |
width: 23.404255319148934%; | |
*width: 23.351063829787233%; | |
} | |
.row-fluid .span2 { | |
width: 14.893617021276595%; | |
*width: 14.840425531914894%; | |
} | |
.row-fluid .span1 { | |
width: 6.382978723404255%; | |
*width: 6.329787234042553%; | |
} | |
.row-fluid .offset12 { | |
margin-left: 104.25531914893617%; | |
*margin-left: 104.14893617021275%; | |
} | |
.row-fluid .offset12:first-child { | |
margin-left: 102.12765957446808%; | |
*margin-left: 102.02127659574467%; | |
} | |
.row-fluid .offset11 { | |
margin-left: 95.74468085106382%; | |
*margin-left: 95.6382978723404%; | |
} | |
.row-fluid .offset11:first-child { | |
margin-left: 93.61702127659574%; | |
*margin-left: 93.51063829787232%; | |
} | |
.row-fluid .offset10 { | |
margin-left: 87.23404255319149%; | |
*margin-left: 87.12765957446807%; | |
} | |
.row-fluid .offset10:first-child { | |
margin-left: 85.1063829787234%; | |
*margin-left: 84.99999999999999%; | |
} | |
.row-fluid .offset9 { | |
margin-left: 78.72340425531914%; | |
*margin-left: 78.61702127659572%; | |
} | |
.row-fluid .offset9:first-child { | |
margin-left: 76.59574468085106%; | |
*margin-left: 76.48936170212764%; | |
} | |
.row-fluid .offset8 { | |
margin-left: 70.2127659574468%; | |
*margin-left: 70.10638297872339%; | |
} | |
.row-fluid .offset8:first-child { | |
margin-left: 68.08510638297872%; | |
*margin-left: 67.9787234042553%; | |
} | |
.row-fluid .offset7 { | |
margin-left: 61.70212765957446%; | |
*margin-left: 61.59574468085106%; | |
} | |
.row-fluid .offset7:first-child { | |
margin-left: 59.574468085106375%; | |
*margin-left: 59.46808510638297%; | |
} | |
.row-fluid .offset6 { | |
margin-left: 53.191489361702125%; | |
*margin-left: 53.085106382978715%; | |
} | |
.row-fluid .offset6:first-child { | |
margin-left: 51.063829787234035%; | |
*margin-left: 50.95744680851063%; | |
} | |
.row-fluid .offset5 { | |
margin-left: 44.68085106382979%; | |
*margin-left: 44.57446808510638%; | |
} | |
.row-fluid .offset5:first-child { | |
margin-left: 42.5531914893617%; | |
*margin-left: 42.4468085106383%; | |
} | |
.row-fluid .offset4 { | |
margin-left: 36.170212765957444%; | |
*margin-left: 36.06382978723405%; | |
} | |
.row-fluid .offset4:first-child { | |
margin-left: 34.04255319148936%; | |
*margin-left: 33.93617021276596%; | |
} | |
.row-fluid .offset3 { | |
margin-left: 27.659574468085104%; | |
*margin-left: 27.5531914893617%; | |
} | |
.row-fluid .offset3:first-child { | |
margin-left: 25.53191489361702%; | |
*margin-left: 25.425531914893618%; | |
} | |
.row-fluid .offset2 { | |
margin-left: 19.148936170212764%; | |
*margin-left: 19.04255319148936%; | |
} | |
.row-fluid .offset2:first-child { | |
margin-left: 17.02127659574468%; | |
*margin-left: 16.914893617021278%; | |
} | |
.row-fluid .offset1 { | |
margin-left: 10.638297872340425%; | |
*margin-left: 10.53191489361702%; | |
} | |
.row-fluid .offset1:first-child { | |
margin-left: 8.51063829787234%; | |
*margin-left: 8.404255319148938%; | |
} | |
[class*="span"].hide, | |
.row-fluid [class*="span"].hide { | |
display: none; | |
} | |
[class*="span"].pull-right, | |
.row-fluid [class*="span"].pull-right { | |
float: right; | |
} | |
.container { | |
margin-right: auto; | |
margin-left: auto; | |
*zoom: 1; | |
} | |
.container:before, | |
.container:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.container:after { | |
clear: both; | |
} | |
.container-fluid { | |
padding-right: 20px; | |
padding-left: 20px; | |
*zoom: 1; | |
} | |
.container-fluid:before, | |
.container-fluid:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.container-fluid:after { | |
clear: both; | |
} | |
p { | |
margin: 0 0 10px; | |
} | |
.lead { | |
margin-bottom: 20px; | |
font-size: 21px; | |
font-weight: 200; | |
line-height: 30px; | |
} | |
small { | |
font-size: 85%; | |
} | |
strong { | |
font-weight: bold; | |
} | |
em { | |
font-style: italic; | |
} | |
cite { | |
font-style: normal; | |
} | |
.muted { | |
color: #999999; | |
} | |
.text-warning { | |
color: #c09853; | |
} | |
a.text-warning:hover { | |
color: #a47e3c; | |
} | |
.text-error { | |
color: #b94a48; | |
} | |
a.text-error:hover { | |
color: #953b39; | |
} | |
.text-info { | |
color: #3a87ad; | |
} | |
a.text-info:hover { | |
color: #2d6987; | |
} | |
.text-success { | |
color: #468847; | |
} | |
a.text-success:hover { | |
color: #356635; | |
} | |
h1, | |
h2, | |
h3, | |
h4, | |
h5, | |
h6 { | |
margin: 10px 0; | |
font-family: inherit; | |
font-weight: bold; | |
line-height: 20px; | |
color: inherit; | |
text-rendering: optimizelegibility; | |
} | |
h1 small, | |
h2 small, | |
h3 small, | |
h4 small, | |
h5 small, | |
h6 small { | |
font-weight: normal; | |
line-height: 1; | |
color: #999999; | |
} | |
h1, | |
h2, | |
h3 { | |
line-height: 40px; | |
} | |
h1 { | |
font-size: 38.5px; | |
} | |
h2 { | |
font-size: 31.5px; | |
} | |
h3 { | |
font-size: 24.5px; | |
} | |
h4 { | |
font-size: 17.5px; | |
} | |
h5 { | |
font-size: 14px; | |
} | |
h6 { | |
font-size: 11.9px; | |
} | |
h1 small { | |
font-size: 24.5px; | |
} | |
h2 small { | |
font-size: 17.5px; | |
} | |
h3 small { | |
font-size: 14px; | |
} | |
h4 small { | |
font-size: 14px; | |
} | |
.page-header { | |
padding-bottom: 9px; | |
margin: 20px 0 30px; | |
border-bottom: 1px solid #eeeeee; | |
} | |
ul, | |
ol { | |
padding: 0; | |
margin: 0 0 10px 25px; | |
} | |
ul ul, | |
ul ol, | |
ol ol, | |
ol ul { | |
margin-bottom: 0; | |
} | |
li { | |
line-height: 20px; | |
} | |
ul.unstyled, | |
ol.unstyled { | |
margin-left: 0; | |
list-style: none; | |
} | |
dl { | |
margin-bottom: 20px; | |
} | |
dt, | |
dd { | |
line-height: 20px; | |
} | |
dt { | |
font-weight: bold; | |
} | |
dd { | |
margin-left: 10px; | |
} | |
.dl-horizontal { | |
*zoom: 1; | |
} | |
.dl-horizontal:before, | |
.dl-horizontal:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.dl-horizontal:after { | |
clear: both; | |
} | |
.dl-horizontal dt { | |
float: left; | |
width: 160px; | |
overflow: hidden; | |
clear: left; | |
text-align: right; | |
text-overflow: ellipsis; | |
white-space: nowrap; | |
} | |
.dl-horizontal dd { | |
margin-left: 180px; | |
} | |
hr { | |
margin: 20px 0; | |
border: 0; | |
border-top: 1px solid #eeeeee; | |
border-bottom: 1px solid #ffffff; | |
} | |
abbr[title], | |
abbr[data-original-title] { | |
cursor: help; | |
border-bottom: 1px dotted #999999; | |
} | |
abbr.initialism { | |
font-size: 90%; | |
text-transform: uppercase; | |
} | |
blockquote { | |
padding: 0 0 0 15px; | |
margin: 0 0 20px; | |
border-left: 5px solid #eeeeee; | |
} | |
blockquote p { | |
margin-bottom: 0; | |
font-size: 16px; | |
font-weight: 300; | |
line-height: 25px; | |
} | |
blockquote small { | |
display: block; | |
line-height: 20px; | |
color: #999999; | |
} | |
blockquote small:before { | |
content: '\2014 \00A0'; | |
} | |
blockquote.pull-right { | |
float: right; | |
padding-right: 15px; | |
padding-left: 0; | |
border-right: 5px solid #eeeeee; | |
border-left: 0; | |
} | |
blockquote.pull-right p, | |
blockquote.pull-right small { | |
text-align: right; | |
} | |
blockquote.pull-right small:before { | |
content: ''; | |
} | |
blockquote.pull-right small:after { | |
content: '\00A0 \2014'; | |
} | |
q:before, | |
q:after, | |
blockquote:before, | |
blockquote:after { | |
content: ""; | |
} | |
address { | |
display: block; | |
margin-bottom: 20px; | |
font-style: normal; | |
line-height: 20px; | |
} | |
code, | |
pre { | |
padding: 0 3px 2px; | |
font-family: Monaco, Menlo, Consolas, "Courier New", monospace; | |
font-size: 12px; | |
color: #333333; | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
code { | |
padding: 2px 4px; | |
color: #d14; | |
background-color: #f7f7f9; | |
border: 1px solid #e1e1e8; | |
} | |
pre { | |
display: block; | |
padding: 9.5px; | |
margin: 0 0 10px; | |
font-size: 13px; | |
line-height: 20px; | |
word-break: break-all; | |
word-wrap: break-word; | |
white-space: pre; | |
white-space: pre-wrap; | |
background-color: #f5f5f5; | |
border: 1px solid #ccc; | |
border: 1px solid rgba(0, 0, 0, 0.15); | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
pre.prettyprint { | |
margin-bottom: 20px; | |
} | |
pre code { | |
padding: 0; | |
color: inherit; | |
background-color: transparent; | |
border: 0; | |
} | |
.pre-scrollable { | |
max-height: 340px; | |
overflow-y: scroll; | |
} | |
form { | |
margin: 0 0 20px; | |
} | |
fieldset { | |
padding: 0; | |
margin: 0; | |
border: 0; | |
} | |
legend { | |
display: block; | |
width: 100%; | |
padding: 0; | |
margin-bottom: 20px; | |
font-size: 21px; | |
line-height: 40px; | |
color: #333333; | |
border: 0; | |
border-bottom: 1px solid #e5e5e5; | |
} | |
legend small { | |
font-size: 15px; | |
color: #999999; | |
} | |
label, | |
input, | |
button, | |
select, | |
textarea { | |
font-size: 14px; | |
font-weight: normal; | |
line-height: 20px; | |
} | |
input, | |
button, | |
select, | |
textarea { | |
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
} | |
label { | |
display: block; | |
margin-bottom: 5px; | |
} | |
select, | |
textarea, | |
input[type="text"], | |
input[type="password"], | |
input[type="datetime"], | |
input[type="datetime-local"], | |
input[type="date"], | |
input[type="month"], | |
input[type="time"], | |
input[type="week"], | |
input[type="number"], | |
input[type="email"], | |
input[type="url"], | |
input[type="search"], | |
input[type="tel"], | |
input[type="color"], | |
.uneditable-input { | |
display: inline-block; | |
height: 20px; | |
padding: 4px 6px; | |
margin-bottom: 10px; | |
font-size: 14px; | |
line-height: 20px; | |
color: #555555; | |
vertical-align: middle; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
input, | |
textarea, | |
.uneditable-input { | |
width: 206px; | |
} | |
textarea { | |
height: auto; | |
} | |
textarea, | |
input[type="text"], | |
input[type="password"], | |
input[type="datetime"], | |
input[type="datetime-local"], | |
input[type="date"], | |
input[type="month"], | |
input[type="time"], | |
input[type="week"], | |
input[type="number"], | |
input[type="email"], | |
input[type="url"], | |
input[type="search"], | |
input[type="tel"], | |
input[type="color"], | |
.uneditable-input { | |
background-color: #ffffff; | |
border: 1px solid #cccccc; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
-webkit-transition: border linear 0.2s, box-shadow linear 0.2s; | |
-moz-transition: border linear 0.2s, box-shadow linear 0.2s; | |
-o-transition: border linear 0.2s, box-shadow linear 0.2s; | |
transition: border linear 0.2s, box-shadow linear 0.2s; | |
} | |
textarea:focus, | |
input[type="text"]:focus, | |
input[type="password"]:focus, | |
input[type="datetime"]:focus, | |
input[type="datetime-local"]:focus, | |
input[type="date"]:focus, | |
input[type="month"]:focus, | |
input[type="time"]:focus, | |
input[type="week"]:focus, | |
input[type="number"]:focus, | |
input[type="email"]:focus, | |
input[type="url"]:focus, | |
input[type="search"]:focus, | |
input[type="tel"]:focus, | |
input[type="color"]:focus, | |
.uneditable-input:focus { | |
border-color: rgba(82, 168, 236, 0.8); | |
outline: 0; | |
outline: thin dotted \9; | |
/* IE6-9 */ | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); | |
} | |
input[type="radio"], | |
input[type="checkbox"] { | |
margin: 4px 0 0; | |
margin-top: 1px \9; | |
*margin-top: 0; | |
line-height: normal; | |
cursor: pointer; | |
} | |
input[type="file"], | |
input[type="image"], | |
input[type="submit"], | |
input[type="reset"], | |
input[type="button"], | |
input[type="radio"], | |
input[type="checkbox"] { | |
width: auto; | |
} | |
select, | |
input[type="file"] { | |
height: 30px; | |
/* In IE7, the height of the select element cannot be changed by height, only font-size */ | |
*margin-top: 4px; | |
/* For IE7, add top margin to align select with labels */ | |
line-height: 30px; | |
} | |
select { | |
width: 220px; | |
background-color: #ffffff; | |
border: 1px solid #cccccc; | |
} | |
select[multiple], | |
select[size] { | |
height: auto; | |
} | |
select:focus, | |
input[type="file"]:focus, | |
input[type="radio"]:focus, | |
input[type="checkbox"]:focus { | |
outline: thin dotted #333; | |
outline: 5px auto -webkit-focus-ring-color; | |
outline-offset: -2px; | |
} | |
.uneditable-input, | |
.uneditable-textarea { | |
color: #999999; | |
cursor: not-allowed; | |
background-color: #fcfcfc; | |
border-color: #cccccc; | |
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); | |
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); | |
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); | |
} | |
.uneditable-input { | |
overflow: hidden; | |
white-space: nowrap; | |
} | |
.uneditable-textarea { | |
width: auto; | |
height: auto; | |
} | |
input:-moz-placeholder, | |
textarea:-moz-placeholder { | |
color: #999999; | |
} | |
input:-ms-input-placeholder, | |
textarea:-ms-input-placeholder { | |
color: #999999; | |
} | |
input::-webkit-input-placeholder, | |
textarea::-webkit-input-placeholder { | |
color: #999999; | |
} | |
.radio, | |
.checkbox { | |
min-height: 20px; | |
padding-left: 20px; | |
} | |
.radio input[type="radio"], | |
.checkbox input[type="checkbox"] { | |
float: left; | |
margin-left: -20px; | |
} | |
.controls > .radio:first-child, | |
.controls > .checkbox:first-child { | |
padding-top: 5px; | |
} | |
.radio.inline, | |
.checkbox.inline { | |
display: inline-block; | |
padding-top: 5px; | |
margin-bottom: 0; | |
vertical-align: middle; | |
} | |
.radio.inline + .radio.inline, | |
.checkbox.inline + .checkbox.inline { | |
margin-left: 10px; | |
} | |
.input-mini { | |
width: 60px; | |
} | |
.input-small { | |
width: 90px; | |
} | |
.input-medium { | |
width: 150px; | |
} | |
.input-large { | |
width: 210px; | |
} | |
.input-xlarge { | |
width: 270px; | |
} | |
.input-xxlarge { | |
width: 530px; | |
} | |
input[class*="span"], | |
select[class*="span"], | |
textarea[class*="span"], | |
.uneditable-input[class*="span"], | |
.row-fluid input[class*="span"], | |
.row-fluid select[class*="span"], | |
.row-fluid textarea[class*="span"], | |
.row-fluid .uneditable-input[class*="span"] { | |
float: none; | |
margin-left: 0; | |
} | |
.input-append input[class*="span"], | |
.input-append .uneditable-input[class*="span"], | |
.input-prepend input[class*="span"], | |
.input-prepend .uneditable-input[class*="span"], | |
.row-fluid input[class*="span"], | |
.row-fluid select[class*="span"], | |
.row-fluid textarea[class*="span"], | |
.row-fluid .uneditable-input[class*="span"], | |
.row-fluid .input-prepend [class*="span"], | |
.row-fluid .input-append [class*="span"] { | |
display: inline-block; | |
} | |
input, | |
textarea, | |
.uneditable-input { | |
margin-left: 0; | |
} | |
.controls-row [class*="span"] + [class*="span"] { | |
margin-left: 20px; | |
} | |
input.span12, | |
textarea.span12, | |
.uneditable-input.span12 { | |
width: 926px; | |
} | |
input.span11, | |
textarea.span11, | |
.uneditable-input.span11 { | |
width: 846px; | |
} | |
input.span10, | |
textarea.span10, | |
.uneditable-input.span10 { | |
width: 766px; | |
} | |
input.span9, | |
textarea.span9, | |
.uneditable-input.span9 { | |
width: 686px; | |
} | |
input.span8, | |
textarea.span8, | |
.uneditable-input.span8 { | |
width: 606px; | |
} | |
input.span7, | |
textarea.span7, | |
.uneditable-input.span7 { | |
width: 526px; | |
} | |
input.span6, | |
textarea.span6, | |
.uneditable-input.span6 { | |
width: 446px; | |
} | |
input.span5, | |
textarea.span5, | |
.uneditable-input.span5 { | |
width: 366px; | |
} | |
input.span4, | |
textarea.span4, | |
.uneditable-input.span4 { | |
width: 286px; | |
} | |
input.span3, | |
textarea.span3, | |
.uneditable-input.span3 { | |
width: 206px; | |
} | |
input.span2, | |
textarea.span2, | |
.uneditable-input.span2 { | |
width: 126px; | |
} | |
input.span1, | |
textarea.span1, | |
.uneditable-input.span1 { | |
width: 46px; | |
} | |
.controls-row { | |
*zoom: 1; | |
} | |
.controls-row:before, | |
.controls-row:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.controls-row:after { | |
clear: both; | |
} | |
.controls-row [class*="span"], | |
.row-fluid .controls-row [class*="span"] { | |
float: left; | |
} | |
.controls-row .checkbox[class*="span"], | |
.controls-row .radio[class*="span"] { | |
padding-top: 5px; | |
} | |
input[disabled], | |
select[disabled], | |
textarea[disabled], | |
input[readonly], | |
select[readonly], | |
textarea[readonly] { | |
cursor: not-allowed; | |
background-color: #eeeeee; | |
} | |
input[type="radio"][disabled], | |
input[type="checkbox"][disabled], | |
input[type="radio"][readonly], | |
input[type="checkbox"][readonly] { | |
background-color: transparent; | |
} | |
.control-group.warning > label, | |
.control-group.warning .help-block, | |
.control-group.warning .help-inline { | |
color: #c09853; | |
} | |
.control-group.warning .checkbox, | |
.control-group.warning .radio, | |
.control-group.warning input, | |
.control-group.warning select, | |
.control-group.warning textarea { | |
color: #c09853; | |
} | |
.control-group.warning input, | |
.control-group.warning select, | |
.control-group.warning textarea { | |
border-color: #c09853; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
} | |
.control-group.warning input:focus, | |
.control-group.warning select:focus, | |
.control-group.warning textarea:focus { | |
border-color: #a47e3c; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; | |
} | |
.control-group.warning .input-prepend .add-on, | |
.control-group.warning .input-append .add-on { | |
color: #c09853; | |
background-color: #fcf8e3; | |
border-color: #c09853; | |
} | |
.control-group.error > label, | |
.control-group.error .help-block, | |
.control-group.error .help-inline { | |
color: #b94a48; | |
} | |
.control-group.error .checkbox, | |
.control-group.error .radio, | |
.control-group.error input, | |
.control-group.error select, | |
.control-group.error textarea { | |
color: #b94a48; | |
} | |
.control-group.error input, | |
.control-group.error select, | |
.control-group.error textarea { | |
border-color: #b94a48; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
} | |
.control-group.error input:focus, | |
.control-group.error select:focus, | |
.control-group.error textarea:focus { | |
border-color: #953b39; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; | |
} | |
.control-group.error .input-prepend .add-on, | |
.control-group.error .input-append .add-on { | |
color: #b94a48; | |
background-color: #f2dede; | |
border-color: #b94a48; | |
} | |
.control-group.success > label, | |
.control-group.success .help-block, | |
.control-group.success .help-inline { | |
color: #468847; | |
} | |
.control-group.success .checkbox, | |
.control-group.success .radio, | |
.control-group.success input, | |
.control-group.success select, | |
.control-group.success textarea { | |
color: #468847; | |
} | |
.control-group.success input, | |
.control-group.success select, | |
.control-group.success textarea { | |
border-color: #468847; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
} | |
.control-group.success input:focus, | |
.control-group.success select:focus, | |
.control-group.success textarea:focus { | |
border-color: #356635; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; | |
} | |
.control-group.success .input-prepend .add-on, | |
.control-group.success .input-append .add-on { | |
color: #468847; | |
background-color: #dff0d8; | |
border-color: #468847; | |
} | |
.control-group.info > label, | |
.control-group.info .help-block, | |
.control-group.info .help-inline { | |
color: #3a87ad; | |
} | |
.control-group.info .checkbox, | |
.control-group.info .radio, | |
.control-group.info input, | |
.control-group.info select, | |
.control-group.info textarea { | |
color: #3a87ad; | |
} | |
.control-group.info input, | |
.control-group.info select, | |
.control-group.info textarea { | |
border-color: #3a87ad; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
} | |
.control-group.info input:focus, | |
.control-group.info select:focus, | |
.control-group.info textarea:focus { | |
border-color: #2d6987; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; | |
} | |
.control-group.info .input-prepend .add-on, | |
.control-group.info .input-append .add-on { | |
color: #3a87ad; | |
background-color: #d9edf7; | |
border-color: #3a87ad; | |
} | |
input:focus:required:invalid, | |
textarea:focus:required:invalid, | |
select:focus:required:invalid { | |
color: #b94a48; | |
border-color: #ee5f5b; | |
} | |
input:focus:required:invalid:focus, | |
textarea:focus:required:invalid:focus, | |
select:focus:required:invalid:focus { | |
border-color: #e9322d; | |
-webkit-box-shadow: 0 0 6px #f8b9b7; | |
-moz-box-shadow: 0 0 6px #f8b9b7; | |
box-shadow: 0 0 6px #f8b9b7; | |
} | |
.form-actions { | |
padding: 19px 20px 20px; | |
margin-top: 20px; | |
margin-bottom: 20px; | |
background-color: #f5f5f5; | |
border-top: 1px solid #e5e5e5; | |
*zoom: 1; | |
} | |
.form-actions:before, | |
.form-actions:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.form-actions:after { | |
clear: both; | |
} | |
.help-block, | |
.help-inline { | |
color: #595959; | |
} | |
.help-block { | |
display: block; | |
margin-bottom: 10px; | |
} | |
.help-inline { | |
display: inline-block; | |
*display: inline; | |
padding-left: 5px; | |
vertical-align: middle; | |
*zoom: 1; | |
} | |
.input-append, | |
.input-prepend { | |
margin-bottom: 5px; | |
font-size: 0; | |
white-space: nowrap; | |
} | |
.input-append input, | |
.input-prepend input, | |
.input-append select, | |
.input-prepend select, | |
.input-append .uneditable-input, | |
.input-prepend .uneditable-input, | |
.input-append .dropdown-menu, | |
.input-prepend .dropdown-menu { | |
font-size: 14px; | |
} | |
.input-append input, | |
.input-prepend input, | |
.input-append select, | |
.input-prepend select, | |
.input-append .uneditable-input, | |
.input-prepend .uneditable-input { | |
position: relative; | |
margin-bottom: 0; | |
*margin-left: 0; | |
vertical-align: top; | |
-webkit-border-radius: 0 4px 4px 0; | |
-moz-border-radius: 0 4px 4px 0; | |
border-radius: 0 4px 4px 0; | |
} | |
.input-append input:focus, | |
.input-prepend input:focus, | |
.input-append select:focus, | |
.input-prepend select:focus, | |
.input-append .uneditable-input:focus, | |
.input-prepend .uneditable-input:focus { | |
z-index: 2; | |
} | |
.input-append .add-on, | |
.input-prepend .add-on { | |
display: inline-block; | |
width: auto; | |
height: 20px; | |
min-width: 16px; | |
padding: 4px 5px; | |
font-size: 14px; | |
font-weight: normal; | |
line-height: 20px; | |
text-align: center; | |
text-shadow: 0 1px 0 #ffffff; | |
background-color: #eeeeee; | |
border: 1px solid #ccc; | |
} | |
.input-append .add-on, | |
.input-prepend .add-on, | |
.input-append .btn, | |
.input-prepend .btn { | |
vertical-align: top; | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.input-append .active, | |
.input-prepend .active { | |
background-color: #a9dba9; | |
border-color: #46a546; | |
} | |
.input-prepend .add-on, | |
.input-prepend .btn { | |
margin-right: -1px; | |
} | |
.input-prepend .add-on:first-child, | |
.input-prepend .btn:first-child { | |
-webkit-border-radius: 4px 0 0 4px; | |
-moz-border-radius: 4px 0 0 4px; | |
border-radius: 4px 0 0 4px; | |
} | |
.input-append input, | |
.input-append select, | |
.input-append .uneditable-input { | |
-webkit-border-radius: 4px 0 0 4px; | |
-moz-border-radius: 4px 0 0 4px; | |
border-radius: 4px 0 0 4px; | |
} | |
.input-append input + .btn-group .btn, | |
.input-append select + .btn-group .btn, | |
.input-append .uneditable-input + .btn-group .btn { | |
-webkit-border-radius: 0 4px 4px 0; | |
-moz-border-radius: 0 4px 4px 0; | |
border-radius: 0 4px 4px 0; | |
} | |
.input-append .add-on, | |
.input-append .btn, | |
.input-append .btn-group { | |
margin-left: -1px; | |
} | |
.input-append .add-on:last-child, | |
.input-append .btn:last-child { | |
-webkit-border-radius: 0 4px 4px 0; | |
-moz-border-radius: 0 4px 4px 0; | |
border-radius: 0 4px 4px 0; | |
} | |
.input-prepend.input-append input, | |
.input-prepend.input-append select, | |
.input-prepend.input-append .uneditable-input { | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.input-prepend.input-append input + .btn-group .btn, | |
.input-prepend.input-append select + .btn-group .btn, | |
.input-prepend.input-append .uneditable-input + .btn-group .btn { | |
-webkit-border-radius: 0 4px 4px 0; | |
-moz-border-radius: 0 4px 4px 0; | |
border-radius: 0 4px 4px 0; | |
} | |
.input-prepend.input-append .add-on:first-child, | |
.input-prepend.input-append .btn:first-child { | |
margin-right: -1px; | |
-webkit-border-radius: 4px 0 0 4px; | |
-moz-border-radius: 4px 0 0 4px; | |
border-radius: 4px 0 0 4px; | |
} | |
.input-prepend.input-append .add-on:last-child, | |
.input-prepend.input-append .btn:last-child { | |
margin-left: -1px; | |
-webkit-border-radius: 0 4px 4px 0; | |
-moz-border-radius: 0 4px 4px 0; | |
border-radius: 0 4px 4px 0; | |
} | |
.input-prepend.input-append .btn-group:first-child { | |
margin-left: 0; | |
} | |
input.search-query { | |
padding-right: 14px; | |
padding-right: 4px \9; | |
padding-left: 14px; | |
padding-left: 4px \9; | |
/* IE7-8 doesn't have border-radius, so don't indent the padding */ | |
margin-bottom: 0; | |
-webkit-border-radius: 15px; | |
-moz-border-radius: 15px; | |
border-radius: 15px; | |
} | |
/* Allow for input prepend/append in search forms */ | |
.form-search .input-append .search-query, | |
.form-search .input-prepend .search-query { | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.form-search .input-append .search-query { | |
-webkit-border-radius: 14px 0 0 14px; | |
-moz-border-radius: 14px 0 0 14px; | |
border-radius: 14px 0 0 14px; | |
} | |
.form-search .input-append .btn { | |
-webkit-border-radius: 0 14px 14px 0; | |
-moz-border-radius: 0 14px 14px 0; | |
border-radius: 0 14px 14px 0; | |
} | |
.form-search .input-prepend .search-query { | |
-webkit-border-radius: 0 14px 14px 0; | |
-moz-border-radius: 0 14px 14px 0; | |
border-radius: 0 14px 14px 0; | |
} | |
.form-search .input-prepend .btn { | |
-webkit-border-radius: 14px 0 0 14px; | |
-moz-border-radius: 14px 0 0 14px; | |
border-radius: 14px 0 0 14px; | |
} | |
.form-search input, | |
.form-inline input, | |
.form-horizontal input, | |
.form-search textarea, | |
.form-inline textarea, | |
.form-horizontal textarea, | |
.form-search select, | |
.form-inline select, | |
.form-horizontal select, | |
.form-search .help-inline, | |
.form-inline .help-inline, | |
.form-horizontal .help-inline, | |
.form-search .uneditable-input, | |
.form-inline .uneditable-input, | |
.form-horizontal .uneditable-input, | |
.form-search .input-prepend, | |
.form-inline .input-prepend, | |
.form-horizontal .input-prepend, | |
.form-search .input-append, | |
.form-inline .input-append, | |
.form-horizontal .input-append { | |
display: inline-block; | |
*display: inline; | |
margin-bottom: 0; | |
vertical-align: middle; | |
*zoom: 1; | |
} | |
.form-search .hide, | |
.form-inline .hide, | |
.form-horizontal .hide { | |
display: none; | |
} | |
.form-search label, | |
.form-inline label, | |
.form-search .btn-group, | |
.form-inline .btn-group { | |
display: inline-block; | |
} | |
.form-search .input-append, | |
.form-inline .input-append, | |
.form-search .input-prepend, | |
.form-inline .input-prepend { | |
margin-bottom: 0; | |
} | |
.form-search .radio, | |
.form-search .checkbox, | |
.form-inline .radio, | |
.form-inline .checkbox { | |
padding-left: 0; | |
margin-bottom: 0; | |
vertical-align: middle; | |
} | |
.form-search .radio input[type="radio"], | |
.form-search .checkbox input[type="checkbox"], | |
.form-inline .radio input[type="radio"], | |
.form-inline .checkbox input[type="checkbox"] { | |
float: left; | |
margin-right: 3px; | |
margin-left: 0; | |
} | |
.control-group { | |
margin-bottom: 10px; | |
} | |
legend + .control-group { | |
margin-top: 20px; | |
-webkit-margin-top-collapse: separate; | |
} | |
.form-horizontal .control-group { | |
margin-bottom: 20px; | |
*zoom: 1; | |
} | |
.form-horizontal .control-group:before, | |
.form-horizontal .control-group:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.form-horizontal .control-group:after { | |
clear: both; | |
} | |
.form-horizontal .control-label { | |
float: left; | |
width: 160px; | |
padding-top: 5px; | |
text-align: right; | |
} | |
.form-horizontal .controls { | |
*display: inline-block; | |
*padding-left: 20px; | |
margin-left: 180px; | |
*margin-left: 0; | |
} | |
.form-horizontal .controls:first-child { | |
*padding-left: 180px; | |
} | |
.form-horizontal .help-block { | |
margin-bottom: 0; | |
} | |
.form-horizontal input + .help-block, | |
.form-horizontal select + .help-block, | |
.form-horizontal textarea + .help-block { | |
margin-top: 10px; | |
} | |
.form-horizontal .form-actions { | |
padding-left: 180px; | |
} | |
table { | |
max-width: 100%; | |
background-color: transparent; | |
border-collapse: collapse; | |
border-spacing: 0; | |
} | |
.table { | |
width: 100%; | |
margin-bottom: 20px; | |
} | |
.table th, | |
.table td { | |
padding: 8px; | |
line-height: 20px; | |
text-align: left; | |
vertical-align: top; | |
border-top: 1px solid #dddddd; | |
} | |
.table th { | |
font-weight: bold; | |
} | |
.table thead th { | |
vertical-align: bottom; | |
} | |
.table caption + thead tr:first-child th, | |
.table caption + thead tr:first-child td, | |
.table colgroup + thead tr:first-child th, | |
.table colgroup + thead tr:first-child td, | |
.table thead:first-child tr:first-child th, | |
.table thead:first-child tr:first-child td { | |
border-top: 0; | |
} | |
.table tbody + tbody { | |
border-top: 2px solid #dddddd; | |
} | |
.table-condensed th, | |
.table-condensed td { | |
padding: 4px 5px; | |
} | |
.table-bordered { | |
border: 1px solid #dddddd; | |
border-collapse: separate; | |
*border-collapse: collapse; | |
border-left: 0; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
.table-bordered th, | |
.table-bordered td { | |
border-left: 1px solid #dddddd; | |
} | |
.table-bordered caption + thead tr:first-child th, | |
.table-bordered caption + tbody tr:first-child th, | |
.table-bordered caption + tbody tr:first-child td, | |
.table-bordered colgroup + thead tr:first-child th, | |
.table-bordered colgroup + tbody tr:first-child th, | |
.table-bordered colgroup + tbody tr:first-child td, | |
.table-bordered thead:first-child tr:first-child th, | |
.table-bordered tbody:first-child tr:first-child th, | |
.table-bordered tbody:first-child tr:first-child td { | |
border-top: 0; | |
} | |
.table-bordered thead:first-child tr:first-child th:first-child, | |
.table-bordered tbody:first-child tr:first-child td:first-child { | |
-webkit-border-top-left-radius: 4px; | |
border-top-left-radius: 4px; | |
-moz-border-radius-topleft: 4px; | |
} | |
.table-bordered thead:first-child tr:first-child th:last-child, | |
.table-bordered tbody:first-child tr:first-child td:last-child { | |
-webkit-border-top-right-radius: 4px; | |
border-top-right-radius: 4px; | |
-moz-border-radius-topright: 4px; | |
} | |
.table-bordered thead:last-child tr:last-child th:first-child, | |
.table-bordered tbody:last-child tr:last-child td:first-child, | |
.table-bordered tfoot:last-child tr:last-child td:first-child { | |
-webkit-border-radius: 0 0 0 4px; | |
-moz-border-radius: 0 0 0 4px; | |
border-radius: 0 0 0 4px; | |
-webkit-border-bottom-left-radius: 4px; | |
border-bottom-left-radius: 4px; | |
-moz-border-radius-bottomleft: 4px; | |
} | |
.table-bordered thead:last-child tr:last-child th:last-child, | |
.table-bordered tbody:last-child tr:last-child td:last-child, | |
.table-bordered tfoot:last-child tr:last-child td:last-child { | |
-webkit-border-bottom-right-radius: 4px; | |
border-bottom-right-radius: 4px; | |
-moz-border-radius-bottomright: 4px; | |
} | |
.table-bordered caption + thead tr:first-child th:first-child, | |
.table-bordered caption + tbody tr:first-child td:first-child, | |
.table-bordered colgroup + thead tr:first-child th:first-child, | |
.table-bordered colgroup + tbody tr:first-child td:first-child { | |
-webkit-border-top-left-radius: 4px; | |
border-top-left-radius: 4px; | |
-moz-border-radius-topleft: 4px; | |
} | |
.table-bordered caption + thead tr:first-child th:last-child, | |
.table-bordered caption + tbody tr:first-child td:last-child, | |
.table-bordered colgroup + thead tr:first-child th:last-child, | |
.table-bordered colgroup + tbody tr:first-child td:last-child { | |
-webkit-border-top-right-radius: 4px; | |
border-top-right-radius: 4px; | |
-moz-border-radius-topright: 4px; | |
} | |
.table-striped tbody tr:nth-child(odd) td, | |
.table-striped tbody tr:nth-child(odd) th { | |
background-color: #f9f9f9; | |
} | |
.table-hover tbody tr:hover td, | |
.table-hover tbody tr:hover th { | |
background-color: #f5f5f5; | |
} | |
table td[class*="span"], | |
table th[class*="span"], | |
.row-fluid table td[class*="span"], | |
.row-fluid table th[class*="span"] { | |
display: table-cell; | |
float: none; | |
margin-left: 0; | |
} | |
.table td.span1, | |
.table th.span1 { | |
float: none; | |
width: 44px; | |
margin-left: 0; | |
} | |
.table td.span2, | |
.table th.span2 { | |
float: none; | |
width: 124px; | |
margin-left: 0; | |
} | |
.table td.span3, | |
.table th.span3 { | |
float: none; | |
width: 204px; | |
margin-left: 0; | |
} | |
.table td.span4, | |
.table th.span4 { | |
float: none; | |
width: 284px; | |
margin-left: 0; | |
} | |
.table td.span5, | |
.table th.span5 { | |
float: none; | |
width: 364px; | |
margin-left: 0; | |
} | |
.table td.span6, | |
.table th.span6 { | |
float: none; | |
width: 444px; | |
margin-left: 0; | |
} | |
.table td.span7, | |
.table th.span7 { | |
float: none; | |
width: 524px; | |
margin-left: 0; | |
} | |
.table td.span8, | |
.table th.span8 { | |
float: none; | |
width: 604px; | |
margin-left: 0; | |
} | |
.table td.span9, | |
.table th.span9 { | |
float: none; | |
width: 684px; | |
margin-left: 0; | |
} | |
.table td.span10, | |
.table th.span10 { | |
float: none; | |
width: 764px; | |
margin-left: 0; | |
} | |
.table td.span11, | |
.table th.span11 { | |
float: none; | |
width: 844px; | |
margin-left: 0; | |
} | |
.table td.span12, | |
.table th.span12 { | |
float: none; | |
width: 924px; | |
margin-left: 0; | |
} | |
.table tbody tr.success td { | |
background-color: #dff0d8; | |
} | |
.table tbody tr.error td { | |
background-color: #f2dede; | |
} | |
.table tbody tr.warning td { | |
background-color: #fcf8e3; | |
} | |
.table tbody tr.info td { | |
background-color: #d9edf7; | |
} | |
.table-hover tbody tr.success:hover td { | |
background-color: #d0e9c6; | |
} | |
.table-hover tbody tr.error:hover td { | |
background-color: #ebcccc; | |
} | |
.table-hover tbody tr.warning:hover td { | |
background-color: #faf2cc; | |
} | |
.table-hover tbody tr.info:hover td { | |
background-color: #c4e3f3; | |
} | |
[class^="icon-"], | |
[class*=" icon-"] { | |
display: inline-block; | |
width: 14px; | |
height: 14px; | |
margin-top: 1px; | |
*margin-right: .3em; | |
line-height: 14px; | |
vertical-align: text-top; | |
background-image: url("../img/glyphicons-halflings.png"); | |
background-position: 14px 14px; | |
background-repeat: no-repeat; | |
} | |
/* White icons with optional class, or on hover/active states of certain elements */ | |
.icon-white, | |
.nav-pills > .active > a > [class^="icon-"], | |
.nav-pills > .active > a > [class*=" icon-"], | |
.nav-list > .active > a > [class^="icon-"], | |
.nav-list > .active > a > [class*=" icon-"], | |
.navbar-inverse .nav > .active > a > [class^="icon-"], | |
.navbar-inverse .nav > .active > a > [class*=" icon-"], | |
.dropdown-menu > li > a:hover > [class^="icon-"], | |
.dropdown-menu > li > a:hover > [class*=" icon-"], | |
.dropdown-menu > .active > a > [class^="icon-"], | |
.dropdown-menu > .active > a > [class*=" icon-"], | |
.dropdown-submenu:hover > a > [class^="icon-"], | |
.dropdown-submenu:hover > a > [class*=" icon-"] { | |
background-image: url("../img/glyphicons-halflings-white.png"); | |
} | |
.icon-glass { | |
background-position: 0 0; | |
} | |
.icon-music { | |
background-position: -24px 0; | |
} | |
.icon-search { | |
background-position: -48px 0; | |
} | |
.icon-envelope { | |
background-position: -72px 0; | |
} | |
.icon-heart { | |
background-position: -96px 0; | |
} | |
.icon-star { | |
background-position: -120px 0; | |
} | |
.icon-star-empty { | |
background-position: -144px 0; | |
} | |
.icon-user { | |
background-position: -168px 0; | |
} | |
.icon-film { | |
background-position: -192px 0; | |
} | |
.icon-th-large { | |
background-position: -216px 0; | |
} | |
.icon-th { | |
background-position: -240px 0; | |
} | |
.icon-th-list { | |
background-position: -264px 0; | |
} | |
.icon-ok { | |
background-position: -288px 0; | |
} | |
.icon-remove { | |
background-position: -312px 0; | |
} | |
.icon-zoom-in { | |
background-position: -336px 0; | |
} | |
.icon-zoom-out { | |
background-position: -360px 0; | |
} | |
.icon-off { | |
background-position: -384px 0; | |
} | |
.icon-signal { | |
background-position: -408px 0; | |
} | |
.icon-cog { | |
background-position: -432px 0; | |
} | |
.icon-trash { | |
background-position: -456px 0; | |
} | |
.icon-home { | |
background-position: 0 -24px; | |
} | |
.icon-file { | |
background-position: -24px -24px; | |
} | |
.icon-time { | |
background-position: -48px -24px; | |
} | |
.icon-road { | |
background-position: -72px -24px; | |
} | |
.icon-download-alt { | |
background-position: -96px -24px; | |
} | |
.icon-download { | |
background-position: -120px -24px; | |
} | |
.icon-upload { | |
background-position: -144px -24px; | |
} | |
.icon-inbox { | |
background-position: -168px -24px; | |
} | |
.icon-play-circle { | |
background-position: -192px -24px; | |
} | |
.icon-repeat { | |
background-position: -216px -24px; | |
} | |
.icon-refresh { | |
background-position: -240px -24px; | |
} | |
.icon-list-alt { | |
background-position: -264px -24px; | |
} | |
.icon-lock { | |
background-position: -287px -24px; | |
} | |
.icon-flag { | |
background-position: -312px -24px; | |
} | |
.icon-headphones { | |
background-position: -336px -24px; | |
} | |
.icon-volume-off { | |
background-position: -360px -24px; | |
} | |
.icon-volume-down { | |
background-position: -384px -24px; | |
} | |
.icon-volume-up { | |
background-position: -408px -24px; | |
} | |
.icon-qrcode { | |
background-position: -432px -24px; | |
} | |
.icon-barcode { | |
background-position: -456px -24px; | |
} | |
.icon-tag { | |
background-position: 0 -48px; | |
} | |
.icon-tags { | |
background-position: -25px -48px; | |
} | |
.icon-book { | |
background-position: -48px -48px; | |
} | |
.icon-bookmark { | |
background-position: -72px -48px; | |
} | |
.icon-print { | |
background-position: -96px -48px; | |
} | |
.icon-camera { | |
background-position: -120px -48px; | |
} | |
.icon-font { | |
background-position: -144px -48px; | |
} | |
.icon-bold { | |
background-position: -167px -48px; | |
} | |
.icon-italic { | |
background-position: -192px -48px; | |
} | |
.icon-text-height { | |
background-position: -216px -48px; | |
} | |
.icon-text-width { | |
background-position: -240px -48px; | |
} | |
.icon-align-left { | |
background-position: -264px -48px; | |
} | |
.icon-align-center { | |
background-position: -288px -48px; | |
} | |
.icon-align-right { | |
background-position: -312px -48px; | |
} | |
.icon-align-justify { | |
background-position: -336px -48px; | |
} | |
.icon-list { | |
background-position: -360px -48px; | |
} | |
.icon-indent-left { | |
background-position: -384px -48px; | |
} | |
.icon-indent-right { | |
background-position: -408px -48px; | |
} | |
.icon-facetime-video { | |
background-position: -432px -48px; | |
} | |
.icon-picture { | |
background-position: -456px -48px; | |
} | |
.icon-pencil { | |
background-position: 0 -72px; | |
} | |
.icon-map-marker { | |
background-position: -24px -72px; | |
} | |
.icon-adjust { | |
background-position: -48px -72px; | |
} | |
.icon-tint { | |
background-position: -72px -72px; | |
} | |
.icon-edit { | |
background-position: -96px -72px; | |
} | |
.icon-share { | |
background-position: -120px -72px; | |
} | |
.icon-check { | |
background-position: -144px -72px; | |
} | |
.icon-move { | |
background-position: -168px -72px; | |
} | |
.icon-step-backward { | |
background-position: -192px -72px; | |
} | |
.icon-fast-backward { | |
background-position: -216px -72px; | |
} | |
.icon-backward { | |
background-position: -240px -72px; | |
} | |
.icon-play { | |
background-position: -264px -72px; | |
} | |
.icon-pause { | |
background-position: -288px -72px; | |
} | |
.icon-stop { | |
background-position: -312px -72px; | |
} | |
.icon-forward { | |
background-position: -336px -72px; | |
} | |
.icon-fast-forward { | |
background-position: -360px -72px; | |
} | |
.icon-step-forward { | |
background-position: -384px -72px; | |
} | |
.icon-eject { | |
background-position: -408px -72px; | |
} | |
.icon-chevron-left { | |
background-position: -432px -72px; | |
} | |
.icon-chevron-right { | |
background-position: -456px -72px; | |
} | |
.icon-plus-sign { | |
background-position: 0 -96px; | |
} | |
.icon-minus-sign { | |
background-position: -24px -96px; | |
} | |
.icon-remove-sign { | |
background-position: -48px -96px; | |
} | |
.icon-ok-sign { | |
background-position: -72px -96px; | |
} | |
.icon-question-sign { | |
background-position: -96px -96px; | |
} | |
.icon-info-sign { | |
background-position: -120px -96px; | |
} | |
.icon-screenshot { | |
background-position: -144px -96px; | |
} | |
.icon-remove-circle { | |
background-position: -168px -96px; | |
} | |
.icon-ok-circle { | |
background-position: -192px -96px; | |
} | |
.icon-ban-circle { | |
background-position: -216px -96px; | |
} | |
.icon-arrow-left { | |
background-position: -240px -96px; | |
} | |
.icon-arrow-right { | |
background-position: -264px -96px; | |
} | |
.icon-arrow-up { | |
background-position: -289px -96px; | |
} | |
.icon-arrow-down { | |
background-position: -312px -96px; | |
} | |
.icon-share-alt { | |
background-position: -336px -96px; | |
} | |
.icon-resize-full { | |
background-position: -360px -96px; | |
} | |
.icon-resize-small { | |
background-position: -384px -96px; | |
} | |
.icon-plus { | |
background-position: -408px -96px; | |
} | |
.icon-minus { | |
background-position: -433px -96px; | |
} | |
.icon-asterisk { | |
background-position: -456px -96px; | |
} | |
.icon-exclamation-sign { | |
background-position: 0 -120px; | |
} | |
.icon-gift { | |
background-position: -24px -120px; | |
} | |
.icon-leaf { | |
background-position: -48px -120px; | |
} | |
.icon-fire { | |
background-position: -72px -120px; | |
} | |
.icon-eye-open { | |
background-position: -96px -120px; | |
} | |
.icon-eye-close { | |
background-position: -120px -120px; | |
} | |
.icon-warning-sign { | |
background-position: -144px -120px; | |
} | |
.icon-plane { | |
background-position: -168px -120px; | |
} | |
.icon-calendar { | |
background-position: -192px -120px; | |
} | |
.icon-random { | |
width: 16px; | |
background-position: -216px -120px; | |
} | |
.icon-comment { | |
background-position: -240px -120px; | |
} | |
.icon-magnet { | |
background-position: -264px -120px; | |
} | |
.icon-chevron-up { | |
background-position: -288px -120px; | |
} | |
.icon-chevron-down { | |
background-position: -313px -119px; | |
} | |
.icon-retweet { | |
background-position: -336px -120px; | |
} | |
.icon-shopping-cart { | |
background-position: -360px -120px; | |
} | |
.icon-folder-close { | |
background-position: -384px -120px; | |
} | |
.icon-folder-open { | |
width: 16px; | |
background-position: -408px -120px; | |
} | |
.icon-resize-vertical { | |
background-position: -432px -119px; | |
} | |
.icon-resize-horizontal { | |
background-position: -456px -118px; | |
} | |
.icon-hdd { | |
background-position: 0 -144px; | |
} | |
.icon-bullhorn { | |
background-position: -24px -144px; | |
} | |
.icon-bell { | |
background-position: -48px -144px; | |
} | |
.icon-certificate { | |
background-position: -72px -144px; | |
} | |
.icon-thumbs-up { | |
background-position: -96px -144px; | |
} | |
.icon-thumbs-down { | |
background-position: -120px -144px; | |
} | |
.icon-hand-right { | |
background-position: -144px -144px; | |
} | |
.icon-hand-left { | |
background-position: -168px -144px; | |
} | |
.icon-hand-up { | |
background-position: -192px -144px; | |
} | |
.icon-hand-down { | |
background-position: -216px -144px; | |
} | |
.icon-circle-arrow-right { | |
background-position: -240px -144px; | |
} | |
.icon-circle-arrow-left { | |
background-position: -264px -144px; | |
} | |
.icon-circle-arrow-up { | |
background-position: -288px -144px; | |
} | |
.icon-circle-arrow-down { | |
background-position: -312px -144px; | |
} | |
.icon-globe { | |
background-position: -336px -144px; | |
} | |
.icon-wrench { | |
background-position: -360px -144px; | |
} | |
.icon-tasks { | |
background-position: -384px -144px; | |
} | |
.icon-filter { | |
background-position: -408px -144px; | |
} | |
.icon-briefcase { | |
background-position: -432px -144px; | |
} | |
.icon-fullscreen { | |
background-position: -456px -144px; | |
} | |
.dropup, | |
.dropdown { | |
position: relative; | |
} | |
.dropdown-toggle { | |
*margin-bottom: -3px; | |
} | |
.dropdown-toggle:active, | |
.open .dropdown-toggle { | |
outline: 0; | |
} | |
.caret { | |
display: inline-block; | |
width: 0; | |
height: 0; | |
vertical-align: top; | |
border-top: 4px solid #000000; | |
border-right: 4px solid transparent; | |
border-left: 4px solid transparent; | |
content: ""; | |
} | |
.dropdown .caret { | |
margin-top: 8px; | |
margin-left: 2px; | |
} | |
.dropdown-menu { | |
position: absolute; | |
top: 100%; | |
left: 0; | |
z-index: 1000; | |
display: none; | |
float: left; | |
min-width: 160px; | |
padding: 5px 0; | |
margin: 2px 0 0; | |
list-style: none; | |
background-color: #ffffff; | |
border: 1px solid #ccc; | |
border: 1px solid rgba(0, 0, 0, 0.2); | |
*border-right-width: 2px; | |
*border-bottom-width: 2px; | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
-webkit-background-clip: padding-box; | |
-moz-background-clip: padding; | |
background-clip: padding-box; | |
} | |
.dropdown-menu.pull-right { | |
right: 0; | |
left: auto; | |
} | |
.dropdown-menu .divider { | |
*width: 100%; | |
height: 1px; | |
margin: 9px 1px; | |
*margin: -5px 0 5px; | |
overflow: hidden; | |
background-color: #e5e5e5; | |
border-bottom: 1px solid #ffffff; | |
} | |
.dropdown-menu li > a { | |
display: block; | |
padding: 3px 20px; | |
clear: both; | |
font-weight: normal; | |
line-height: 20px; | |
color: #333333; | |
white-space: nowrap; | |
} | |
.dropdown-menu li > a:hover, | |
.dropdown-menu li > a:focus, | |
.dropdown-submenu:hover > a { | |
color: #ffffff; | |
text-decoration: none; | |
background-color: #0081c2; | |
background-image: -moz-linear-gradient(top, #0088cc, #0077b3); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); | |
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); | |
background-image: -o-linear-gradient(top, #0088cc, #0077b3); | |
background-image: linear-gradient(to bottom, #0088cc, #0077b3); | |
background-repeat: repeat-x; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); | |
} | |
.dropdown-menu .active > a, | |
.dropdown-menu .active > a:hover { | |
color: #333333; | |
text-decoration: none; | |
background-color: #0081c2; | |
background-image: -moz-linear-gradient(top, #0088cc, #0077b3); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); | |
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); | |
background-image: -o-linear-gradient(top, #0088cc, #0077b3); | |
background-image: linear-gradient(to bottom, #0088cc, #0077b3); | |
background-repeat: repeat-x; | |
outline: 0; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); | |
} | |
.dropdown-menu .disabled > a, | |
.dropdown-menu .disabled > a:hover { | |
color: #999999; | |
} | |
.dropdown-menu .disabled > a:hover { | |
text-decoration: none; | |
cursor: default; | |
background-color: transparent; | |
background-image: none; | |
} | |
.open { | |
*z-index: 1000; | |
} | |
.open > .dropdown-menu { | |
display: block; | |
} | |
.pull-right > .dropdown-menu { | |
right: 0; | |
left: auto; | |
} | |
.dropup .caret, | |
.navbar-fixed-bottom .dropdown .caret { | |
border-top: 0; | |
border-bottom: 4px solid #000000; | |
content: ""; | |
} | |
.dropup .dropdown-menu, | |
.navbar-fixed-bottom .dropdown .dropdown-menu { | |
top: auto; | |
bottom: 100%; | |
margin-bottom: 1px; | |
} | |
.dropdown-submenu { | |
position: relative; | |
} | |
.dropdown-submenu > .dropdown-menu { | |
top: 0; | |
left: 100%; | |
margin-top: -6px; | |
margin-left: -1px; | |
-webkit-border-radius: 0 6px 6px 6px; | |
-moz-border-radius: 0 6px 6px 6px; | |
border-radius: 0 6px 6px 6px; | |
} | |
.dropdown-submenu:hover > .dropdown-menu { | |
display: block; | |
} | |
.dropup .dropdown-submenu > .dropdown-menu { | |
top: auto; | |
bottom: 0; | |
margin-top: 0; | |
margin-bottom: -2px; | |
-webkit-border-radius: 5px 5px 5px 0; | |
-moz-border-radius: 5px 5px 5px 0; | |
border-radius: 5px 5px 5px 0; | |
} | |
.dropdown-submenu > a:after { | |
display: block; | |
float: right; | |
width: 0; | |
height: 0; | |
margin-top: 5px; | |
margin-right: -10px; | |
border-color: transparent; | |
border-left-color: #cccccc; | |
border-style: solid; | |
border-width: 5px 0 5px 5px; | |
content: " "; | |
} | |
.dropdown-submenu:hover > a:after { | |
border-left-color: #ffffff; | |
} | |
.dropdown-submenu.pull-left { | |
float: none; | |
} | |
.dropdown-submenu.pull-left > .dropdown-menu { | |
left: -100%; | |
margin-left: 10px; | |
-webkit-border-radius: 6px 0 6px 6px; | |
-moz-border-radius: 6px 0 6px 6px; | |
border-radius: 6px 0 6px 6px; | |
} | |
.dropdown .dropdown-menu .nav-header { | |
padding-right: 20px; | |
padding-left: 20px; | |
} | |
.typeahead { | |
margin-top: 2px; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
.well { | |
min-height: 20px; | |
padding: 19px; | |
margin-bottom: 20px; | |
background-color: #f5f5f5; | |
border: 1px solid #e3e3e3; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); | |
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); | |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); | |
} | |
.well blockquote { | |
border-color: #ddd; | |
border-color: rgba(0, 0, 0, 0.15); | |
} | |
.well-large { | |
padding: 24px; | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
} | |
.well-small { | |
padding: 9px; | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
.fade { | |
opacity: 0; | |
-webkit-transition: opacity 0.15s linear; | |
-moz-transition: opacity 0.15s linear; | |
-o-transition: opacity 0.15s linear; | |
transition: opacity 0.15s linear; | |
} | |
.fade.in { | |
opacity: 1; | |
} | |
.collapse { | |
position: relative; | |
height: 0; | |
overflow: hidden; | |
-webkit-transition: height 0.35s ease; | |
-moz-transition: height 0.35s ease; | |
-o-transition: height 0.35s ease; | |
transition: height 0.35s ease; | |
} | |
.collapse.in { | |
height: auto; | |
} | |
.close { | |
float: right; | |
font-size: 20px; | |
font-weight: bold; | |
line-height: 20px; | |
color: #000000; | |
text-shadow: 0 1px 0 #ffffff; | |
opacity: 0.2; | |
filter: alpha(opacity=20); | |
} | |
.close:hover { | |
color: #000000; | |
text-decoration: none; | |
cursor: pointer; | |
opacity: 0.4; | |
filter: alpha(opacity=40); | |
} | |
button.close { | |
padding: 0; | |
cursor: pointer; | |
background: transparent; | |
border: 0; | |
-webkit-appearance: none; | |
} | |
.btn { | |
display: inline-block; | |
*display: inline; | |
padding: 4px 12px; | |
margin-bottom: 0; | |
*margin-left: .3em; | |
font-size: 14px; | |
line-height: 20px; | |
*line-height: 20px; | |
color: #333333; | |
text-align: center; | |
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); | |
vertical-align: middle; | |
cursor: pointer; | |
background-color: #f5f5f5; | |
*background-color: #e6e6e6; | |
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); | |
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); | |
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); | |
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); | |
background-repeat: repeat-x; | |
border: 1px solid #bbbbbb; | |
*border: 0; | |
border-color: #e6e6e6 #e6e6e6 #bfbfbf; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
border-bottom-color: #a2a2a2; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
*zoom: 1; | |
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
} | |
.btn:hover, | |
.btn:active, | |
.btn.active, | |
.btn.disabled, | |
.btn[disabled] { | |
color: #333333; | |
background-color: #e6e6e6; | |
*background-color: #d9d9d9; | |
} | |
.btn:active, | |
.btn.active { | |
background-color: #cccccc \9; | |
} | |
.btn:first-child { | |
*margin-left: 0; | |
} | |
.btn:hover { | |
color: #333333; | |
text-decoration: none; | |
background-color: #e6e6e6; | |
*background-color: #d9d9d9; | |
/* Buttons in IE7 don't get borders, so darken on hover */ | |
background-position: 0 -15px; | |
-webkit-transition: background-position 0.1s linear; | |
-moz-transition: background-position 0.1s linear; | |
-o-transition: background-position 0.1s linear; | |
transition: background-position 0.1s linear; | |
} | |
.btn:focus { | |
outline: thin dotted #333; | |
outline: 5px auto -webkit-focus-ring-color; | |
outline-offset: -2px; | |
} | |
.btn.active, | |
.btn:active { | |
background-color: #e6e6e6; | |
background-color: #d9d9d9 \9; | |
background-image: none; | |
outline: 0; | |
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
} | |
.btn.disabled, | |
.btn[disabled] { | |
cursor: default; | |
background-color: #e6e6e6; | |
background-image: none; | |
opacity: 0.65; | |
filter: alpha(opacity=65); | |
-webkit-box-shadow: none; | |
-moz-box-shadow: none; | |
box-shadow: none; | |
} | |
.btn-large { | |
padding: 11px 19px; | |
font-size: 17.5px; | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
} | |
.btn-large [class^="icon-"], | |
.btn-large [class*=" icon-"] { | |
margin-top: 2px; | |
} | |
.btn-small { | |
padding: 2px 10px; | |
font-size: 11.9px; | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
.btn-small [class^="icon-"], | |
.btn-small [class*=" icon-"] { | |
margin-top: 0; | |
} | |
.btn-mini { | |
padding: 1px 6px; | |
font-size: 10.5px; | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
.btn-block { | |
display: block; | |
width: 100%; | |
padding-right: 0; | |
padding-left: 0; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
.btn-block + .btn-block { | |
margin-top: 5px; | |
} | |
input[type="submit"].btn-block, | |
input[type="reset"].btn-block, | |
input[type="button"].btn-block { | |
width: 100%; | |
} | |
.btn-primary.active, | |
.btn-warning.active, | |
.btn-danger.active, | |
.btn-success.active, | |
.btn-info.active, | |
.btn-inverse.active { | |
color: rgba(255, 255, 255, 0.75); | |
} | |
.btn { | |
border-color: #c5c5c5; | |
border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); | |
} | |
.btn-primary { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #006dcc; | |
*background-color: #0044cc; | |
background-image: -moz-linear-gradient(top, #0088cc, #0044cc); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); | |
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); | |
background-image: -o-linear-gradient(top, #0088cc, #0044cc); | |
background-image: linear-gradient(to bottom, #0088cc, #0044cc); | |
background-repeat: repeat-x; | |
border-color: #0044cc #0044cc #002a80; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
} | |
.btn-primary:hover, | |
.btn-primary:active, | |
.btn-primary.active, | |
.btn-primary.disabled, | |
.btn-primary[disabled] { | |
color: #ffffff; | |
background-color: #0044cc; | |
*background-color: #003bb3; | |
} | |
.btn-primary:active, | |
.btn-primary.active { | |
background-color: #003399 \9; | |
} | |
.btn-warning { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #faa732; | |
*background-color: #f89406; | |
background-image: -moz-linear-gradient(top, #fbb450, #f89406); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); | |
background-image: -webkit-linear-gradient(top, #fbb450, #f89406); | |
background-image: -o-linear-gradient(top, #fbb450, #f89406); | |
background-image: linear-gradient(to bottom, #fbb450, #f89406); | |
background-repeat: repeat-x; | |
border-color: #f89406 #f89406 #ad6704; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
} | |
.btn-warning:hover, | |
.btn-warning:active, | |
.btn-warning.active, | |
.btn-warning.disabled, | |
.btn-warning[disabled] { | |
color: #ffffff; | |
background-color: #f89406; | |
*background-color: #df8505; | |
} | |
.btn-warning:active, | |
.btn-warning.active { | |
background-color: #c67605 \9; | |
} | |
.btn-danger { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #da4f49; | |
*background-color: #bd362f; | |
background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); | |
background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); | |
background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); | |
background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); | |
background-repeat: repeat-x; | |
border-color: #bd362f #bd362f #802420; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
} | |
.btn-danger:hover, | |
.btn-danger:active, | |
.btn-danger.active, | |
.btn-danger.disabled, | |
.btn-danger[disabled] { | |
color: #ffffff; | |
background-color: #bd362f; | |
*background-color: #a9302a; | |
} | |
.btn-danger:active, | |
.btn-danger.active { | |
background-color: #942a25 \9; | |
} | |
.btn-success { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #5bb75b; | |
*background-color: #51a351; | |
background-image: -moz-linear-gradient(top, #62c462, #51a351); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); | |
background-image: -webkit-linear-gradient(top, #62c462, #51a351); | |
background-image: -o-linear-gradient(top, #62c462, #51a351); | |
background-image: linear-gradient(to bottom, #62c462, #51a351); | |
background-repeat: repeat-x; | |
border-color: #51a351 #51a351 #387038; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
} | |
.btn-success:hover, | |
.btn-success:active, | |
.btn-success.active, | |
.btn-success.disabled, | |
.btn-success[disabled] { | |
color: #ffffff; | |
background-color: #51a351; | |
*background-color: #499249; | |
} | |
.btn-success:active, | |
.btn-success.active { | |
background-color: #408140 \9; | |
} | |
.btn-info { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #49afcd; | |
*background-color: #2f96b4; | |
background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); | |
background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); | |
background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); | |
background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); | |
background-repeat: repeat-x; | |
border-color: #2f96b4 #2f96b4 #1f6377; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
} | |
.btn-info:hover, | |
.btn-info:active, | |
.btn-info.active, | |
.btn-info.disabled, | |
.btn-info[disabled] { | |
color: #ffffff; | |
background-color: #2f96b4; | |
*background-color: #2a85a0; | |
} | |
.btn-info:active, | |
.btn-info.active { | |
background-color: #24748c \9; | |
} | |
.btn-inverse { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #363636; | |
*background-color: #222222; | |
background-image: -moz-linear-gradient(top, #444444, #222222); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); | |
background-image: -webkit-linear-gradient(top, #444444, #222222); | |
background-image: -o-linear-gradient(top, #444444, #222222); | |
background-image: linear-gradient(to bottom, #444444, #222222); | |
background-repeat: repeat-x; | |
border-color: #222222 #222222 #000000; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
} | |
.btn-inverse:hover, | |
.btn-inverse:active, | |
.btn-inverse.active, | |
.btn-inverse.disabled, | |
.btn-inverse[disabled] { | |
color: #ffffff; | |
background-color: #222222; | |
*background-color: #151515; | |
} | |
.btn-inverse:active, | |
.btn-inverse.active { | |
background-color: #080808 \9; | |
} | |
button.btn, | |
input[type="submit"].btn { | |
*padding-top: 3px; | |
*padding-bottom: 3px; | |
} | |
button.btn::-moz-focus-inner, | |
input[type="submit"].btn::-moz-focus-inner { | |
padding: 0; | |
border: 0; | |
} | |
button.btn.btn-large, | |
input[type="submit"].btn.btn-large { | |
*padding-top: 7px; | |
*padding-bottom: 7px; | |
} | |
button.btn.btn-small, | |
input[type="submit"].btn.btn-small { | |
*padding-top: 3px; | |
*padding-bottom: 3px; | |
} | |
button.btn.btn-mini, | |
input[type="submit"].btn.btn-mini { | |
*padding-top: 1px; | |
*padding-bottom: 1px; | |
} | |
.btn-link, | |
.btn-link:active, | |
.btn-link[disabled] { | |
background-color: transparent; | |
background-image: none; | |
-webkit-box-shadow: none; | |
-moz-box-shadow: none; | |
box-shadow: none; | |
} | |
.btn-link { | |
color: #0088cc; | |
cursor: pointer; | |
border-color: transparent; | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.btn-link:hover { | |
color: #005580; | |
text-decoration: underline; | |
background-color: transparent; | |
} | |
.btn-link[disabled]:hover { | |
color: #333333; | |
text-decoration: none; | |
} | |
.btn-group { | |
position: relative; | |
display: inline-block; | |
*display: inline; | |
*margin-left: .3em; | |
font-size: 0; | |
white-space: nowrap; | |
vertical-align: middle; | |
*zoom: 1; | |
} | |
.btn-group:first-child { | |
*margin-left: 0; | |
} | |
.btn-group + .btn-group { | |
margin-left: 5px; | |
} | |
.btn-toolbar { | |
margin-top: 10px; | |
margin-bottom: 10px; | |
font-size: 0; | |
} | |
.btn-toolbar .btn + .btn, | |
.btn-toolbar .btn-group + .btn, | |
.btn-toolbar .btn + .btn-group { | |
margin-left: 5px; | |
} | |
.btn-group > .btn { | |
position: relative; | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.btn-group > .btn + .btn { | |
margin-left: -1px; | |
} | |
.btn-group > .btn, | |
.btn-group > .dropdown-menu { | |
font-size: 14px; | |
} | |
.btn-group > .btn-mini { | |
font-size: 11px; | |
} | |
.btn-group > .btn-small { | |
font-size: 12px; | |
} | |
.btn-group > .btn-large { | |
font-size: 16px; | |
} | |
.btn-group > .btn:first-child { | |
margin-left: 0; | |
-webkit-border-bottom-left-radius: 4px; | |
border-bottom-left-radius: 4px; | |
-webkit-border-top-left-radius: 4px; | |
border-top-left-radius: 4px; | |
-moz-border-radius-bottomleft: 4px; | |
-moz-border-radius-topleft: 4px; | |
} | |
.btn-group > .btn:last-child, | |
.btn-group > .dropdown-toggle { | |
-webkit-border-top-right-radius: 4px; | |
border-top-right-radius: 4px; | |
-webkit-border-bottom-right-radius: 4px; | |
border-bottom-right-radius: 4px; | |
-moz-border-radius-topright: 4px; | |
-moz-border-radius-bottomright: 4px; | |
} | |
.btn-group > .btn.large:first-child { | |
margin-left: 0; | |
-webkit-border-bottom-left-radius: 6px; | |
border-bottom-left-radius: 6px; | |
-webkit-border-top-left-radius: 6px; | |
border-top-left-radius: 6px; | |
-moz-border-radius-bottomleft: 6px; | |
-moz-border-radius-topleft: 6px; | |
} | |
.btn-group > .btn.large:last-child, | |
.btn-group > .large.dropdown-toggle { | |
-webkit-border-top-right-radius: 6px; | |
border-top-right-radius: 6px; | |
-webkit-border-bottom-right-radius: 6px; | |
border-bottom-right-radius: 6px; | |
-moz-border-radius-topright: 6px; | |
-moz-border-radius-bottomright: 6px; | |
} | |
.btn-group > .btn:hover, | |
.btn-group > .btn:focus, | |
.btn-group > .btn:active, | |
.btn-group > .btn.active { | |
z-index: 2; | |
} | |
.btn-group .dropdown-toggle:active, | |
.btn-group.open .dropdown-toggle { | |
outline: 0; | |
} | |
.btn-group > .btn + .dropdown-toggle { | |
*padding-top: 5px; | |
padding-right: 8px; | |
*padding-bottom: 5px; | |
padding-left: 8px; | |
-webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
-moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); | |
} | |
.btn-group > .btn-mini + .dropdown-toggle { | |
*padding-top: 2px; | |
padding-right: 5px; | |
*padding-bottom: 2px; | |
padding-left: 5px; | |
} | |
.btn-group > .btn-small + .dropdown-toggle { | |
*padding-top: 5px; | |
*padding-bottom: 4px; | |
} | |
.btn-group > .btn-large + .dropdown-toggle { | |
*padding-top: 7px; | |
padding-right: 12px; | |
*padding-bottom: 7px; | |
padding-left: 12px; | |
} | |
.btn-group.open .dropdown-toggle { | |
background-image: none; | |
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); | |
} | |
.btn-group.open .btn.dropdown-toggle { | |
background-color: #e6e6e6; | |
} | |
.btn-group.open .btn-primary.dropdown-toggle { | |
background-color: #0044cc; | |
} | |
.btn-group.open .btn-warning.dropdown-toggle { | |
background-color: #f89406; | |
} | |
.btn-group.open .btn-danger.dropdown-toggle { | |
background-color: #bd362f; | |
} | |
.btn-group.open .btn-success.dropdown-toggle { | |
background-color: #51a351; | |
} | |
.btn-group.open .btn-info.dropdown-toggle { | |
background-color: #2f96b4; | |
} | |
.btn-group.open .btn-inverse.dropdown-toggle { | |
background-color: #222222; | |
} | |
.btn .caret { | |
margin-top: 8px; | |
margin-left: 0; | |
} | |
.btn-mini .caret, | |
.btn-small .caret, | |
.btn-large .caret { | |
margin-top: 6px; | |
} | |
.btn-large .caret { | |
border-top-width: 5px; | |
border-right-width: 5px; | |
border-left-width: 5px; | |
} | |
.dropup .btn-large .caret { | |
border-bottom-width: 5px; | |
} | |
.btn-primary .caret, | |
.btn-warning .caret, | |
.btn-danger .caret, | |
.btn-info .caret, | |
.btn-success .caret, | |
.btn-inverse .caret { | |
border-top-color: #ffffff; | |
border-bottom-color: #ffffff; | |
} | |
.btn-group-vertical { | |
display: inline-block; | |
*display: inline; | |
/* IE7 inline-block hack */ | |
*zoom: 1; | |
} | |
.btn-group-vertical .btn { | |
display: block; | |
float: none; | |
width: 100%; | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.btn-group-vertical .btn + .btn { | |
margin-top: -1px; | |
margin-left: 0; | |
} | |
.btn-group-vertical .btn:first-child { | |
-webkit-border-radius: 4px 4px 0 0; | |
-moz-border-radius: 4px 4px 0 0; | |
border-radius: 4px 4px 0 0; | |
} | |
.btn-group-vertical .btn:last-child { | |
-webkit-border-radius: 0 0 4px 4px; | |
-moz-border-radius: 0 0 4px 4px; | |
border-radius: 0 0 4px 4px; | |
} | |
.btn-group-vertical .btn-large:first-child { | |
-webkit-border-radius: 6px 6px 0 0; | |
-moz-border-radius: 6px 6px 0 0; | |
border-radius: 6px 6px 0 0; | |
} | |
.btn-group-vertical .btn-large:last-child { | |
-webkit-border-radius: 0 0 6px 6px; | |
-moz-border-radius: 0 0 6px 6px; | |
border-radius: 0 0 6px 6px; | |
} | |
.alert { | |
padding: 8px 35px 8px 14px; | |
margin-bottom: 20px; | |
color: #c09853; | |
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); | |
background-color: #fcf8e3; | |
border: 1px solid #fbeed5; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
.alert h4 { | |
margin: 0; | |
} | |
.alert .close { | |
position: relative; | |
top: -2px; | |
right: -21px; | |
line-height: 20px; | |
} | |
.alert-success { | |
color: #468847; | |
background-color: #dff0d8; | |
border-color: #d6e9c6; | |
} | |
.alert-danger, | |
.alert-error { | |
color: #b94a48; | |
background-color: #f2dede; | |
border-color: #eed3d7; | |
} | |
.alert-info { | |
color: #3a87ad; | |
background-color: #d9edf7; | |
border-color: #bce8f1; | |
} | |
.alert-block { | |
padding-top: 14px; | |
padding-bottom: 14px; | |
} | |
.alert-block > p, | |
.alert-block > ul { | |
margin-bottom: 0; | |
} | |
.alert-block p + p { | |
margin-top: 5px; | |
} | |
.nav { | |
margin-bottom: 20px; | |
margin-left: 0; | |
list-style: none; | |
} | |
.nav > li > a { | |
display: block; | |
} | |
.nav > li > a:hover { | |
text-decoration: none; | |
background-color: #eeeeee; | |
} | |
.nav > .pull-right { | |
float: right; | |
} | |
.nav-header { | |
display: block; | |
padding: 3px 15px; | |
font-size: 11px; | |
font-weight: bold; | |
line-height: 20px; | |
color: #999999; | |
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); | |
text-transform: uppercase; | |
} | |
.nav li + .nav-header { | |
margin-top: 9px; | |
} | |
.nav-list { | |
padding-right: 15px; | |
padding-left: 15px; | |
margin-bottom: 0; | |
} | |
.nav-list > li > a, | |
.nav-list .nav-header { | |
margin-right: -15px; | |
margin-left: -15px; | |
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); | |
} | |
.nav-list > li > a { | |
padding: 3px 15px; | |
} | |
.nav-list > .active > a, | |
.nav-list > .active > a:hover { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); | |
background-color: #0088cc; | |
} | |
.nav-list [class^="icon-"], | |
.nav-list [class*=" icon-"] { | |
margin-right: 2px; | |
} | |
.nav-list .divider { | |
*width: 100%; | |
height: 1px; | |
margin: 9px 1px; | |
*margin: -5px 0 5px; | |
overflow: hidden; | |
background-color: #e5e5e5; | |
border-bottom: 1px solid #ffffff; | |
} | |
.nav-tabs, | |
.nav-pills { | |
*zoom: 1; | |
} | |
.nav-tabs:before, | |
.nav-pills:before, | |
.nav-tabs:after, | |
.nav-pills:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.nav-tabs:after, | |
.nav-pills:after { | |
clear: both; | |
} | |
.nav-tabs > li, | |
.nav-pills > li { | |
float: left; | |
} | |
.nav-tabs > li > a, | |
.nav-pills > li > a { | |
padding-right: 12px; | |
padding-left: 12px; | |
margin-right: 2px; | |
line-height: 14px; | |
} | |
.nav-tabs { | |
border-bottom: 1px solid #ddd; | |
} | |
.nav-tabs > li { | |
margin-bottom: -1px; | |
} | |
.nav-tabs > li > a { | |
padding-top: 8px; | |
padding-bottom: 8px; | |
line-height: 20px; | |
border: 1px solid transparent; | |
-webkit-border-radius: 4px 4px 0 0; | |
-moz-border-radius: 4px 4px 0 0; | |
border-radius: 4px 4px 0 0; | |
} | |
.nav-tabs > li > a:hover { | |
border-color: #eeeeee #eeeeee #dddddd; | |
} | |
.nav-tabs > .active > a, | |
.nav-tabs > .active > a:hover { | |
color: #555555; | |
cursor: default; | |
background-color: #ffffff; | |
border: 1px solid #ddd; | |
border-bottom-color: transparent; | |
} | |
.nav-pills > li > a { | |
padding-top: 8px; | |
padding-bottom: 8px; | |
margin-top: 2px; | |
margin-bottom: 2px; | |
-webkit-border-radius: 5px; | |
-moz-border-radius: 5px; | |
border-radius: 5px; | |
} | |
.nav-pills > .active > a, | |
.nav-pills > .active > a:hover { | |
color: #ffffff; | |
background-color: #0088cc; | |
} | |
.nav-stacked > li { | |
float: none; | |
} | |
.nav-stacked > li > a { | |
margin-right: 0; | |
} | |
.nav-tabs.nav-stacked { | |
border-bottom: 0; | |
} | |
.nav-tabs.nav-stacked > li > a { | |
border: 1px solid #ddd; | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.nav-tabs.nav-stacked > li:first-child > a { | |
-webkit-border-top-right-radius: 4px; | |
border-top-right-radius: 4px; | |
-webkit-border-top-left-radius: 4px; | |
border-top-left-radius: 4px; | |
-moz-border-radius-topright: 4px; | |
-moz-border-radius-topleft: 4px; | |
} | |
.nav-tabs.nav-stacked > li:last-child > a { | |
-webkit-border-bottom-right-radius: 4px; | |
border-bottom-right-radius: 4px; | |
-webkit-border-bottom-left-radius: 4px; | |
border-bottom-left-radius: 4px; | |
-moz-border-radius-bottomright: 4px; | |
-moz-border-radius-bottomleft: 4px; | |
} | |
.nav-tabs.nav-stacked > li > a:hover { | |
z-index: 2; | |
border-color: #ddd; | |
} | |
.nav-pills.nav-stacked > li > a { | |
margin-bottom: 3px; | |
} | |
.nav-pills.nav-stacked > li:last-child > a { | |
margin-bottom: 1px; | |
} | |
.nav-tabs .dropdown-menu { | |
-webkit-border-radius: 0 0 6px 6px; | |
-moz-border-radius: 0 0 6px 6px; | |
border-radius: 0 0 6px 6px; | |
} | |
.nav-pills .dropdown-menu { | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
} | |
.nav .dropdown-toggle .caret { | |
margin-top: 6px; | |
border-top-color: #0088cc; | |
border-bottom-color: #0088cc; | |
} | |
.nav .dropdown-toggle:hover .caret { | |
border-top-color: #005580; | |
border-bottom-color: #005580; | |
} | |
/* move down carets for tabs */ | |
.nav-tabs .dropdown-toggle .caret { | |
margin-top: 8px; | |
} | |
.nav .active .dropdown-toggle .caret { | |
border-top-color: #fff; | |
border-bottom-color: #fff; | |
} | |
.nav-tabs .active .dropdown-toggle .caret { | |
border-top-color: #555555; | |
border-bottom-color: #555555; | |
} | |
.nav > .dropdown.active > a:hover { | |
cursor: pointer; | |
} | |
.nav-tabs .open .dropdown-toggle, | |
.nav-pills .open .dropdown-toggle, | |
.nav > li.dropdown.open.active > a:hover { | |
color: #ffffff; | |
background-color: #999999; | |
border-color: #999999; | |
} | |
.nav li.dropdown.open .caret, | |
.nav li.dropdown.open.active .caret, | |
.nav li.dropdown.open a:hover .caret { | |
border-top-color: #ffffff; | |
border-bottom-color: #ffffff; | |
opacity: 1; | |
filter: alpha(opacity=100); | |
} | |
.tabs-stacked .open > a:hover { | |
border-color: #999999; | |
} | |
.tabbable { | |
*zoom: 1; | |
} | |
.tabbable:before, | |
.tabbable:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.tabbable:after { | |
clear: both; | |
} | |
.tab-content { | |
overflow: auto; | |
} | |
.tabs-below > .nav-tabs, | |
.tabs-right > .nav-tabs, | |
.tabs-left > .nav-tabs { | |
border-bottom: 0; | |
} | |
.tab-content > .tab-pane, | |
.pill-content > .pill-pane { | |
display: none; | |
} | |
.tab-content > .active, | |
.pill-content > .active { | |
display: block; | |
} | |
.tabs-below > .nav-tabs { | |
border-top: 1px solid #ddd; | |
} | |
.tabs-below > .nav-tabs > li { | |
margin-top: -1px; | |
margin-bottom: 0; | |
} | |
.tabs-below > .nav-tabs > li > a { | |
-webkit-border-radius: 0 0 4px 4px; | |
-moz-border-radius: 0 0 4px 4px; | |
border-radius: 0 0 4px 4px; | |
} | |
.tabs-below > .nav-tabs > li > a:hover { | |
border-top-color: #ddd; | |
border-bottom-color: transparent; | |
} | |
.tabs-below > .nav-tabs > .active > a, | |
.tabs-below > .nav-tabs > .active > a:hover { | |
border-color: transparent #ddd #ddd #ddd; | |
} | |
.tabs-left > .nav-tabs > li, | |
.tabs-right > .nav-tabs > li { | |
float: none; | |
} | |
.tabs-left > .nav-tabs > li > a, | |
.tabs-right > .nav-tabs > li > a { | |
min-width: 74px; | |
margin-right: 0; | |
margin-bottom: 3px; | |
} | |
.tabs-left > .nav-tabs { | |
float: left; | |
margin-right: 19px; | |
border-right: 1px solid #ddd; | |
} | |
.tabs-left > .nav-tabs > li > a { | |
margin-right: -1px; | |
-webkit-border-radius: 4px 0 0 4px; | |
-moz-border-radius: 4px 0 0 4px; | |
border-radius: 4px 0 0 4px; | |
} | |
.tabs-left > .nav-tabs > li > a:hover { | |
border-color: #eeeeee #dddddd #eeeeee #eeeeee; | |
} | |
.tabs-left > .nav-tabs .active > a, | |
.tabs-left > .nav-tabs .active > a:hover { | |
border-color: #ddd transparent #ddd #ddd; | |
*border-right-color: #ffffff; | |
} | |
.tabs-right > .nav-tabs { | |
float: right; | |
margin-left: 19px; | |
border-left: 1px solid #ddd; | |
} | |
.tabs-right > .nav-tabs > li > a { | |
margin-left: -1px; | |
-webkit-border-radius: 0 4px 4px 0; | |
-moz-border-radius: 0 4px 4px 0; | |
border-radius: 0 4px 4px 0; | |
} | |
.tabs-right > .nav-tabs > li > a:hover { | |
border-color: #eeeeee #eeeeee #eeeeee #dddddd; | |
} | |
.tabs-right > .nav-tabs .active > a, | |
.tabs-right > .nav-tabs .active > a:hover { | |
border-color: #ddd #ddd #ddd transparent; | |
*border-left-color: #ffffff; | |
} | |
.nav > .disabled > a { | |
color: #999999; | |
} | |
.nav > .disabled > a:hover { | |
text-decoration: none; | |
cursor: default; | |
background-color: transparent; | |
} | |
.navbar { | |
*position: relative; | |
*z-index: 2; | |
margin-bottom: 20px; | |
overflow: visible; | |
color: #777777; | |
} | |
.navbar-inner { | |
min-height: 40px; | |
padding-right: 20px; | |
padding-left: 20px; | |
background-color: #fafafa; | |
background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); | |
background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); | |
background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); | |
background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); | |
background-repeat: repeat-x; | |
border: 1px solid #d4d4d4; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); | |
*zoom: 1; | |
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); | |
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); | |
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); | |
} | |
.navbar-inner:before, | |
.navbar-inner:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.navbar-inner:after { | |
clear: both; | |
} | |
.navbar .container { | |
width: auto; | |
} | |
.nav-collapse.collapse { | |
height: auto; | |
overflow: visible; | |
} | |
.navbar .brand { | |
display: block; | |
float: left; | |
padding: 10px 20px 10px; | |
margin-left: -20px; | |
font-size: 20px; | |
font-weight: 200; | |
color: #777777; | |
text-shadow: 0 1px 0 #ffffff; | |
} | |
.navbar .brand:hover { | |
text-decoration: none; | |
} | |
.navbar-text { | |
margin-bottom: 0; | |
line-height: 40px; | |
} | |
.navbar-link { | |
color: #777777; | |
} | |
.navbar-link:hover { | |
color: #333333; | |
} | |
.navbar .divider-vertical { | |
height: 40px; | |
margin: 0 9px; | |
border-right: 1px solid #ffffff; | |
border-left: 1px solid #f2f2f2; | |
} | |
.navbar .btn, | |
.navbar .btn-group { | |
margin-top: 5px; | |
} | |
.navbar .btn-group .btn, | |
.navbar .input-prepend .btn, | |
.navbar .input-append .btn { | |
margin-top: 0; | |
} | |
.navbar-form { | |
margin-bottom: 0; | |
*zoom: 1; | |
} | |
.navbar-form:before, | |
.navbar-form:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.navbar-form:after { | |
clear: both; | |
} | |
.navbar-form input, | |
.navbar-form select, | |
.navbar-form .radio, | |
.navbar-form .checkbox { | |
margin-top: 5px; | |
} | |
.navbar-form input, | |
.navbar-form select, | |
.navbar-form .btn { | |
display: inline-block; | |
margin-bottom: 0; | |
} | |
.navbar-form input[type="image"], | |
.navbar-form input[type="checkbox"], | |
.navbar-form input[type="radio"] { | |
margin-top: 3px; | |
} | |
.navbar-form .input-append, | |
.navbar-form .input-prepend { | |
margin-top: 6px; | |
white-space: nowrap; | |
} | |
.navbar-form .input-append input, | |
.navbar-form .input-prepend input { | |
margin-top: 0; | |
} | |
.navbar-search { | |
position: relative; | |
float: left; | |
margin-top: 5px; | |
margin-bottom: 0; | |
} | |
.navbar-search .search-query { | |
padding: 4px 14px; | |
margin-bottom: 0; | |
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
font-size: 13px; | |
font-weight: normal; | |
line-height: 1; | |
-webkit-border-radius: 15px; | |
-moz-border-radius: 15px; | |
border-radius: 15px; | |
} | |
.navbar-static-top { | |
position: static; | |
margin-bottom: 0; | |
} | |
.navbar-static-top .navbar-inner { | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.navbar-fixed-top, | |
.navbar-fixed-bottom { | |
position: fixed; | |
right: 0; | |
left: 0; | |
z-index: 1030; | |
margin-bottom: 0; | |
} | |
.navbar-fixed-top .navbar-inner, | |
.navbar-static-top .navbar-inner { | |
border-width: 0 0 1px; | |
} | |
.navbar-fixed-bottom .navbar-inner { | |
border-width: 1px 0 0; | |
} | |
.navbar-fixed-top .navbar-inner, | |
.navbar-fixed-bottom .navbar-inner { | |
padding-right: 0; | |
padding-left: 0; | |
-webkit-border-radius: 0; | |
-moz-border-radius: 0; | |
border-radius: 0; | |
} | |
.navbar-static-top .container, | |
.navbar-fixed-top .container, | |
.navbar-fixed-bottom .container { | |
width: 940px; | |
} | |
.navbar-fixed-top { | |
top: 0; | |
} | |
.navbar-fixed-top .navbar-inner, | |
.navbar-static-top .navbar-inner { | |
-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); | |
-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); | |
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); | |
} | |
.navbar-fixed-bottom { | |
bottom: 0; | |
} | |
.navbar-fixed-bottom .navbar-inner { | |
-webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); | |
-moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); | |
box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); | |
} | |
.navbar .nav { | |
position: relative; | |
left: 0; | |
display: block; | |
float: left; | |
margin: 0 10px 0 0; | |
} | |
.navbar .nav.pull-right { | |
float: right; | |
margin-right: 0; | |
} | |
.navbar .nav > li { | |
float: left; | |
} | |
.navbar .nav > li > a { | |
float: none; | |
padding: 10px 15px 10px; | |
color: #777777; | |
text-decoration: none; | |
text-shadow: 0 1px 0 #ffffff; | |
} | |
.navbar .nav .dropdown-toggle .caret { | |
margin-top: 8px; | |
} | |
.navbar .nav > li > a:focus, | |
.navbar .nav > li > a:hover { | |
color: #333333; | |
text-decoration: none; | |
background-color: transparent; | |
} | |
.navbar .nav > .active > a, | |
.navbar .nav > .active > a:hover, | |
.navbar .nav > .active > a:focus { | |
color: #555555; | |
text-decoration: none; | |
background-color: #e5e5e5; | |
-webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); | |
-moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); | |
box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); | |
} | |
.navbar .btn-navbar { | |
display: none; | |
float: right; | |
padding: 7px 10px; | |
margin-right: 5px; | |
margin-left: 5px; | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #ededed; | |
*background-color: #e5e5e5; | |
background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); | |
background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); | |
background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); | |
background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); | |
background-repeat: repeat-x; | |
border-color: #e5e5e5 #e5e5e5 #bfbfbf; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); | |
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); | |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); | |
} | |
.navbar .btn-navbar:hover, | |
.navbar .btn-navbar:active, | |
.navbar .btn-navbar.active, | |
.navbar .btn-navbar.disabled, | |
.navbar .btn-navbar[disabled] { | |
color: #ffffff; | |
background-color: #e5e5e5; | |
*background-color: #d9d9d9; | |
} | |
.navbar .btn-navbar:active, | |
.navbar .btn-navbar.active { | |
background-color: #cccccc \9; | |
} | |
.navbar .btn-navbar .icon-bar { | |
display: block; | |
width: 18px; | |
height: 2px; | |
background-color: #f5f5f5; | |
-webkit-border-radius: 1px; | |
-moz-border-radius: 1px; | |
border-radius: 1px; | |
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); | |
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); | |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); | |
} | |
.btn-navbar .icon-bar + .icon-bar { | |
margin-top: 3px; | |
} | |
.navbar .nav > li > .dropdown-menu:before { | |
position: absolute; | |
top: -7px; | |
left: 9px; | |
display: inline-block; | |
border-right: 7px solid transparent; | |
border-bottom: 7px solid #ccc; | |
border-left: 7px solid transparent; | |
border-bottom-color: rgba(0, 0, 0, 0.2); | |
content: ''; | |
} | |
.navbar .nav > li > .dropdown-menu:after { | |
position: absolute; | |
top: -6px; | |
left: 10px; | |
display: inline-block; | |
border-right: 6px solid transparent; | |
border-bottom: 6px solid #ffffff; | |
border-left: 6px solid transparent; | |
content: ''; | |
} | |
.navbar-fixed-bottom .nav > li > .dropdown-menu:before { | |
top: auto; | |
bottom: -7px; | |
border-top: 7px solid #ccc; | |
border-bottom: 0; | |
border-top-color: rgba(0, 0, 0, 0.2); | |
} | |
.navbar-fixed-bottom .nav > li > .dropdown-menu:after { | |
top: auto; | |
bottom: -6px; | |
border-top: 6px solid #ffffff; | |
border-bottom: 0; | |
} | |
.navbar .nav li.dropdown.open > .dropdown-toggle, | |
.navbar .nav li.dropdown.active > .dropdown-toggle, | |
.navbar .nav li.dropdown.open.active > .dropdown-toggle { | |
color: #555555; | |
background-color: #e5e5e5; | |
} | |
.navbar .nav li.dropdown > .dropdown-toggle .caret { | |
border-top-color: #777777; | |
border-bottom-color: #777777; | |
} | |
.navbar .nav li.dropdown.open > .dropdown-toggle .caret, | |
.navbar .nav li.dropdown.active > .dropdown-toggle .caret, | |
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { | |
border-top-color: #555555; | |
border-bottom-color: #555555; | |
} | |
.navbar .pull-right > li > .dropdown-menu, | |
.navbar .nav > li > .dropdown-menu.pull-right { | |
right: 0; | |
left: auto; | |
} | |
.navbar .pull-right > li > .dropdown-menu:before, | |
.navbar .nav > li > .dropdown-menu.pull-right:before { | |
right: 12px; | |
left: auto; | |
} | |
.navbar .pull-right > li > .dropdown-menu:after, | |
.navbar .nav > li > .dropdown-menu.pull-right:after { | |
right: 13px; | |
left: auto; | |
} | |
.navbar .pull-right > li > .dropdown-menu .dropdown-menu, | |
.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { | |
right: 100%; | |
left: auto; | |
margin-right: -1px; | |
margin-left: 0; | |
-webkit-border-radius: 6px 0 6px 6px; | |
-moz-border-radius: 6px 0 6px 6px; | |
border-radius: 6px 0 6px 6px; | |
} | |
.navbar-inverse { | |
color: #999999; | |
} | |
.navbar-inverse .navbar-inner { | |
background-color: #1b1b1b; | |
background-image: -moz-linear-gradient(top, #222222, #111111); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); | |
background-image: -webkit-linear-gradient(top, #222222, #111111); | |
background-image: -o-linear-gradient(top, #222222, #111111); | |
background-image: linear-gradient(to bottom, #222222, #111111); | |
background-repeat: repeat-x; | |
border-color: #252525; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); | |
} | |
.navbar-inverse .brand, | |
.navbar-inverse .nav > li > a { | |
color: #999999; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
} | |
.navbar-inverse .brand:hover, | |
.navbar-inverse .nav > li > a:hover { | |
color: #ffffff; | |
} | |
.navbar-inverse .nav > li > a:focus, | |
.navbar-inverse .nav > li > a:hover { | |
color: #ffffff; | |
background-color: transparent; | |
} | |
.navbar-inverse .nav .active > a, | |
.navbar-inverse .nav .active > a:hover, | |
.navbar-inverse .nav .active > a:focus { | |
color: #ffffff; | |
background-color: #111111; | |
} | |
.navbar-inverse .navbar-link { | |
color: #999999; | |
} | |
.navbar-inverse .navbar-link:hover { | |
color: #ffffff; | |
} | |
.navbar-inverse .divider-vertical { | |
border-right-color: #222222; | |
border-left-color: #111111; | |
} | |
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, | |
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, | |
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { | |
color: #ffffff; | |
background-color: #111111; | |
} | |
.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { | |
border-top-color: #999999; | |
border-bottom-color: #999999; | |
} | |
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, | |
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, | |
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { | |
border-top-color: #ffffff; | |
border-bottom-color: #ffffff; | |
} | |
.navbar-inverse .navbar-search .search-query { | |
color: #ffffff; | |
background-color: #515151; | |
border-color: #111111; | |
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); | |
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); | |
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); | |
-webkit-transition: none; | |
-moz-transition: none; | |
-o-transition: none; | |
transition: none; | |
} | |
.navbar-inverse .navbar-search .search-query:-moz-placeholder { | |
color: #cccccc; | |
} | |
.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { | |
color: #cccccc; | |
} | |
.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { | |
color: #cccccc; | |
} | |
.navbar-inverse .navbar-search .search-query:focus, | |
.navbar-inverse .navbar-search .search-query.focused { | |
padding: 5px 15px; | |
color: #333333; | |
text-shadow: 0 1px 0 #ffffff; | |
background-color: #ffffff; | |
border: 0; | |
outline: 0; | |
-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); | |
-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); | |
box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); | |
} | |
.navbar-inverse .btn-navbar { | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #0e0e0e; | |
*background-color: #040404; | |
background-image: -moz-linear-gradient(top, #151515, #040404); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); | |
background-image: -webkit-linear-gradient(top, #151515, #040404); | |
background-image: -o-linear-gradient(top, #151515, #040404); | |
background-image: linear-gradient(to bottom, #151515, #040404); | |
background-repeat: repeat-x; | |
border-color: #040404 #040404 #000000; | |
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); | |
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); | |
} | |
.navbar-inverse .btn-navbar:hover, | |
.navbar-inverse .btn-navbar:active, | |
.navbar-inverse .btn-navbar.active, | |
.navbar-inverse .btn-navbar.disabled, | |
.navbar-inverse .btn-navbar[disabled] { | |
color: #ffffff; | |
background-color: #040404; | |
*background-color: #000000; | |
} | |
.navbar-inverse .btn-navbar:active, | |
.navbar-inverse .btn-navbar.active { | |
background-color: #000000 \9; | |
} | |
.breadcrumb { | |
padding: 8px 15px; | |
margin: 0 0 20px; | |
list-style: none; | |
background-color: #f5f5f5; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
.breadcrumb li { | |
display: inline-block; | |
*display: inline; | |
text-shadow: 0 1px 0 #ffffff; | |
*zoom: 1; | |
} | |
.breadcrumb .divider { | |
padding: 0 5px; | |
color: #ccc; | |
} | |
.breadcrumb .active { | |
color: #999999; | |
} | |
.pagination { | |
margin: 20px 0; | |
} | |
.pagination ul { | |
display: inline-block; | |
*display: inline; | |
margin-bottom: 0; | |
margin-left: 0; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
*zoom: 1; | |
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); | |
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); | |
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); | |
} | |
.pagination ul > li { | |
display: inline; | |
} | |
.pagination ul > li > a, | |
.pagination ul > li > span { | |
float: left; | |
padding: 4px 12px; | |
line-height: 20px; | |
text-decoration: none; | |
background-color: #ffffff; | |
border: 1px solid #dddddd; | |
border-left-width: 0; | |
} | |
.pagination ul > li > a:hover, | |
.pagination ul > .active > a, | |
.pagination ul > .active > span { | |
background-color: #f5f5f5; | |
} | |
.pagination ul > .active > a, | |
.pagination ul > .active > span { | |
color: #999999; | |
cursor: default; | |
} | |
.pagination ul > .disabled > span, | |
.pagination ul > .disabled > a, | |
.pagination ul > .disabled > a:hover { | |
color: #999999; | |
cursor: default; | |
background-color: transparent; | |
} | |
.pagination ul > li:first-child > a, | |
.pagination ul > li:first-child > span { | |
border-left-width: 1px; | |
-webkit-border-bottom-left-radius: 4px; | |
border-bottom-left-radius: 4px; | |
-webkit-border-top-left-radius: 4px; | |
border-top-left-radius: 4px; | |
-moz-border-radius-bottomleft: 4px; | |
-moz-border-radius-topleft: 4px; | |
} | |
.pagination ul > li:last-child > a, | |
.pagination ul > li:last-child > span { | |
-webkit-border-top-right-radius: 4px; | |
border-top-right-radius: 4px; | |
-webkit-border-bottom-right-radius: 4px; | |
border-bottom-right-radius: 4px; | |
-moz-border-radius-topright: 4px; | |
-moz-border-radius-bottomright: 4px; | |
} | |
.pagination-centered { | |
text-align: center; | |
} | |
.pagination-right { | |
text-align: right; | |
} | |
.pagination-large ul > li > a, | |
.pagination-large ul > li > span { | |
padding: 11px 19px; | |
font-size: 17.5px; | |
} | |
.pagination-large ul > li:first-child > a, | |
.pagination-large ul > li:first-child > span { | |
-webkit-border-bottom-left-radius: 6px; | |
border-bottom-left-radius: 6px; | |
-webkit-border-top-left-radius: 6px; | |
border-top-left-radius: 6px; | |
-moz-border-radius-bottomleft: 6px; | |
-moz-border-radius-topleft: 6px; | |
} | |
.pagination-large ul > li:last-child > a, | |
.pagination-large ul > li:last-child > span { | |
-webkit-border-top-right-radius: 6px; | |
border-top-right-radius: 6px; | |
-webkit-border-bottom-right-radius: 6px; | |
border-bottom-right-radius: 6px; | |
-moz-border-radius-topright: 6px; | |
-moz-border-radius-bottomright: 6px; | |
} | |
.pagination-mini ul > li:first-child > a, | |
.pagination-small ul > li:first-child > a, | |
.pagination-mini ul > li:first-child > span, | |
.pagination-small ul > li:first-child > span { | |
-webkit-border-bottom-left-radius: 3px; | |
border-bottom-left-radius: 3px; | |
-webkit-border-top-left-radius: 3px; | |
border-top-left-radius: 3px; | |
-moz-border-radius-bottomleft: 3px; | |
-moz-border-radius-topleft: 3px; | |
} | |
.pagination-mini ul > li:last-child > a, | |
.pagination-small ul > li:last-child > a, | |
.pagination-mini ul > li:last-child > span, | |
.pagination-small ul > li:last-child > span { | |
-webkit-border-top-right-radius: 3px; | |
border-top-right-radius: 3px; | |
-webkit-border-bottom-right-radius: 3px; | |
border-bottom-right-radius: 3px; | |
-moz-border-radius-topright: 3px; | |
-moz-border-radius-bottomright: 3px; | |
} | |
.pagination-small ul > li > a, | |
.pagination-small ul > li > span { | |
padding: 2px 10px; | |
font-size: 11.9px; | |
} | |
.pagination-mini ul > li > a, | |
.pagination-mini ul > li > span { | |
padding: 1px 6px; | |
font-size: 10.5px; | |
} | |
.pager { | |
margin: 20px 0; | |
text-align: center; | |
list-style: none; | |
*zoom: 1; | |
} | |
.pager:before, | |
.pager:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.pager:after { | |
clear: both; | |
} | |
.pager li { | |
display: inline; | |
} | |
.pager li > a, | |
.pager li > span { | |
display: inline-block; | |
padding: 5px 14px; | |
background-color: #fff; | |
border: 1px solid #ddd; | |
-webkit-border-radius: 15px; | |
-moz-border-radius: 15px; | |
border-radius: 15px; | |
} | |
.pager li > a:hover { | |
text-decoration: none; | |
background-color: #f5f5f5; | |
} | |
.pager .next > a, | |
.pager .next > span { | |
float: right; | |
} | |
.pager .previous > a, | |
.pager .previous > span { | |
float: left; | |
} | |
.pager .disabled > a, | |
.pager .disabled > a:hover, | |
.pager .disabled > span { | |
color: #999999; | |
cursor: default; | |
background-color: #fff; | |
} | |
.modal-backdrop { | |
position: fixed; | |
top: 0; | |
right: 0; | |
bottom: 0; | |
left: 0; | |
z-index: 1040; | |
background-color: #000000; | |
} | |
.modal-backdrop.fade { | |
opacity: 0; | |
} | |
.modal-backdrop, | |
.modal-backdrop.fade.in { | |
opacity: 0.8; | |
filter: alpha(opacity=80); | |
} | |
.modal { | |
position: fixed; | |
top: 50%; | |
left: 50%; | |
z-index: 1050; | |
width: 560px; | |
margin: -250px 0 0 -280px; | |
background-color: #ffffff; | |
border: 1px solid #999; | |
border: 1px solid rgba(0, 0, 0, 0.3); | |
*border: 1px solid #999; | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
outline: none; | |
-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); | |
-moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); | |
box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); | |
-webkit-background-clip: padding-box; | |
-moz-background-clip: padding-box; | |
background-clip: padding-box; | |
} | |
.modal.fade { | |
top: -25%; | |
-webkit-transition: opacity 0.3s linear, top 0.3s ease-out; | |
-moz-transition: opacity 0.3s linear, top 0.3s ease-out; | |
-o-transition: opacity 0.3s linear, top 0.3s ease-out; | |
transition: opacity 0.3s linear, top 0.3s ease-out; | |
} | |
.modal.fade.in { | |
top: 50%; | |
} | |
.modal-header { | |
padding: 9px 15px; | |
border-bottom: 1px solid #eee; | |
} | |
.modal-header .close { | |
margin-top: 2px; | |
} | |
.modal-header h3 { | |
margin: 0; | |
line-height: 30px; | |
} | |
.modal-body { | |
max-height: 400px; | |
padding: 15px; | |
overflow-y: auto; | |
} | |
.modal-form { | |
margin-bottom: 0; | |
} | |
.modal-footer { | |
padding: 14px 15px 15px; | |
margin-bottom: 0; | |
text-align: right; | |
background-color: #f5f5f5; | |
border-top: 1px solid #ddd; | |
-webkit-border-radius: 0 0 6px 6px; | |
-moz-border-radius: 0 0 6px 6px; | |
border-radius: 0 0 6px 6px; | |
*zoom: 1; | |
-webkit-box-shadow: inset 0 1px 0 #ffffff; | |
-moz-box-shadow: inset 0 1px 0 #ffffff; | |
box-shadow: inset 0 1px 0 #ffffff; | |
} | |
.modal-footer:before, | |
.modal-footer:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.modal-footer:after { | |
clear: both; | |
} | |
.modal-footer .btn + .btn { | |
margin-bottom: 0; | |
margin-left: 5px; | |
} | |
.modal-footer .btn-group .btn + .btn { | |
margin-left: -1px; | |
} | |
.modal-footer .btn-block + .btn-block { | |
margin-left: 0; | |
} | |
.tooltip { | |
position: absolute; | |
z-index: 1030; | |
display: block; | |
padding: 5px; | |
font-size: 11px; | |
opacity: 0; | |
filter: alpha(opacity=0); | |
visibility: visible; | |
} | |
.tooltip.in { | |
opacity: 0.8; | |
filter: alpha(opacity=80); | |
} | |
.tooltip.top { | |
margin-top: -3px; | |
} | |
.tooltip.right { | |
margin-left: 3px; | |
} | |
.tooltip.bottom { | |
margin-top: 3px; | |
} | |
.tooltip.left { | |
margin-left: -3px; | |
} | |
.tooltip-inner { | |
max-width: 200px; | |
padding: 3px 8px; | |
color: #ffffff; | |
text-align: center; | |
text-decoration: none; | |
background-color: #000000; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
.tooltip-arrow { | |
position: absolute; | |
width: 0; | |
height: 0; | |
border-color: transparent; | |
border-style: solid; | |
} | |
.tooltip.top .tooltip-arrow { | |
bottom: 0; | |
left: 50%; | |
margin-left: -5px; | |
border-top-color: #000000; | |
border-width: 5px 5px 0; | |
} | |
.tooltip.right .tooltip-arrow { | |
top: 50%; | |
left: 0; | |
margin-top: -5px; | |
border-right-color: #000000; | |
border-width: 5px 5px 5px 0; | |
} | |
.tooltip.left .tooltip-arrow { | |
top: 50%; | |
right: 0; | |
margin-top: -5px; | |
border-left-color: #000000; | |
border-width: 5px 0 5px 5px; | |
} | |
.tooltip.bottom .tooltip-arrow { | |
top: 0; | |
left: 50%; | |
margin-left: -5px; | |
border-bottom-color: #000000; | |
border-width: 0 5px 5px; | |
} | |
.popover { | |
position: absolute; | |
top: 0; | |
left: 0; | |
z-index: 1010; | |
display: none; | |
width: 236px; | |
padding: 1px; | |
background-color: #ffffff; | |
border: 1px solid #ccc; | |
border: 1px solid rgba(0, 0, 0, 0.2); | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
-webkit-background-clip: padding-box; | |
-moz-background-clip: padding; | |
background-clip: padding-box; | |
} | |
.popover.top { | |
margin-top: -10px; | |
} | |
.popover.right { | |
margin-left: 10px; | |
} | |
.popover.bottom { | |
margin-top: 10px; | |
} | |
.popover.left { | |
margin-left: -10px; | |
} | |
.popover-title { | |
padding: 8px 14px; | |
margin: 0; | |
font-size: 14px; | |
font-weight: normal; | |
line-height: 18px; | |
background-color: #f7f7f7; | |
border-bottom: 1px solid #ebebeb; | |
-webkit-border-radius: 5px 5px 0 0; | |
-moz-border-radius: 5px 5px 0 0; | |
border-radius: 5px 5px 0 0; | |
} | |
.popover-content { | |
padding: 9px 14px; | |
} | |
.popover-content p, | |
.popover-content ul, | |
.popover-content ol { | |
margin-bottom: 0; | |
} | |
.popover .arrow, | |
.popover .arrow:after { | |
position: absolute; | |
display: inline-block; | |
width: 0; | |
height: 0; | |
border-color: transparent; | |
border-style: solid; | |
} | |
.popover .arrow:after { | |
z-index: -1; | |
content: ""; | |
} | |
.popover.top .arrow { | |
bottom: -10px; | |
left: 50%; | |
margin-left: -10px; | |
border-top-color: #ffffff; | |
border-width: 10px 10px 0; | |
} | |
.popover.top .arrow:after { | |
bottom: -1px; | |
left: -11px; | |
border-top-color: rgba(0, 0, 0, 0.25); | |
border-width: 11px 11px 0; | |
} | |
.popover.right .arrow { | |
top: 50%; | |
left: -10px; | |
margin-top: -10px; | |
border-right-color: #ffffff; | |
border-width: 10px 10px 10px 0; | |
} | |
.popover.right .arrow:after { | |
bottom: -11px; | |
left: -1px; | |
border-right-color: rgba(0, 0, 0, 0.25); | |
border-width: 11px 11px 11px 0; | |
} | |
.popover.bottom .arrow { | |
top: -10px; | |
left: 50%; | |
margin-left: -10px; | |
border-bottom-color: #ffffff; | |
border-width: 0 10px 10px; | |
} | |
.popover.bottom .arrow:after { | |
top: -1px; | |
left: -11px; | |
border-bottom-color: rgba(0, 0, 0, 0.25); | |
border-width: 0 11px 11px; | |
} | |
.popover.left .arrow { | |
top: 50%; | |
right: -10px; | |
margin-top: -10px; | |
border-left-color: #ffffff; | |
border-width: 10px 0 10px 10px; | |
} | |
.popover.left .arrow:after { | |
right: -1px; | |
bottom: -11px; | |
border-left-color: rgba(0, 0, 0, 0.25); | |
border-width: 11px 0 11px 11px; | |
} | |
.thumbnails { | |
margin-left: -20px; | |
list-style: none; | |
*zoom: 1; | |
} | |
.thumbnails:before, | |
.thumbnails:after { | |
display: table; | |
line-height: 0; | |
content: ""; | |
} | |
.thumbnails:after { | |
clear: both; | |
} | |
.row-fluid .thumbnails { | |
margin-left: 0; | |
} | |
.thumbnails > li { | |
float: left; | |
margin-bottom: 20px; | |
margin-left: 20px; | |
} | |
.thumbnail { | |
display: block; | |
padding: 4px; | |
line-height: 20px; | |
border: 1px solid #ddd; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); | |
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); | |
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); | |
-webkit-transition: all 0.2s ease-in-out; | |
-moz-transition: all 0.2s ease-in-out; | |
-o-transition: all 0.2s ease-in-out; | |
transition: all 0.2s ease-in-out; | |
} | |
a.thumbnail:hover { | |
border-color: #0088cc; | |
-webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); | |
-moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); | |
box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); | |
} | |
.thumbnail > img { | |
display: block; | |
max-width: 100%; | |
margin-right: auto; | |
margin-left: auto; | |
} | |
.thumbnail .caption { | |
padding: 9px; | |
color: #555555; | |
} | |
.media, | |
.media-body { | |
overflow: hidden; | |
*overflow: visible; | |
zoom: 1; | |
} | |
.media, | |
.media .media { | |
margin-top: 15px; | |
} | |
.media:first-child { | |
margin-top: 0; | |
} | |
.media-object { | |
display: block; | |
} | |
.media-heading { | |
margin: 0 0 5px; | |
} | |
.media .pull-left { | |
margin-right: 10px; | |
} | |
.media .pull-right { | |
margin-left: 10px; | |
} | |
.media-list { | |
margin-left: 0; | |
list-style: none; | |
} | |
.label, | |
.badge { | |
display: inline-block; | |
padding: 2px 4px; | |
font-size: 11.844px; | |
font-weight: bold; | |
line-height: 14px; | |
color: #ffffff; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
white-space: nowrap; | |
vertical-align: baseline; | |
background-color: #999999; | |
} | |
.label { | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
.badge { | |
padding-right: 9px; | |
padding-left: 9px; | |
-webkit-border-radius: 9px; | |
-moz-border-radius: 9px; | |
border-radius: 9px; | |
} | |
a.label:hover, | |
a.badge:hover { | |
color: #ffffff; | |
text-decoration: none; | |
cursor: pointer; | |
} | |
.label-important, | |
.badge-important { | |
background-color: #b94a48; | |
} | |
.label-important[href], | |
.badge-important[href] { | |
background-color: #953b39; | |
} | |
.label-warning, | |
.badge-warning { | |
background-color: #f89406; | |
} | |
.label-warning[href], | |
.badge-warning[href] { | |
background-color: #c67605; | |
} | |
.label-success, | |
.badge-success { | |
background-color: #468847; | |
} | |
.label-success[href], | |
.badge-success[href] { | |
background-color: #356635; | |
} | |
.label-info, | |
.badge-info { | |
background-color: #3a87ad; | |
} | |
.label-info[href], | |
.badge-info[href] { | |
background-color: #2d6987; | |
} | |
.label-inverse, | |
.badge-inverse { | |
background-color: #333333; | |
} | |
.label-inverse[href], | |
.badge-inverse[href] { | |
background-color: #1a1a1a; | |
} | |
.btn .label, | |
.btn .badge { | |
position: relative; | |
top: -1px; | |
} | |
.btn-mini .label, | |
.btn-mini .badge { | |
top: 0; | |
} | |
@-webkit-keyframes progress-bar-stripes { | |
from { | |
background-position: 40px 0; | |
} | |
to { | |
background-position: 0 0; | |
} | |
} | |
@-moz-keyframes progress-bar-stripes { | |
from { | |
background-position: 40px 0; | |
} | |
to { | |
background-position: 0 0; | |
} | |
} | |
@-ms-keyframes progress-bar-stripes { | |
from { | |
background-position: 40px 0; | |
} | |
to { | |
background-position: 0 0; | |
} | |
} | |
@-o-keyframes progress-bar-stripes { | |
from { | |
background-position: 0 0; | |
} | |
to { | |
background-position: 40px 0; | |
} | |
} | |
@keyframes progress-bar-stripes { | |
from { | |
background-position: 40px 0; | |
} | |
to { | |
background-position: 0 0; | |
} | |
} | |
.progress { | |
height: 20px; | |
margin-bottom: 20px; | |
overflow: hidden; | |
background-color: #f7f7f7; | |
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); | |
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); | |
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); | |
background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); | |
background-repeat: repeat-x; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); | |
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
} | |
.progress .bar { | |
float: left; | |
width: 0; | |
height: 100%; | |
font-size: 12px; | |
color: #ffffff; | |
text-align: center; | |
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
background-color: #0e90d2; | |
background-image: -moz-linear-gradient(top, #149bdf, #0480be); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); | |
background-image: -webkit-linear-gradient(top, #149bdf, #0480be); | |
background-image: -o-linear-gradient(top, #149bdf, #0480be); | |
background-image: linear-gradient(to bottom, #149bdf, #0480be); | |
background-repeat: repeat-x; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); | |
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
-webkit-transition: width 0.6s ease; | |
-moz-transition: width 0.6s ease; | |
-o-transition: width 0.6s ease; | |
transition: width 0.6s ease; | |
} | |
.progress .bar + .bar { | |
-webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
-moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
} | |
.progress-striped .bar { | |
background-color: #149bdf; | |
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); | |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
-webkit-background-size: 40px 40px; | |
-moz-background-size: 40px 40px; | |
-o-background-size: 40px 40px; | |
background-size: 40px 40px; | |
} | |
.progress.active .bar { | |
-webkit-animation: progress-bar-stripes 2s linear infinite; | |
-moz-animation: progress-bar-stripes 2s linear infinite; | |
-ms-animation: progress-bar-stripes 2s linear infinite; | |
-o-animation: progress-bar-stripes 2s linear infinite; | |
animation: progress-bar-stripes 2s linear infinite; | |
} | |
.progress-danger .bar, | |
.progress .bar-danger { | |
background-color: #dd514c; | |
background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); | |
background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); | |
background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); | |
background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); | |
background-repeat: repeat-x; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); | |
} | |
.progress-danger.progress-striped .bar, | |
.progress-striped .bar-danger { | |
background-color: #ee5f5b; | |
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); | |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
} | |
.progress-success .bar, | |
.progress .bar-success { | |
background-color: #5eb95e; | |
background-image: -moz-linear-gradient(top, #62c462, #57a957); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); | |
background-image: -webkit-linear-gradient(top, #62c462, #57a957); | |
background-image: -o-linear-gradient(top, #62c462, #57a957); | |
background-image: linear-gradient(to bottom, #62c462, #57a957); | |
background-repeat: repeat-x; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); | |
} | |
.progress-success.progress-striped .bar, | |
.progress-striped .bar-success { | |
background-color: #62c462; | |
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); | |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
} | |
.progress-info .bar, | |
.progress .bar-info { | |
background-color: #4bb1cf; | |
background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); | |
background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); | |
background-image: -o-linear-gradient(top, #5bc0de, #339bb9); | |
background-image: linear-gradient(to bottom, #5bc0de, #339bb9); | |
background-repeat: repeat-x; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); | |
} | |
.progress-info.progress-striped .bar, | |
.progress-striped .bar-info { | |
background-color: #5bc0de; | |
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); | |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
} | |
.progress-warning .bar, | |
.progress .bar-warning { | |
background-color: #faa732; | |
background-image: -moz-linear-gradient(top, #fbb450, #f89406); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); | |
background-image: -webkit-linear-gradient(top, #fbb450, #f89406); | |
background-image: -o-linear-gradient(top, #fbb450, #f89406); | |
background-image: linear-gradient(to bottom, #fbb450, #f89406); | |
background-repeat: repeat-x; | |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); | |
} | |
.progress-warning.progress-striped .bar, | |
.progress-striped .bar-warning { | |
background-color: #fbb450; | |
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); | |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
} | |
.accordion { | |
margin-bottom: 20px; | |
} | |
.accordion-group { | |
margin-bottom: 2px; | |
border: 1px solid #e5e5e5; | |
-webkit-border-radius: 4px; | |
-moz-border-radius: 4px; | |
border-radius: 4px; | |
} | |
.accordion-heading { | |
border-bottom: 0; | |
} | |
.accordion-heading .accordion-toggle { | |
display: block; | |
padding: 8px 15px; | |
} | |
.accordion-toggle { | |
cursor: pointer; | |
} | |
.accordion-inner { | |
padding: 9px 15px; | |
border-top: 1px solid #e5e5e5; | |
} | |
.carousel { | |
position: relative; | |
margin-bottom: 20px; | |
line-height: 1; | |
} | |
.carousel-inner { | |
position: relative; | |
width: 100%; | |
overflow: hidden; | |
} | |
.carousel .item { | |
position: relative; | |
display: none; | |
-webkit-transition: 0.6s ease-in-out left; | |
-moz-transition: 0.6s ease-in-out left; | |
-o-transition: 0.6s ease-in-out left; | |
transition: 0.6s ease-in-out left; | |
} | |
.carousel .item > img { | |
display: block; | |
line-height: 1; | |
} | |
.carousel .active, | |
.carousel .next, | |
.carousel .prev { | |
display: block; | |
} | |
.carousel .active { | |
left: 0; | |
} | |
.carousel .next, | |
.carousel .prev { | |
position: absolute; | |
top: 0; | |
width: 100%; | |
} | |
.carousel .next { | |
left: 100%; | |
} | |
.carousel .prev { | |
left: -100%; | |
} | |
.carousel .next.left, | |
.carousel .prev.right { | |
left: 0; | |
} | |
.carousel .active.left { | |
left: -100%; | |
} | |
.carousel .active.right { | |
left: 100%; | |
} | |
.carousel-control { | |
position: absolute; | |
top: 40%; | |
left: 15px; | |
width: 40px; | |
height: 40px; | |
margin-top: -20px; | |
font-size: 60px; | |
font-weight: 100; | |
line-height: 30px; | |
color: #ffffff; | |
text-align: center; | |
background: #222222; | |
border: 3px solid #ffffff; | |
-webkit-border-radius: 23px; | |
-moz-border-radius: 23px; | |
border-radius: 23px; | |
opacity: 0.5; | |
filter: alpha(opacity=50); | |
} | |
.carousel-control.right { | |
right: 15px; | |
left: auto; | |
} | |
.carousel-control:hover { | |
color: #ffffff; | |
text-decoration: none; | |
opacity: 0.9; | |
filter: alpha(opacity=90); | |
} | |
.carousel-caption { | |
position: absolute; | |
right: 0; | |
bottom: 0; | |
left: 0; | |
padding: 15px; | |
background: #333333; | |
background: rgba(0, 0, 0, 0.75); | |
} | |
.carousel-caption h4, | |
.carousel-caption p { | |
line-height: 20px; | |
color: #ffffff; | |
} | |
.carousel-caption h4 { | |
margin: 0 0 5px; | |
} | |
.carousel-caption p { | |
margin-bottom: 0; | |
} | |
.hero-unit { | |
padding: 60px; | |
margin-bottom: 30px; | |
font-size: 18px; | |
font-weight: 200; | |
line-height: 30px; | |
color: inherit; | |
background-color: #eeeeee; | |
-webkit-border-radius: 6px; | |
-moz-border-radius: 6px; | |
border-radius: 6px; | |
} | |
.hero-unit h1 { | |
margin-bottom: 0; | |
font-size: 60px; | |
line-height: 1; | |
letter-spacing: -1px; | |
color: inherit; | |
} | |
.hero-unit li { | |
line-height: 30px; | |
} | |
.pull-right { | |
float: right; | |
} | |
.pull-left { | |
float: left; | |
} | |
.hide { | |
display: none; | |
} | |
.show { | |
display: block; | |
} | |
.invisible { | |
visibility: hidden; | |
} | |
.affix { | |
position: fixed; | |
} | |
/*! | |
* Bootstrap v2.2.1 | |
* | |
* Copyright 2012 Twitter, Inc | |
* Licensed under the Apache License v2.0 | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Designed and built with all the love in the world @twitter by @mdo and @fat. | |
*/article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal;cursor:pointer}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info>label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn,.input-append select+.btn-group .btn,.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child,.table-bordered tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#333;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:2px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini{padding:1px 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar .btn+.btn,.btn-toolbar .btn-group+.btn,.btn-toolbar .btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu{font-size:14px}.btn-group>.btn-mini{font-size:11px}.btn-group>.btn-small{font-size:12px}.btn-group>.btn-large{font-size:16px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical .btn{display:block;float:none;width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical .btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;color:#c09853;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible;color:#777}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse{color:#999}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb .divider{padding:0 5px;color:#ccc}.breadcrumb .active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:1px 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;width:560px;margin:-250px 0 0 -280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow:after{z-index:-1;content:""}.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-top-color:#fff;border-width:10px 10px 0}.popover.top .arrow:after{bottom:-1px;left:-11px;border-top-color:rgba(0,0,0,0.25);border-width:11px 11px 0}.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-right-color:#fff;border-width:10px 10px 10px 0}.popover.right .arrow:after{bottom:-11px;left:-1px;border-right-color:rgba(0,0,0,0.25);border-width:11px 11px 11px 0}.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-bottom-color:#fff;border-width:0 10px 10px}.popover.bottom .arrow:after{top:-1px;left:-11px;border-bottom-color:rgba(0,0,0,0.25);border-width:0 11px 11px}.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-left-color:#fff;border-width:10px 0 10px 10px}.popover.left .arrow:after{right:-1px;bottom:-11px;border-left-color:rgba(0,0,0,0.25);border-width:11px 0 11px 11px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel .item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item>img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} | |
<?php | |
include('template.inc.php'); | |
include_header_documents(""); | |
include_once('../include/common.inc.php'); | |
echo "<table> | |
<tr><th>Agency Name</th><th>Disclosure Log URL recorded?</th><th>Do we monitor this URL?</th></tr>"; | |
$agenciesdb = $server->get_db('disclosr-agencies'); | |
$docsdb = $server->get_db('disclosr-documents'); | |
try { | |
$rows = $agenciesdb->get_view("app", "byCanonicalName", null, true)->rows; | |
if ($rows) { | |
foreach ($rows as $row) { | |
echo "<tr><td><b>" . $row->value->name . "</b> (".$row->id.")</td>\n"; | |
echo "<td>"; | |
if (isset($row->value->FOIDocumentsURL)) { | |
echo '<a href="viewDocument.php?hash='.md5($row->value->FOIDocumentsURL).'">' | |
.$row->value->FOIDocumentsURL.'</a>'; | |
} else { | |
echo "<font color='red'>✘</font>"; | |
} | |
echo "</td>\n<td>"; | |
if (isset($row->value->FOIDocumentsURL)) { | |
if (file_exists("./scrapers/".$row->id.'.py')) { | |
echo "<font color='green'>✔</font>"; | |
} else if (file_exists("./scrapers/".$row->id.'.txt')){ | |
echo "<font color='blue'><b>▬</b></font>"; | |
} else { | |
echo "<font color='red'>✘</font>"; | |
} | |
} | |
echo "</td></tr>\n"; | |
} | |
} | |
} catch (SetteeRestClientException $e) { | |
setteErrorHandler($e); | |
} | |
echo "</table>"; | |
include_footer_documents(); | |
?> |
Binary files /dev/null and b/documents/favicon.ico differ
import sys,os | |
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', '../')) | |
import scrape | |
from bs4 import BeautifulSoup | |
import parsedatetime as pdt | |
from time import mktime | |
from datetime import datetime | |
import feedparser | |
import abc | |
class GenericDisclogScraper(object): | |
__metaclass__ = abc.ABCMeta | |
agencyID = None | |
disclogURL = None | |
def getAgencyID(self): | |
""" disclosr agency id """ | |
if self.agencyID == None: | |
self.agencyID = os.path.basename(sys.argv[0]).replace(".py","") | |
return self.agencyID | |
def getURL(self): | |
""" disclog URL""" | |
if self.disclogURL == None: | |
agency = scrape.agencydb.get(self.getAgencyID()) | |
self.disclogURL = agency['FOIDocumentsURL'] | |
return self.disclogURL | |
@abc.abstractmethod | |
def doScrape(self): | |
""" do the scraping """ | |
return | |
class GenericRSSDisclogScraper(GenericDisclogScraper): | |
def getDescription(self, entry, doc): | |
""" get description from rss entry""" | |
doc['description'] = entry.summary | |
return | |
def doScrape(self): | |
foidocsdb = scrape.couch['disclosr-foidocuments'] | |
(url,mime_type,content) = scrape.fetchURL(scrape.docsdb, self.getURL(), "foidocuments", self.getAgencyID()) | |
feed = feedparser.parse(content) | |
for entry in feed.entries: | |
#print entry | |
print entry.id | |
hash = scrape.mkhash(entry.id) | |
#print hash | |
doc = foidocsdb.get(hash) | |
#print doc | |
if doc == None: | |
print "saving" | |
edate = datetime.fromtimestamp(mktime( entry.published_parsed)).strftime("%Y-%m-%d") | |
doc = {'_id': hash, 'agencyID': self.getAgencyID(), 'url': entry.link, 'docID': entry.id, | |
"date": edate,"title": entry.title} | |
self.getDescription(entry, doc) | |
foidocsdb.save(doc) | |
else: | |
print "already saved" | |
class GenericOAICDisclogScraper(GenericDisclogScraper): | |
__metaclass__ = abc.ABCMeta | |
@abc.abstractmethod | |
def getColumns(self,columns): | |
""" rearranges columns if required """ | |
return | |
def doScrape(self): | |
cal = pdt.Calendar() | |
foidocsdb = scrape.couch['disclosr-foidocuments'] | |
(url,mime_type,content) = scrape.fetchURL(scrape.docsdb, self.getURL(), "foidocuments", self.getAgencyID()) | |
if content != None: | |
if mime_type == "text/html" or mime_type == "application/xhtml+xml" or mime_type =="application/xml": | |
# http://www.crummy.com/software/BeautifulSoup/documentation.html | |
soup = BeautifulSoup(content) | |
for row in soup.table.find_all('tr'): | |
columns = row.find_all('td') | |
if len(columns) == 5: | |
(id, date, description, title, notes) = self.getColumns(columns) | |
print id.string | |
hash = scrape.mkhash(url+id.string) | |
links = [] | |
for atag in row.find_all("a"): | |
if atag.has_key('href'): | |
links.append(scrape.fullurl(url,atag['href'])) | |
doc = foidocsdb.get(hash) | |
descriptiontxt = "" | |
for string in description.stripped_strings: | |
descriptiontxt = descriptiontxt + " \n" + string | |
if doc == None: | |
print "saving" | |
dtresult = cal.parseDateText(date.string) | |
if len(dtresult) == 2: | |
(dtdate,dtr) = dtresult | |
print dtdate | |
edate = ""+str(dtdate[0])+'-'+str(dtdate[1])+'-'+str(dtdate[2]) | |
else: | |
edate = "" | |
doc = {'_id': hash, 'agencyID': self.getAgencyID(), 'url': self.getURL(), "links": links, 'docID': id.string, | |
"date": edate, "description": descriptiontxt,"title": title.string,"notes": notes.string} | |
foidocsdb.save(doc) | |
else: | |
print "already saved" | |
elif len(row.find_all('th')) == 5: | |
print "header row" | |
else: | |
print "ERROR number of columns incorrect" | |
print row | |
google-site-verification: google676a414ad086cefb.html | |
google-site-verification: googlebcce906c6b666bb8.html | |
/* the humans responsible & colophon */ | |
/* humanstxt.org */ | |
/* TEAM */ | |
<your title>: <your name> | |
Site: | |
Twitter: | |
Location: | |
/* THANKS */ | |
Names (& URL): | |
/* SITE */ | |
Standards: HTML5, CSS3 | |
Components: Modernizr, jQuery | |
Software: | |
-o/- | |
+oo//- | |
:ooo+//: | |
-ooooo///- | |
/oooooo//: | |
:ooooooo+//- | |
-+oooooooo///- | |
-://////////////+oooooooooo++////////////:: | |
:+ooooooooooooooooooooooooooooooooooooo+:::- | |
-/+ooooooooooooooooooooooooooooooo+/::////:- | |
-:+oooooooooooooooooooooooooooo/::///////:- | |
--/+ooooooooooooooooooooo+::://////:- | |
-:+ooooooooooooooooo+:://////:-- | |
/ooooooooooooooooo+//////:- | |
-ooooooooooooooooooo////- | |
/ooooooooo+oooooooooo//: | |
:ooooooo+/::/+oooooooo+//- | |
-oooooo/::///////+oooooo///- | |
/ooo+::://////:---:/+oooo//: | |
-o+/::///////:- -:/+o+//- | |
:-:///////:- -:/:// | |
-////:- --//: | |
-- -: | |
Binary files /dev/null and b/documents/img/glyphicons-halflings-white.png differ
Binary files /dev/null and b/documents/img/glyphicons-halflings.png differ
<?php | |
include('template.inc.php'); | |
include_header_documents(""); | |
include_once('../include/common.inc.php'); | |
?> | |
<?php | |
$agenciesdb = $server->get_db('disclosr-agencies'); | |
$idtoname = Array(); | |
foreach ($agenciesdb->get_view("app", "byCanonicalName")->rows as $row) { | |
$idtoname[$row->id] = trim($row->value->name); | |
} | |
$foidocsdb = $server->get_db('disclosr-foidocuments'); | |
try { | |
$rows = $foidocsdb->get_view("app", "byDate", Array('9999-99-99','0000-00-00'), true)->rows; | |
if ($rows) { | |
foreach ($rows as $row) { | |
//print_r($row); | |
displayLogEntry($row,$idtoname); | |
/* 1/1/11 title (Dept dfggdfgdf) | |
description: | |
source link: | |
documents: | |
#1 title link */ | |
} | |
} | |
} catch (SetteeRestClientException $e) { | |
setteErrorHandler($e); | |
} | |
include_footer_documents(); | |
?> | |
/* =================================================== | |
* bootstrap-transition.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#transitions | |
* =================================================== | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ========================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/) | |
* ======================================================= */ | |
$(function () { | |
$.support.transition = (function () { | |
var transitionEnd = (function () { | |
var el = document.createElement('bootstrap') | |
, transEndEventNames = { | |
'WebkitTransition' : 'webkitTransitionEnd' | |
, 'MozTransition' : 'transitionend' | |
, 'OTransition' : 'oTransitionEnd otransitionend' | |
, 'transition' : 'transitionend' | |
} | |
, name | |
for (name in transEndEventNames){ | |
if (el.style[name] !== undefined) { | |
return transEndEventNames[name] | |
} | |
} | |
}()) | |
return transitionEnd && { | |
end: transitionEnd | |
} | |
})() | |
}) | |
}(window.jQuery);/* ========================================================== | |
* bootstrap-alert.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#alerts | |
* ========================================================== | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ========================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* ALERT CLASS DEFINITION | |
* ====================== */ | |
var dismiss = '[data-dismiss="alert"]' | |
, Alert = function (el) { | |
$(el).on('click', dismiss, this.close) | |
} | |
Alert.prototype.close = function (e) { | |
var $this = $(this) | |
, selector = $this.attr('data-target') | |
, $parent | |
if (!selector) { | |
selector = $this.attr('href') | |
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 | |
} | |
$parent = $(selector) | |
e && e.preventDefault() | |
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) | |
$parent.trigger(e = $.Event('close')) | |
if (e.isDefaultPrevented()) return | |
$parent.removeClass('in') | |
function removeElement() { | |
$parent | |
.trigger('closed') | |
.remove() | |
} | |
$.support.transition && $parent.hasClass('fade') ? | |
$parent.on($.support.transition.end, removeElement) : | |
removeElement() | |
} | |
/* ALERT PLUGIN DEFINITION | |
* ======================= */ | |
$.fn.alert = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('alert') | |
if (!data) $this.data('alert', (data = new Alert(this))) | |
if (typeof option == 'string') data[option].call($this) | |
}) | |
} | |
$.fn.alert.Constructor = Alert | |
/* ALERT DATA-API | |
* ============== */ | |
$(document).on('click.alert.data-api', dismiss, Alert.prototype.close) | |
}(window.jQuery);/* ============================================================ | |
* bootstrap-button.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#buttons | |
* ============================================================ | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ============================================================ */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* BUTTON PUBLIC CLASS DEFINITION | |
* ============================== */ | |
var Button = function (element, options) { | |
this.$element = $(element) | |
this.options = $.extend({}, $.fn.button.defaults, options) | |
} | |
Button.prototype.setState = function (state) { | |
var d = 'disabled' | |
, $el = this.$element | |
, data = $el.data() | |
, val = $el.is('input') ? 'val' : 'html' | |
state = state + 'Text' | |
data.resetText || $el.data('resetText', $el[val]()) | |
$el[val](data[state] || this.options[state]) | |
// push to event loop to allow forms to submit | |
setTimeout(function () { | |
state == 'loadingText' ? | |
$el.addClass(d).attr(d, d) : | |
$el.removeClass(d).removeAttr(d) | |
}, 0) | |
} | |
Button.prototype.toggle = function () { | |
var $parent = this.$element.closest('[data-toggle="buttons-radio"]') | |
$parent && $parent | |
.find('.active') | |
.removeClass('active') | |
this.$element.toggleClass('active') | |
} | |
/* BUTTON PLUGIN DEFINITION | |
* ======================== */ | |
$.fn.button = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('button') | |
, options = typeof option == 'object' && option | |
if (!data) $this.data('button', (data = new Button(this, options))) | |
if (option == 'toggle') data.toggle() | |
else if (option) data.setState(option) | |
}) | |
} | |
$.fn.button.defaults = { | |
loadingText: 'loading...' | |
} | |
$.fn.button.Constructor = Button | |
/* BUTTON DATA-API | |
* =============== */ | |
$(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { | |
var $btn = $(e.target) | |
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') | |
$btn.button('toggle') | |
}) | |
}(window.jQuery);/* ========================================================== | |
* bootstrap-carousel.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#carousel | |
* ========================================================== | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ========================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* CAROUSEL CLASS DEFINITION | |
* ========================= */ | |
var Carousel = function (element, options) { | |
this.$element = $(element) | |
this.options = options | |
this.options.slide && this.slide(this.options.slide) | |
this.options.pause == 'hover' && this.$element | |
.on('mouseenter', $.proxy(this.pause, this)) | |
.on('mouseleave', $.proxy(this.cycle, this)) | |
} | |
Carousel.prototype = { | |
cycle: function (e) { | |
if (!e) this.paused = false | |
this.options.interval | |
&& !this.paused | |
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) | |
return this | |
} | |
, to: function (pos) { | |
var $active = this.$element.find('.item.active') | |
, children = $active.parent().children() | |
, activePos = children.index($active) | |
, that = this | |
if (pos > (children.length - 1) || pos < 0) return | |
if (this.sliding) { | |
return this.$element.one('slid', function () { | |
that.to(pos) | |
}) | |
} | |
if (activePos == pos) { | |
return this.pause().cycle() | |
} | |
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) | |
} | |
, pause: function (e) { | |
if (!e) this.paused = true | |
if (this.$element.find('.next, .prev').length && $.support.transition.end) { | |
this.$element.trigger($.support.transition.end) | |
this.cycle() | |
} | |
clearInterval(this.interval) | |
this.interval = null | |
return this | |
} | |
, next: function () { | |
if (this.sliding) return | |
return this.slide('next') | |
} | |
, prev: function () { | |
if (this.sliding) return | |
return this.slide('prev') | |
} | |
, slide: function (type, next) { | |
var $active = this.$element.find('.item.active') | |
, $next = next || $active[type]() | |
, isCycling = this.interval | |
, direction = type == 'next' ? 'left' : 'right' | |
, fallback = type == 'next' ? 'first' : 'last' | |
, that = this | |
, e | |
this.sliding = true | |
isCycling && this.pause() | |
$next = $next.length ? $next : this.$element.find('.item')[fallback]() | |
e = $.Event('slide', { | |
relatedTarget: $next[0] | |
}) | |
if ($next.hasClass('active')) return | |
if ($.support.transition && this.$element.hasClass('slide')) { | |
this.$element.trigger(e) | |
if (e.isDefaultPrevented()) return | |
$next.addClass(type) | |
$next[0].offsetWidth // force reflow | |
$active.addClass(direction) | |
$next.addClass(direction) | |
this.$element.one($.support.transition.end, function () { | |
$next.removeClass([type, direction].join(' ')).addClass('active') | |
$active.removeClass(['active', direction].join(' ')) | |
that.sliding = false | |
setTimeout(function () { that.$element.trigger('slid') }, 0) | |
}) | |
} else { | |
this.$element.trigger(e) | |
if (e.isDefaultPrevented()) return | |
$active.removeClass('active') | |
$next.addClass('active') | |
this.sliding = false | |
this.$element.trigger('slid') | |
} | |
isCycling && this.cycle() | |
return this | |
} | |
} | |
/* CAROUSEL PLUGIN DEFINITION | |
* ========================== */ | |
$.fn.carousel = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('carousel') | |
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) | |
, action = typeof option == 'string' ? option : options.slide | |
if (!data) $this.data('carousel', (data = new Carousel(this, options))) | |
if (typeof option == 'number') data.to(option) | |
else if (action) data[action]() | |
else if (options.interval) data.cycle() | |
}) | |
} | |
$.fn.carousel.defaults = { | |
interval: 5000 | |
, pause: 'hover' | |
} | |
$.fn.carousel.Constructor = Carousel | |
/* CAROUSEL DATA-API | |
* ================= */ | |
$(document).on('click.carousel.data-api', '[data-slide]', function (e) { | |
var $this = $(this), href | |
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 | |
, options = $.extend({}, $target.data(), $this.data()) | |
$target.carousel(options) | |
e.preventDefault() | |
}) | |
}(window.jQuery);/* ============================================================= | |
* bootstrap-collapse.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#collapse | |
* ============================================================= | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ============================================================ */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* COLLAPSE PUBLIC CLASS DEFINITION | |
* ================================ */ | |
var Collapse = function (element, options) { | |
this.$element = $(element) | |
this.options = $.extend({}, $.fn.collapse.defaults, options) | |
if (this.options.parent) { | |
this.$parent = $(this.options.parent) | |
} | |
this.options.toggle && this.toggle() | |
} | |
Collapse.prototype = { | |
constructor: Collapse | |
, dimension: function () { | |
var hasWidth = this.$element.hasClass('width') | |
return hasWidth ? 'width' : 'height' | |
} | |
, show: function () { | |
var dimension | |
, scroll | |
, actives | |
, hasData | |
if (this.transitioning) return | |
dimension = this.dimension() | |
scroll = $.camelCase(['scroll', dimension].join('-')) | |
actives = this.$parent && this.$parent.find('> .accordion-group > .in') | |
if (actives && actives.length) { | |
hasData = actives.data('collapse') | |
if (hasData && hasData.transitioning) return | |
actives.collapse('hide') | |
hasData || actives.data('collapse', null) | |
} | |
this.$element[dimension](0) | |
this.transition('addClass', $.Event('show'), 'shown') | |
$.support.transition && this.$element[dimension](this.$element[0][scroll]) | |
} | |
, hide: function () { | |
var dimension | |
if (this.transitioning) return | |
dimension = this.dimension() | |
this.reset(this.$element[dimension]()) | |
this.transition('removeClass', $.Event('hide'), 'hidden') | |
this.$element[dimension](0) | |
} | |
, reset: function (size) { | |
var dimension = this.dimension() | |
this.$element | |
.removeClass('collapse') | |
[dimension](size || 'auto') | |
[0].offsetWidth | |
this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') | |
return this | |
} | |
, transition: function (method, startEvent, completeEvent) { | |
var that = this | |
, complete = function () { | |
if (startEvent.type == 'show') that.reset() | |
that.transitioning = 0 | |
that.$element.trigger(completeEvent) | |
} | |
this.$element.trigger(startEvent) | |
if (startEvent.isDefaultPrevented()) return | |
this.transitioning = 1 | |
this.$element[method]('in') | |
$.support.transition && this.$element.hasClass('collapse') ? | |
this.$element.one($.support.transition.end, complete) : | |
complete() | |
} | |
, toggle: function () { | |
this[this.$element.hasClass('in') ? 'hide' : 'show']() | |
} | |
} | |
/* COLLAPSIBLE PLUGIN DEFINITION | |
* ============================== */ | |
$.fn.collapse = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('collapse') | |
, options = typeof option == 'object' && option | |
if (!data) $this.data('collapse', (data = new Collapse(this, options))) | |
if (typeof option == 'string') data[option]() | |
}) | |
} | |
$.fn.collapse.defaults = { | |
toggle: true | |
} | |
$.fn.collapse.Constructor = Collapse | |
/* COLLAPSIBLE DATA-API | |
* ==================== */ | |
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { | |
var $this = $(this), href | |
, target = $this.attr('data-target') | |
|| e.preventDefault() | |
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 | |
, option = $(target).data('collapse') ? 'toggle' : $this.data() | |
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') | |
$(target).collapse(option) | |
}) | |
}(window.jQuery);/* ============================================================ | |
* bootstrap-dropdown.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#dropdowns | |
* ============================================================ | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ============================================================ */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* DROPDOWN CLASS DEFINITION | |
* ========================= */ | |
var toggle = '[data-toggle=dropdown]' | |
, Dropdown = function (element) { | |
var $el = $(element).on('click.dropdown.data-api', this.toggle) | |
$('html').on('click.dropdown.data-api', function () { | |
$el.parent().removeClass('open') | |
}) | |
} | |
Dropdown.prototype = { | |
constructor: Dropdown | |
, toggle: function (e) { | |
var $this = $(this) | |
, $parent | |
, isActive | |
if ($this.is('.disabled, :disabled')) return | |
$parent = getParent($this) | |
isActive = $parent.hasClass('open') | |
clearMenus() | |
if (!isActive) { | |
$parent.toggleClass('open') | |
$this.focus() | |
} | |
return false | |
} | |
, keydown: function (e) { | |
var $this | |
, $items | |
, $active | |
, $parent | |
, isActive | |
, index | |
if (!/(38|40|27)/.test(e.keyCode)) return | |
$this = $(this) | |
e.preventDefault() | |
e.stopPropagation() | |
if ($this.is('.disabled, :disabled')) return | |
$parent = getParent($this) | |
isActive = $parent.hasClass('open') | |
if (!isActive || (isActive && e.keyCode == 27)) return $this.click() | |
$items = $('[role=menu] li:not(.divider) a', $parent) | |
if (!$items.length) return | |
index = $items.index($items.filter(':focus')) | |
if (e.keyCode == 38 && index > 0) index-- // up | |
if (e.keyCode == 40 && index < $items.length - 1) index++ // down | |
if (!~index) index = 0 | |
$items | |
.eq(index) | |
.focus() | |
} | |
} | |
function clearMenus() { | |
$(toggle).each(function () { | |
getParent($(this)).removeClass('open') | |
}) | |
} | |
function getParent($this) { | |
var selector = $this.attr('data-target') | |
, $parent | |
if (!selector) { | |
selector = $this.attr('href') | |
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 | |
} | |
$parent = $(selector) | |
$parent.length || ($parent = $this.parent()) | |
return $parent | |
} | |
/* DROPDOWN PLUGIN DEFINITION | |
* ========================== */ | |
$.fn.dropdown = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('dropdown') | |
if (!data) $this.data('dropdown', (data = new Dropdown(this))) | |
if (typeof option == 'string') data[option].call($this) | |
}) | |
} | |
$.fn.dropdown.Constructor = Dropdown | |
/* APPLY TO STANDARD DROPDOWN ELEMENTS | |
* =================================== */ | |
$(document) | |
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) | |
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) | |
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) | |
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) | |
}(window.jQuery);/* ========================================================= | |
* bootstrap-modal.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#modals | |
* ========================================================= | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ========================================================= */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* MODAL CLASS DEFINITION | |
* ====================== */ | |
var Modal = function (element, options) { | |
this.options = options | |
this.$element = $(element) | |
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) | |
this.options.remote && this.$element.find('.modal-body').load(this.options.remote) | |
} | |
Modal.prototype = { | |
constructor: Modal | |
, toggle: function () { | |
return this[!this.isShown ? 'show' : 'hide']() | |
} | |
, show: function () { | |
var that = this | |
, e = $.Event('show') | |
this.$element.trigger(e) | |
if (this.isShown || e.isDefaultPrevented()) return | |
this.isShown = true | |
this.escape() | |
this.backdrop(function () { | |
var transition = $.support.transition && that.$element.hasClass('fade') | |
if (!that.$element.parent().length) { | |
that.$element.appendTo(document.body) //don't move modals dom position | |
} | |
that.$element | |
.show() | |
if (transition) { | |
that.$element[0].offsetWidth // force reflow | |
} | |
that.$element | |
.addClass('in') | |
.attr('aria-hidden', false) | |
that.enforceFocus() | |
transition ? | |
that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) : | |
that.$element.focus().trigger('shown') | |
}) | |
} | |
, hide: function (e) { | |
e && e.preventDefault() | |
var that = this | |
e = $.Event('hide') | |
this.$element.trigger(e) | |
if (!this.isShown || e.isDefaultPrevented()) return | |
this.isShown = false | |
this.escape() | |
$(document).off('focusin.modal') | |
this.$element | |
.removeClass('in') | |
.attr('aria-hidden', true) | |
$.support.transition && this.$element.hasClass('fade') ? | |
this.hideWithTransition() : | |
this.hideModal() | |
} | |
, enforceFocus: function () { | |
var that = this | |
$(document).on('focusin.modal', function (e) { | |
if (that.$element[0] !== e.target && !that.$element.has(e.target).length) { | |
that.$element.focus() | |
} | |
}) | |
} | |
, escape: function () { | |
var that = this | |
if (this.isShown && this.options.keyboard) { | |
this.$element.on('keyup.dismiss.modal', function ( e ) { | |
e.which == 27 && that.hide() | |
}) | |
} else if (!this.isShown) { | |
this.$element.off('keyup.dismiss.modal') | |
} | |
} | |
, hideWithTransition: function () { | |
var that = this | |
, timeout = setTimeout(function () { | |
that.$element.off($.support.transition.end) | |
that.hideModal() | |
}, 500) | |
this.$element.one($.support.transition.end, function () { | |
clearTimeout(timeout) | |
that.hideModal() | |
}) | |
} | |
, hideModal: function (that) { | |
this.$element | |
.hide() | |
.trigger('hidden') | |
this.backdrop() | |
} | |
, removeBackdrop: function () { | |
this.$backdrop.remove() | |
this.$backdrop = null | |
} | |
, backdrop: function (callback) { | |
var that = this | |
, animate = this.$element.hasClass('fade') ? 'fade' : '' | |
if (this.isShown && this.options.backdrop) { | |
var doAnimate = $.support.transition && animate | |
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') | |
.appendTo(document.body) | |
this.$backdrop.click( | |
this.options.backdrop == 'static' ? | |
$.proxy(this.$element[0].focus, this.$element[0]) | |
: $.proxy(this.hide, this) | |
) | |
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow | |
this.$backdrop.addClass('in') | |
doAnimate ? | |
this.$backdrop.one($.support.transition.end, callback) : | |
callback() | |
} else if (!this.isShown && this.$backdrop) { | |
this.$backdrop.removeClass('in') | |
$.support.transition && this.$element.hasClass('fade')? | |
this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) : | |
this.removeBackdrop() | |
} else if (callback) { | |
callback() | |
} | |
} | |
} | |
/* MODAL PLUGIN DEFINITION | |
* ======================= */ | |
$.fn.modal = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('modal') | |
, options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option) | |
if (!data) $this.data('modal', (data = new Modal(this, options))) | |
if (typeof option == 'string') data[option]() | |
else if (options.show) data.show() | |
}) | |
} | |
$.fn.modal.defaults = { | |
backdrop: true | |
, keyboard: true | |
, show: true | |
} | |
$.fn.modal.Constructor = Modal | |
/* MODAL DATA-API | |
* ============== */ | |
$(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) { | |
var $this = $(this) | |
, href = $this.attr('href') | |
, $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 | |
, option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data()) | |
e.preventDefault() | |
$target | |
.modal(option) | |
.one('hide', function () { | |
$this.focus() | |
}) | |
}) | |
}(window.jQuery); | |
/* =========================================================== | |
* bootstrap-tooltip.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#tooltips | |
* Inspired by the original jQuery.tipsy by Jason Frame | |
* =========================================================== | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ========================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* TOOLTIP PUBLIC CLASS DEFINITION | |
* =============================== */ | |
var Tooltip = function (element, options) { | |
this.init('tooltip', element, options) | |
} | |
Tooltip.prototype = { | |
constructor: Tooltip | |
, init: function (type, element, options) { | |
var eventIn | |
, eventOut | |
this.type = type | |
this.$element = $(element) | |
this.options = this.getOptions(options) | |
this.enabled = true | |
if (this.options.trigger == 'click') { | |
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) | |
} else if (this.options.trigger != 'manual') { | |
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' | |
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' | |
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) | |
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) | |
} | |
this.options.selector ? | |
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : | |
this.fixTitle() | |
} | |
, getOptions: function (options) { | |
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()) | |
if (options.delay && typeof options.delay == 'number') { | |
options.delay = { | |
show: options.delay | |
, hide: options.delay | |
} | |
} | |
return options | |
} | |
, enter: function (e) { | |
var self = $(e.currentTarget)[this.type](this._options).data(this.type) | |
if (!self.options.delay || !self.options.delay.show) return self.show() | |
clearTimeout(this.timeout) | |
self.hoverState = 'in' | |
this.timeout = setTimeout(function() { | |
if (self.hoverState == 'in') self.show() | |
}, self.options.delay.show) | |
} | |
, leave: function (e) { | |
var self = $(e.currentTarget)[this.type](this._options).data(this.type) | |
if (this.timeout) clearTimeout(this.timeout) | |
if (!self.options.delay || !self.options.delay.hide) return self.hide() | |
self.hoverState = 'out' | |
this.timeout = setTimeout(function() { | |
if (self.hoverState == 'out') self.hide() | |
}, self.options.delay.hide) | |
} | |
, show: function () { | |
var $tip | |
, inside | |
, pos | |
, actualWidth | |
, actualHeight | |
, placement | |
, tp | |
if (this.hasContent() && this.enabled) { | |
$tip = this.tip() | |
this.setContent() | |
if (this.options.animation) { | |
$tip.addClass('fade') | |
} | |
placement = typeof this.options.placement == 'function' ? | |
this.options.placement.call(this, $tip[0], this.$element[0]) : | |
this.options.placement | |
inside = /in/.test(placement) | |
$tip | |
.detach() | |
.css({ top: 0, left: 0, display: 'block' }) | |
.insertAfter(this.$element) | |
pos = this.getPosition(inside) | |
actualWidth = $tip[0].offsetWidth | |
actualHeight = $tip[0].offsetHeight | |
switch (inside ? placement.split(' ')[1] : placement) { | |
case 'bottom': | |
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} | |
break | |
case 'top': | |
tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2} | |
break | |
case 'left': | |
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth} | |
break | |
case 'right': | |
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width} | |
break | |
} | |
$tip | |
.offset(tp) | |
.addClass(placement) | |
.addClass('in') | |
} | |
} | |
, setContent: function () { | |
var $tip = this.tip() | |
, title = this.getTitle() | |
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) | |
$tip.removeClass('fade in top bottom left right') | |
} | |
, hide: function () { | |
var that = this | |
, $tip = this.tip() | |
$tip.removeClass('in') | |
function removeWithAnimation() { | |
var timeout = setTimeout(function () { | |
$tip.off($.support.transition.end).detach() | |
}, 500) | |
$tip.one($.support.transition.end, function () { | |
clearTimeout(timeout) | |
$tip.detach() | |
}) | |
} | |
$.support.transition && this.$tip.hasClass('fade') ? | |
removeWithAnimation() : | |
$tip.detach() | |
return this | |
} | |
, fixTitle: function () { | |
var $e = this.$element | |
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { | |
$e.attr('data-original-title', $e.attr('title') || '').removeAttr('title') | |
} | |
} | |
, hasContent: function () { | |
return this.getTitle() | |
} | |
, getPosition: function (inside) { | |
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { | |
width: this.$element[0].offsetWidth | |
, height: this.$element[0].offsetHeight | |
}) | |
} | |
, getTitle: function () { | |
var title | |
, $e = this.$element | |
, o = this.options | |
title = $e.attr('data-original-title') | |
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) | |
return title | |
} | |
, tip: function () { | |
return this.$tip = this.$tip || $(this.options.template) | |
} | |
, validate: function () { | |
if (!this.$element[0].parentNode) { | |
this.hide() | |
this.$element = null | |
this.options = null | |
} | |
} | |
, enable: function () { | |
this.enabled = true | |
} | |
, disable: function () { | |
this.enabled = false | |
} | |
, toggleEnabled: function () { | |
this.enabled = !this.enabled | |
} | |
, toggle: function (e) { | |
var self = $(e.currentTarget)[this.type](this._options).data(this.type) | |
self[self.tip().hasClass('in') ? 'hide' : 'show']() | |
} | |
, destroy: function () { | |
this.hide().$element.off('.' + this.type).removeData(this.type) | |
} | |
} | |
/* TOOLTIP PLUGIN DEFINITION | |
* ========================= */ | |
$.fn.tooltip = function ( option ) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('tooltip') | |
, options = typeof option == 'object' && option | |
if (!data) $this.data('tooltip', (data = new Tooltip(this, options))) | |
if (typeof option == 'string') data[option]() | |
}) | |
} | |
$.fn.tooltip.Constructor = Tooltip | |
$.fn.tooltip.defaults = { | |
animation: true | |
, placement: 'top' | |
, selector: false | |
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' | |
, trigger: 'hover' | |
, title: '' | |
, delay: 0 | |
, html: false | |
} | |
}(window.jQuery);/* =========================================================== | |
* bootstrap-popover.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#popovers | |
* =========================================================== | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* =========================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* POPOVER PUBLIC CLASS DEFINITION | |
* =============================== */ | |
var Popover = function (element, options) { | |
this.init('popover', element, options) | |
} | |
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js | |
========================================== */ | |
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { | |
constructor: Popover | |
, setContent: function () { | |
var $tip = this.tip() | |
, title = this.getTitle() | |
, content = this.getContent() | |
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) | |
$tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) | |
$tip.removeClass('fade top bottom left right in') | |
} | |
, hasContent: function () { | |
return this.getTitle() || this.getContent() | |
} | |
, getContent: function () { | |
var content | |
, $e = this.$element | |
, o = this.options | |
content = $e.attr('data-content') | |
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) | |
return content | |
} | |
, tip: function () { | |
if (!this.$tip) { | |
this.$tip = $(this.options.template) | |
} | |
return this.$tip | |
} | |
, destroy: function () { | |
this.hide().$element.off('.' + this.type).removeData(this.type) | |
} | |
}) | |
/* POPOVER PLUGIN DEFINITION | |
* ======================= */ | |
$.fn.popover = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('popover') | |
, options = typeof option == 'object' && option | |
if (!data) $this.data('popover', (data = new Popover(this, options))) | |
if (typeof option == 'string') data[option]() | |
}) | |
} | |
$.fn.popover.Constructor = Popover | |
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { | |
placement: 'right' | |
, trigger: 'click' | |
, content: '' | |
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' | |
}) | |
}(window.jQuery);/* ============================================================= | |
* bootstrap-scrollspy.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#scrollspy | |
* ============================================================= | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ============================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* SCROLLSPY CLASS DEFINITION | |
* ========================== */ | |
function ScrollSpy(element, options) { | |
var process = $.proxy(this.process, this) | |
, $element = $(element).is('body') ? $(window) : $(element) | |
, href | |
this.options = $.extend({}, $.fn.scrollspy.defaults, options) | |
this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process) | |
this.selector = (this.options.target | |
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 | |
|| '') + ' .nav li > a' | |
this.$body = $('body') | |
this.refresh() | |
this.process() | |
} | |
ScrollSpy.prototype = { | |
constructor: ScrollSpy | |
, refresh: function () { | |
var self = this | |
, $targets | |
this.offsets = $([]) | |
this.targets = $([]) | |
$targets = this.$body | |
.find(this.selector) | |
.map(function () { | |
var $el = $(this) | |
, href = $el.data('target') || $el.attr('href') | |
, $href = /^#\w/.test(href) && $(href) | |
return ( $href | |
&& $href.length | |
&& [[ $href.position().top, href ]] ) || null | |
}) | |
.sort(function (a, b) { return a[0] - b[0] }) | |
.each(function () { | |
self.offsets.push(this[0]) | |
self.targets.push(this[1]) | |
}) | |
} | |
, process: function () { | |
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset | |
, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight | |
, maxScroll = scrollHeight - this.$scrollElement.height() | |
, offsets = this.offsets | |
, targets = this.targets | |
, activeTarget = this.activeTarget | |
, i | |
if (scrollTop >= maxScroll) { | |
return activeTarget != (i = targets.last()[0]) | |
&& this.activate ( i ) | |
} | |
for (i = offsets.length; i--;) { | |
activeTarget != targets[i] | |
&& scrollTop >= offsets[i] | |
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1]) | |
&& this.activate( targets[i] ) | |
} | |
} | |
, activate: function (target) { | |
var active | |
, selector | |
this.activeTarget = target | |
$(this.selector) | |
.parent('.active') | |
.removeClass('active') | |
selector = this.selector | |
+ '[data-target="' + target + '"],' | |
+ this.selector + '[href="' + target + '"]' | |
active = $(selector) | |
.parent('li') | |
.addClass('active') | |
if (active.parent('.dropdown-menu').length) { | |
active = active.closest('li.dropdown').addClass('active') | |
} | |
active.trigger('activate') | |
} | |
} | |
/* SCROLLSPY PLUGIN DEFINITION | |
* =========================== */ | |
$.fn.scrollspy = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('scrollspy') | |
, options = typeof option == 'object' && option | |
if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options))) | |
if (typeof option == 'string') data[option]() | |
}) | |
} | |
$.fn.scrollspy.Constructor = ScrollSpy | |
$.fn.scrollspy.defaults = { | |
offset: 10 | |
} | |
/* SCROLLSPY DATA-API | |
* ================== */ | |
$(window).on('load', function () { | |
$('[data-spy="scroll"]').each(function () { | |
var $spy = $(this) | |
$spy.scrollspy($spy.data()) | |
}) | |
}) | |
}(window.jQuery);/* ======================================================== | |
* bootstrap-tab.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#tabs | |
* ======================================================== | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ======================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* TAB CLASS DEFINITION | |
* ==================== */ | |
var Tab = function (element) { | |
this.element = $(element) | |
} | |
Tab.prototype = { | |
constructor: Tab | |
, show: function () { | |
var $this = this.element | |
, $ul = $this.closest('ul:not(.dropdown-menu)') | |
, selector = $this.attr('data-target') | |
, previous | |
, $target | |
, e | |
if (!selector) { | |
selector = $this.attr('href') | |
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 | |
} | |
if ( $this.parent('li').hasClass('active') ) return | |
previous = $ul.find('.active:last a')[0] | |
e = $.Event('show', { | |
relatedTarget: previous | |
}) | |
$this.trigger(e) | |
if (e.isDefaultPrevented()) return | |
$target = $(selector) | |
this.activate($this.parent('li'), $ul) | |
this.activate($target, $target.parent(), function () { | |
$this.trigger({ | |
type: 'shown' | |
, relatedTarget: previous | |
}) | |
}) | |
} | |
, activate: function ( element, container, callback) { | |
var $active = container.find('> .active') | |
, transition = callback | |
&& $.support.transition | |
&& $active.hasClass('fade') | |
function next() { | |
$active | |
.removeClass('active') | |
.find('> .dropdown-menu > .active') | |
.removeClass('active') | |
element.addClass('active') | |
if (transition) { | |
element[0].offsetWidth // reflow for transition | |
element.addClass('in') | |
} else { | |
element.removeClass('fade') | |
} | |
if ( element.parent('.dropdown-menu') ) { | |
element.closest('li.dropdown').addClass('active') | |
} | |
callback && callback() | |
} | |
transition ? | |
$active.one($.support.transition.end, next) : | |
next() | |
$active.removeClass('in') | |
} | |
} | |
/* TAB PLUGIN DEFINITION | |
* ===================== */ | |
$.fn.tab = function ( option ) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('tab') | |
if (!data) $this.data('tab', (data = new Tab(this))) | |
if (typeof option == 'string') data[option]() | |
}) | |
} | |
$.fn.tab.Constructor = Tab | |
/* TAB DATA-API | |
* ============ */ | |
$(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { | |
e.preventDefault() | |
$(this).tab('show') | |
}) | |
}(window.jQuery);/* ============================================================= | |
* bootstrap-typeahead.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#typeahead | |
* ============================================================= | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ============================================================ */ | |
!function($){ | |
"use strict"; // jshint ;_; | |
/* TYPEAHEAD PUBLIC CLASS DEFINITION | |
* ================================= */ | |
var Typeahead = function (element, options) { | |
this.$element = $(element) | |
this.options = $.extend({}, $.fn.typeahead.defaults, options) | |
this.matcher = this.options.matcher || this.matcher | |
this.sorter = this.options.sorter || this.sorter | |
this.highlighter = this.options.highlighter || this.highlighter | |
this.updater = this.options.updater || this.updater | |
this.$menu = $(this.options.menu).appendTo('body') | |
this.source = this.options.source | |
this.shown = false | |
this.listen() | |
} | |
Typeahead.prototype = { | |
constructor: Typeahead | |
, select: function () { | |
var val = this.$menu.find('.active').attr('data-value') | |
this.$element | |
.val(this.updater(val)) | |
.change() | |
return this.hide() | |
} | |
, updater: function (item) { | |
return item | |
} | |
, show: function () { | |
var pos = $.extend({}, this.$element.offset(), { | |
height: this.$element[0].offsetHeight | |
}) | |
this.$menu.css({ | |
top: pos.top + pos.height | |
, left: pos.left | |
}) | |
this.$menu.show() | |
this.shown = true | |
return this | |
} | |
, hide: function () { | |
this.$menu.hide() | |
this.shown = false | |
return this | |
} | |
, lookup: function (event) { | |
var items | |
this.query = this.$element.val() | |
if (!this.query || this.query.length < this.options.minLength) { | |
return this.shown ? this.hide() : this | |
} | |
items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source | |
return items ? this.process(items) : this | |
} | |
, process: function (items) { | |
var that = this | |
items = $.grep(items, function (item) { | |
return that.matcher(item) | |
}) | |
items = this.sorter(items) | |
if (!items.length) { | |
return this.shown ? this.hide() : this | |
} | |
return this.render(items.slice(0, this.options.items)).show() | |
} | |
, matcher: function (item) { | |
return ~item.toLowerCase().indexOf(this.query.toLowerCase()) | |
} | |
, sorter: function (items) { | |
var beginswith = [] | |
, caseSensitive = [] | |
, caseInsensitive = [] | |
, item | |
while (item = items.shift()) { | |
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item) | |
else if (~item.indexOf(this.query)) caseSensitive.push(item) | |
else caseInsensitive.push(item) | |
} | |
return beginswith.concat(caseSensitive, caseInsensitive) | |
} | |
, highlighter: function (item) { | |
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&') | |
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) { | |
return '<strong>' + match + '</strong>' | |
}) | |
} | |
, render: function (items) { | |
var that = this | |
items = $(items).map(function (i, item) { | |
i = $(that.options.item).attr('data-value', item) | |
i.find('a').html(that.highlighter(item)) | |
return i[0] | |
}) | |
items.first().addClass('active') | |
this.$menu.html(items) | |
return this | |
} | |
, next: function (event) { | |
var active = this.$menu.find('.active').removeClass('active') | |
, next = active.next() | |
if (!next.length) { | |
next = $(this.$menu.find('li')[0]) | |
} | |
next.addClass('active') | |
} | |
, prev: function (event) { | |
var active = this.$menu.find('.active').removeClass('active') | |
, prev = active.prev() | |
if (!prev.length) { | |
prev = this.$menu.find('li').last() | |
} | |
prev.addClass('active') | |
} | |
, listen: function () { | |
this.$element | |
.on('blur', $.proxy(this.blur, this)) | |
.on('keypress', $.proxy(this.keypress, this)) | |
.on('keyup', $.proxy(this.keyup, this)) | |
if (this.eventSupported('keydown')) { | |
this.$element.on('keydown', $.proxy(this.keydown, this)) | |
} | |
this.$menu | |
.on('click', $.proxy(this.click, this)) | |
.on('mouseenter', 'li', $.proxy(this.mouseenter, this)) | |
} | |
, eventSupported: function(eventName) { | |
var isSupported = eventName in this.$element | |
if (!isSupported) { | |
this.$element.setAttribute(eventName, 'return;') | |
isSupported = typeof this.$element[eventName] === 'function' | |
} | |
return isSupported | |
} | |
, move: function (e) { | |
if (!this.shown) return | |
switch(e.keyCode) { | |
case 9: // tab | |
case 13: // enter | |
case 27: // escape | |
e.preventDefault() | |
break | |
case 38: // up arrow | |
e.preventDefault() | |
this.prev() | |
break | |
case 40: // down arrow | |
e.preventDefault() | |
this.next() | |
break | |
} | |
e.stopPropagation() | |
} | |
, keydown: function (e) { | |
this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) | |
this.move(e) | |
} | |
, keypress: function (e) { | |
if (this.suppressKeyPressRepeat) return | |
this.move(e) | |
} | |
, keyup: function (e) { | |
switch(e.keyCode) { | |
case 40: // down arrow | |
case 38: // up arrow | |
case 16: // shift | |
case 17: // ctrl | |
case 18: // alt | |
break | |
case 9: // tab | |
case 13: // enter | |
if (!this.shown) return | |
this.select() | |
break | |
case 27: // escape | |
if (!this.shown) return | |
this.hide() | |
break | |
default: | |
this.lookup() | |
} | |
e.stopPropagation() | |
e.preventDefault() | |
} | |
, blur: function (e) { | |
var that = this | |
setTimeout(function () { that.hide() }, 150) | |
} | |
, click: function (e) { | |
e.stopPropagation() | |
e.preventDefault() | |
this.select() | |
} | |
, mouseenter: function (e) { | |
this.$menu.find('.active').removeClass('active') | |
$(e.currentTarget).addClass('active') | |
} | |
} | |
/* TYPEAHEAD PLUGIN DEFINITION | |
* =========================== */ | |
$.fn.typeahead = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('typeahead') | |
, options = typeof option == 'object' && option | |
if (!data) $this.data('typeahead', (data = new Typeahead(this, options))) | |
if (typeof option == 'string') data[option]() | |
}) | |
} | |
$.fn.typeahead.defaults = { | |
source: [] | |
, items: 8 | |
, menu: '<ul class="typeahead dropdown-menu"></ul>' | |
, item: '<li><a href="#"></a></li>' | |
, minLength: 1 | |
} | |
$.fn.typeahead.Constructor = Typeahead | |
/* TYPEAHEAD DATA-API | |
* ================== */ | |
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { | |
var $this = $(this) | |
if ($this.data('typeahead')) return | |
e.preventDefault() | |
$this.typeahead($this.data()) | |
}) | |
}(window.jQuery); | |
/* ========================================================== | |
* bootstrap-affix.js v2.2.1 | |
* http://twitter.github.com/bootstrap/javascript.html#affix | |
* ========================================================== | |
* Copyright 2012 Twitter, Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ========================================================== */ | |
!function ($) { | |
"use strict"; // jshint ;_; | |
/* AFFIX CLASS DEFINITION | |
* ====================== */ | |
var Affix = function (element, options) { | |
this.options = $.extend({}, $.fn.affix.defaults, options) | |
this.$window = $(window) | |
.on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) | |
.on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this)) | |
this.$element = $(element) | |
this.checkPosition() | |
} | |
Affix.prototype.checkPosition = function () { | |
if (!this.$element.is(':visible')) return | |
var scrollHeight = $(document).height() | |
, scrollTop = this.$window.scrollTop() | |
, position = this.$element.offset() | |
, offset = this.options.offset | |
, offsetBottom = offset.bottom | |
, offsetTop = offset.top | |
, reset = 'affix affix-top affix-bottom' | |
, affix | |
if (typeof offset != 'object') offsetBottom = offsetTop = offset | |
if (typeof offsetTop == 'function') offsetTop = offset.top() | |
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() | |
affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? | |
false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? | |
'bottom' : offsetTop != null && scrollTop <= offsetTop ? | |
'top' : false | |
if (this.affixed === affix) return | |
this.affixed = affix | |
this.unpin = affix == 'bottom' ? position.top - scrollTop : null | |
this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) | |
} | |
/* AFFIX PLUGIN DEFINITION | |
* ======================= */ | |
$.fn.affix = function (option) { | |
return this.each(function () { | |
var $this = $(this) | |
, data = $this.data('affix') | |
, options = typeof option == 'object' && option | |
if (!data) $this.data('affix', (data = new Affix(this, options))) | |
if (typeof option == 'string') data[option]() | |
}) | |
} | |
$.fn.affix.Constructor = Affix | |
$.fn.affix.defaults = { | |
offset: 0 | |
} | |
/* AFFIX DATA-API | |
* ============== */ | |
$(window).on('load', function () { | |
$('[data-spy="affix"]').each(function () { | |
var $spy = $(this) | |
, data = $spy.data() | |
data.offset = data.offset || {} | |
data.offsetBottom && (data.offset.bottom = data.offsetBottom) | |
data.offsetTop && (data.offset.top = data.offsetTop) | |
$spy.affix(data) | |
}) | |
}) | |
}(window.jQuery); |
/*! | |
* Bootstrap.js by @fat & @mdo | |
* Copyright 2012 Twitter, Inc. | |
* http://www.apache.org/licenses/LICENSE-2.0.txt | |
*/ | |
!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()},e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")},e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=n,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},to:function(t){var n=this.$element.find(".item.active"),r=n.parent().children(),i=r.index(n),s=this;if(t>r.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){s.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",e(r[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0]});if(i.hasClass("active"))return;if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}},e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e(document).on("click.carousel.data-api","[data-slide]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data());i.carousel(s),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning)return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning)return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=typeof n=="object"&&n;i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;return n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=e(n),r.length||(r=t.parent()),r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||(s.toggleClass("open"),n.focus()),!1},keydown:function(t){var n,r,s,o,u,a;if(!/(38|40|27)/.test(t.keyCode))return;n=e(this),t.preventDefault(),t.stopPropagation();if(n.is(".disabled, :disabled"))return;o=i(n),u=o.hasClass("open");if(!u||u&&t.keyCode==27)return n.click();r=e("[role=menu] li:not(.divider) a",o);if(!r.length)return;a=r.index(r.filter(":focus")),t.keyCode==38&&a>0&&a--,t.keyCode==40&&a<r.length-1&&a++,~a||(a=0),r.eq(a).focus()}},e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e(document).on("click.dropdown.data-api touchstart.dropdown.data-api",r).on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(e){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}},e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split(" ")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.offset(o).addClass(s).addClass("in")}},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function r(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip();return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.detach(),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);n[n.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content > *")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var t=e(this),n=t.data("target")||t.attr("href"),r=/^#\w/.test(n)&&e(n);return r&&r.length&&[[r.position().top,n]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}},e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}},e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=e(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=!~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(e){var t=this;setTimeout(function(){t.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")}},e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;t.preventDefault(),n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))},e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery); |
# [HTML5 Boilerplate](http://html5boilerplate.com) | |
HTML5 Boilerplate is a professional front-end template that helps you build fast, robust, adaptable, and future-proof websites. Spend more time developing and less time reinventing the wheel. | |
This project is the product of many years of iterative development and combined community knowledge. It does not impose a specific development philosophy or framework, so you're free to architect your code in the way that you want. | |
## Quick start | |
Clone the git repo - `git clone git://github.com/h5bp/html5-boilerplate.git` - or [download it](https://github.com/h5bp/html5-boilerplate/zipball/master) | |
## Features | |
* HTML5 ready. Use the new elements with confidence. | |
* Cross-browser compatible (Chrome, Opera, Safari, Firefox 3.6+, IE6+). | |
* Designed with progressive enhancement in mind. | |
* CSS normalizations and common bug fixes. | |
* IE-specific classes for easier cross-browser control. | |
* A default print stylesheet, performance optimized. | |
* Mobile browser optimizations. | |
* Protection against any stray `console.log` causing JavaScript errors in IE6/7. | |
* The latest jQuery via CDN, with a local fallback. | |
* A custom Modernizr build for feature detection. | |
* An optimized Google Analytics snippet. | |
* Apache server caching, compression, and other configuration defaults for Grade-A performance. | |
* Cross-domain Ajax and Flash. | |
* "Delete-key friendly." Easy to strip out parts you don't need. | |
* Extensive inline and accompanying documentation. | |
## Contributing | |
Anyone and everyone is welcome to [contribute](https://github.com/h5bp/html5-boilerplate/wiki/contribute). Hundreds of developers have helped make the HTML5 Boilerplate what it is today. | |
## Project information | |
* Source: http://github.com/h5bp/html5-boilerplate | |
* Web: http://html5boilerplate.com | |
* Docs: http://html5boilerplate.com/docs | |
* Twitter: http://twitter.com/h5bp | |
## License | |
### Major components: | |
* jQuery: MIT/GPL license | |
* Modernizr: MIT/BSD license | |
* Normalize.css: Public Domain | |
### Everything else: | |
The Unlicense (aka: public domain) | |
<?php | |
$subdomain = str_replace('disclo.gs','',$_SERVER['SERVER_NAME']); | |
$script = $_SERVER['REQUEST_URI']; | |
if ($script == '/google676a414ad086cefb.html') { | |
echo 'google-site-verification: google676a414ad086cefb.html'; | |
exit(); | |
} | |
if ($script == '/googlebcce906c6b666bb8.html') { | |
echo 'google-site-verification: googlebcce906c6b666bb8.html'; | |
exit(); | |
} | |
header('HTTP/1.1 301 Moved Permanently'); | |
header('Location: http://'.$subdomain.'disclosurelo.gs'.$script); | |
exit(); | |
?> | |
# www.robotstxt.org/ | |
# http://code.google.com/web/controlcrawlindex/ | |
User-agent: * | |
<?php | |
// Agency X updated Y, new files, diff of plain text/link text, | |
// feed for just one agency or all | |
// This is a minimum example of using the Universal Feed Generator Class | |
include("lib/FeedWriter.php"); | |
//Creating an instance of FeedWriter class. | |
$TestFeed = new FeedWriter(RSS2); | |
//Setting the channel elements | |
//Use wrapper functions for common channelelements | |
$TestFeed->setTitle('Last Modified - All'); | |
$TestFeed->setLink('http://disclosr.lambdacomplex.org/rss.xml.php'); | |
$TestFeed->setDescription('This is test of creating a RSS 2.0 feed Universal Feed Writer'); | |
//Retriving informations from database | |
$rows = $db->get_view("app", "byLastModified")->rows; | |
//print_r($rows); | |
foreach ($rows as $row) { | |
//Create an empty FeedItem | |
$newItem = $TestFeed->createNewItem(); | |
//Add elements to the feed item | |
$newItem->setTitle($row['name']); | |
$newItem->setLink($row['id']); | |
$newItem->setDate(date("c", $row['metadata']['lastModified'])); | |
$newItem->setDescription($row['name']); | |
//Now add the feed item | |
$TestFeed->addItem($newItem); | |
} | |
//OK. Everything is done. Now genarate the feed. | |
$TestFeed->genarateFeed(); | |
?> |
python scrape.py | |
pause |
#http://packages.python.org/CouchDB/client.html | |
import couchdb | |
import urllib2 | |
from BeautifulSoup import BeautifulSoup | |
import re | |
import hashlib | |
from urlparse import urljoin | |
import time | |
import os | |
import mimetypes | |
import re | |
import urllib | |
import urlparse | |
def mkhash(input): | |
return hashlib.md5(input).hexdigest().encode("utf-8") | |
def canonurl(url): | |
r"""Return the canonical, ASCII-encoded form of a UTF-8 encoded URL, or '' | |
if the URL looks invalid. | |
>>> canonurl('\xe2\x9e\xa1.ws') # tinyarro.ws | |
'http://xn--hgi.ws/' | |
""" | |
# strip spaces at the ends and ensure it's prefixed with 'scheme://' | |
url = url.strip() | |
if not url: | |
return '' | |
if not urlparse.urlsplit(url).scheme: | |
url = 'http://' + url | |
# turn it into Unicode | |
#try: | |
# url = unicode(url, 'utf-8') | |
#except UnicodeDecodeError: | |
# return '' # bad UTF-8 chars in URL | |
# parse the URL into its components | |
parsed = urlparse.urlsplit(url) | |
scheme, netloc, path, query, fragment = parsed | |
# ensure scheme is a letter followed by letters, digits, and '+-.' chars | |
if not re.match(r'[a-z][-+.a-z0-9]*$', scheme, flags=re.I): | |
return '' | |
scheme = str(scheme) | |
# ensure domain and port are valid, eg: sub.domain.<1-to-6-TLD-chars>[:port] | |
match = re.match(r'(.+\.[a-z0-9]{1,6})(:\d{1,5})?$', netloc, flags=re.I) | |
if not match: | |
return '' | |
domain, port = match.groups() | |
netloc = domain + (port if port else '') | |
netloc = netloc.encode('idna') | |
# ensure path is valid and convert Unicode chars to %-encoded | |
if not path: | |
path = '/' # eg: 'http://google.com' -> 'http://google.com/' | |
path = urllib.quote(urllib.unquote(path.encode('utf-8')), safe='/;') | |
# ensure query is valid | |
query = urllib.quote(urllib.unquote(query.encode('utf-8')), safe='=&?/') | |
# ensure fragment is valid | |
fragment = urllib.quote(urllib.unquote(fragment.encode('utf-8'))) | |
# piece it all back together, truncating it to a maximum of 4KB | |
url = urlparse.urlunsplit((scheme, netloc, path, query, fragment)) | |
return url[:4096] | |
def fullurl(url,href): | |
href = href.replace(" ","%20") | |
href = re.sub('#.*$','',href) | |
return urljoin(url,href) | |
#http://diveintopython.org/http_web_services/etags.html | |
class NotModifiedHandler(urllib2.BaseHandler): | |
def http_error_304(self, req, fp, code, message, headers): | |
addinfourl = urllib2.addinfourl(fp, headers, req.get_full_url()) | |
addinfourl.code = code | |
return addinfourl | |
def fetchURL(docsdb, url, fieldName, agencyID, scrape_again=True): | |
url = canonurl(url) | |
hash = mkhash(url) | |
req = urllib2.Request(url) | |
print "Fetching %s" % url | |
if url.startswith("mailto") or url.startswith("javascript") or url.startswith("#") or url == None or url == "": | |
print "Not a valid HTTP url" | |
return (None,None,None) | |
doc = docsdb.get(hash) | |
if doc == None: | |
doc = {'_id': hash, 'agencyID': agencyID, 'url': url, 'fieldName':fieldName} | |
else: | |
if (('page_scraped' in doc) and (time.time() - doc['page_scraped']) < 60*24*14*1000): | |
print "Uh oh, trying to scrape URL again too soon!" | |
last_attachment_fname = doc["_attachments"].keys()[-1] | |
last_attachment = docsdb.get_attachment(doc,last_attachment_fname) | |
return (doc['url'],doc['mime_type'],last_attachment.read()) | |
if scrape_again == False: | |
print "Not scraping this URL again as requested" | |
return (None,None,None) | |
time.sleep(3) # wait 3 seconds to give webserver time to recover | |
req.add_header("User-Agent", "Mozilla/4.0 (compatible; Prometheus webspider; owner maxious@lambdacomplex.org)") | |
#if there is a previous version stored in couchdb, load caching helper tags | |
if doc.has_key('etag'): | |
req.add_header("If-None-Match", doc['etag']) | |
if doc.has_key('last_modified'): | |
req.add_header("If-Modified-Since", doc['last_modified']) | |
opener = urllib2.build_opener(NotModifiedHandler()) | |
try: | |
url_handle = opener.open(req) | |
doc['url'] = url_handle.geturl() # may have followed a redirect to a new url | |
headers = url_handle.info() # the addinfourls have the .info() too | |
doc['etag'] = headers.getheader("ETag") | |
doc['last_modified'] = headers.getheader("Last-Modified") | |
doc['date'] = headers.getheader("Date") | |
doc['page_scraped'] = time.time() | |
doc['web_server'] = headers.getheader("Server") | |
doc['via'] = headers.getheader("Via") | |
doc['powered_by'] = headers.getheader("X-Powered-By") | |
doc['file_size'] = headers.getheader("Content-Length") | |
content_type = headers.getheader("Content-Type") | |
if content_type != None: | |
doc['mime_type'] = content_type.split(";")[0] | |
else: | |
(type,encoding) = mimetypes.guess_type(url) | |
doc['mime_type'] = type | |
if hasattr(url_handle, 'code'): | |
if url_handle.code == 304: | |
print "the web page has not been modified" | |
return (None,None,None) | |
else: | |
content = url_handle.read() | |
docsdb.save(doc) | |
doc = docsdb.get(hash) # need to get a _rev | |
docsdb.put_attachment(doc, content, str(time.time())+"-"+os.path.basename(url), doc['mime_type']) | |
return (doc['url'], doc['mime_type'], content) | |
#store as attachment epoch-filename | |
except urllib2.URLError as e: | |
error = "" | |
if hasattr(e, 'reason'): | |
error = "error %s in downloading %s" % (str(e.reason), url) | |
elif hasattr(e, 'code'): | |
error = "error %s in downloading %s" % (e.code, url) | |
print error | |
doc['error'] = error | |
docsdb.save(doc) | |
return (None,None,None) | |
def scrapeAndStore(docsdb, url, depth, fieldName, agencyID): | |
(url,mime_type,content) = fetchURL(docsdb, url, fieldName, agencyID) | |
badURLs = ["http://www.ausport.gov.au/supporting/funding/grants_and_scholarships/grant_funding_report"] | |
if content != None and depth > 0 and url != "http://www.ausport.gov.au/supporting/funding/grants_and_scholarships/grant_funding_report": | |
if mime_type == "text/html" or mime_type == "application/xhtml+xml" or mime_type =="application/xml": | |
# http://www.crummy.com/software/BeautifulSoup/documentation.html | |
soup = BeautifulSoup(content) | |
navIDs = soup.findAll(id=re.compile('nav|Nav|menu|bar|left|right|sidebar|more-links|breadcrumb|footer|header')) | |
for nav in navIDs: | |
print "Removing element", nav['id'] | |
nav.extract() | |
navClasses = soup.findAll(attrs={'class' : re.compile('nav|menu|bar|left|right|sidebar|more-links|breadcrumb|footer|header')}) | |
for nav in navClasses: | |
print "Removing element", nav['class'] | |
nav.extract() | |
links = soup.findAll('a') # soup.findAll('a', id=re.compile("^p-")) | |
linkurls = set([]) | |
for link in links: | |
if link.has_key("href"): | |
if link['href'].startswith("http"): | |
# lets not do external links for now | |
# linkurls.add(link['href']) | |
None | |
if link['href'].startswith("mailto"): | |
# not http | |
None | |
if link['href'].startswith("javascript"): | |
# not http | |
None | |
else: | |
# remove anchors and spaces in urls | |
linkurls.add(fullurl(url,link['href'])) | |
for linkurl in linkurls: | |
#print linkurl | |
scrapeAndStore(docsdb, linkurl, depth-1, fieldName, agencyID) | |
#couch = couchdb.Server('http://192.168.1.148:5984/') | |
couch = couchdb.Server('http://127.0.0.1:5984/') | |
# select database | |
agencydb = couch['disclosr-agencies'] | |
docsdb = couch['disclosr-documents'] | |
if __name__ == "__main__": | |
for row in agencydb.view('app/getScrapeRequired'): #not recently scraped agencies view? | |
agency = agencydb.get(row.id) | |
print agency['name'] | |
for key in agency.keys(): | |
if key == "FOIDocumentsURL" and "status" not in agency.keys: | |
scrapeAndStore(docsdb, agency[key],0,key,agency['_id']) | |
if key == 'website' and False: | |
scrapeAndStore(docsdb, agency[key],0,key,agency['_id']) | |
if key.endswith('URL') and False: | |
print key | |
depth = 1 | |
if 'scrapeDepth' in agency.keys(): | |
depth = agency['scrapeDepth'] | |
scrapeAndStore(docsdb, agency[key],depth,key,agency['_id']) | |
agency['metadata']['lastScraped'] = time.time() | |
agencydb.save(agency) | |
import sys,os | |
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', '../')) | |
import genericScrapers | |
#RSS feed not detailed | |
#http://www.doughellmann.com/PyMOTW/abc/ | |
class ScraperImplementation(genericScrapers.GenericOAICDisclogScraper): | |
def getColumns(self,columns): | |
(id, date, description, title, notes) = columns | |
return (id, date, description, title, notes) | |
if __name__ == '__main__': | |
print 'Subclass:', issubclass(ScraperImplementation, genericScrapers.GenericOAICDisclogScraper) | |
print 'Instance:', isinstance(ScraperImplementation(), genericScrapers.GenericOAICDisclogScraper) | |
ScraperImplementation().doScrape() | |
# multiple pages need to be scraped initially, each entry has a subpage | |
http://www.ipaustralia.gov.au/about-us/freedom-of-information/foi-disclosure-log/?page=35&sessionId=3644188 | |
import sys,os | |
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', '../')) | |
import genericScrapers | |
#RSS feed not detailed | |
#http://www.doughellmann.com/PyMOTW/abc/ | |
class ScraperImplementation(genericScrapers.GenericOAICDisclogScraper): | |
def getColumns(self,columns): | |
(id, date, title, description, notes) = columns | |
return (id, date, description, title, notes) | |
if __name__ == '__main__': | |
print 'Subclass:', issubclass(ScraperImplementation, genericScrapers.GenericOAICDisclogScraper) | |
print 'Instance:', isinstance(ScraperImplementation(), genericScrapers.GenericOAICDisclogScraper) | |
ScraperImplementation().doScrape() | |
import sys,os | |
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', '../')) | |
import genericScrapers | |
#RSS feed not detailed | |
import scrape | |
from bs4 import BeautifulSoup | |
#http://www.doughellmann.com/PyMOTW/abc/ | |
class ScraperImplementation(genericScrapers.GenericRSSDisclogScraper): | |
def getDescription(self,entry,doc): | |
(url,mime_type,content) = scrape.fetchURL(scrape.docsdb, entry.link, "foidocuments", self.getAgencyID(), False) | |
if content != None: | |
if mime_type == "text/html" or mime_type == "application/xhtml+xml" or mime_type =="application/xml": | |
# http://www.crummy.com/software/BeautifulSoup/documentation.html | |
soup = BeautifulSoup(content) | |
links = [] | |
description = "" | |
dldivs = soup.find('div',class_="download") | |
if dldivs != None: | |
for atag in dldivs.find_all("a"): | |
if atag.has_key('href'): | |
links.append(scrape.fullurl(url,atag['href'])) | |
nodldivs = soup.find('div',class_="incompleteNotification") | |
if nodldivs != None and nodldivs.stripped_strings != None: | |
for text in nodldivs.stripped_strings: | |
description = description + text | |
for row in soup.table.find_all('tr'): | |
if row != None: | |
description = description + "\n" + row.find('th').string + ": " | |
for text in row.find('div').stripped_strings: | |
description = description + text | |
if links != []: | |
doc.update({'links': links}) | |
if description != "": | |
doc.update({ 'description': description}) | |
if __name__ == '__main__': | |
print 'Subclass:', issubclass(ScraperImplementation, genericScrapers.GenericRSSDisclogScraper) | |
print 'Instance:', isinstance(ScraperImplementation(), genericScrapers.GenericRSSDisclogScraper) | |
ScraperImplementation().doScrape() | |
http://www.awm.gov.au/about/AWM_Disclosure_Log.pdf | |
import sys,os | |
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', '../')) | |
import genericScrapers | |
#RSS feed not detailed | |
#http://www.doughellmann.com/PyMOTW/abc/ | |
class ScraperImplementation(genericScrapers.GenericRSSDisclogScraper): | |
def getColumns(self,columns): | |
(id, date, title, description, notes) = columns | |
return (id, date, description, title, notes) | |
if __name__ == '__main__': | |
print 'Subclass:', issubclass(ScraperImplementation, genericScrapers.GenericRSSDisclogScraper) | |
print 'Instance:', isinstance(ScraperImplementation(), genericScrapers.GenericRSSDisclogScraper) | |
ScraperImplementation().doScrape() | |
www.finance.gov.au/foi/disclosure-log/foi-rss.xml | |
import sys,os | |
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', '../')) | |
import genericScrapers | |
#RSS feed not detailed | |
#http://www.doughellmann.com/PyMOTW/abc/ | |
class ScraperImplementation(genericScrapers.GenericRSSDisclogScraper): | |
def getColumns(self,columns): | |
(id, date, title, description, notes) = columns | |
return (id, date, description, title, notes) | |
if __name__ == '__main__': | |
print 'Subclass:', issubclass(ScraperImplementation, genericScrapers.GenericRSSDisclogScraper) | |
print 'Instance:', isinstance(ScraperImplementation(), genericScrapers.GenericRSSDisclogScraper) | |
ScraperImplementation().doScrape() | |
http://www.righttoknow.org.au/feed/search/%20(latest_status:successful%20OR%20latest_status:partially_successful) | |
python 3cd40b1240e987cbcd3f0e67054ce259.py | |
pause |
<?php | |
include_once('include/common.inc.php'); | |
include_header('Search'); | |
?> | |
<div class="foundation-header"> | |
<h1><a href="search.php">Search</a></h1> | |
</div> | |
<form> | |
<input type="text" name="q" value="<?php if (isset($_REQUEST['q']))echo $_REQUEST['q'];?>"/> | |
<input type="submit"/> | |
</form> | |
<?php | |
if (isset($_REQUEST['q'])) { | |
$request = Requests::get($serverAddr."disclosr-documents/_fti/_design/lucene/by_all?include_docs=true&q=".$_REQUEST['q']); | |
$results = json_decode($request->body); | |
$db = $server->get_db('disclosr-documents'); | |
foreach ($results->rows as $result) { | |
//print_r($result); | |
//$row = $db->get($result->id); | |
echo $result->doc->_id." ".$result->doc->url."<br>".PHP_EOL; | |
} | |
} | |
include_footer(); | |
?> |
<?php | |
function include_header_documents($title) { | |
?> | |
<!doctype html> | |
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> | |
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> | |
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> | |
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> | |
<!-- Consider adding a manifest.appcache: h5bp.com/d/Offline --> | |
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> | |
<head> | |
<meta charset="utf-8"> | |
<!-- Use the .htaccess and remove these lines to avoid edge case issues. | |
More info: h5bp.com/i/378 --> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |
<title>Australian Disclosure Logs<?php if ($title != "") echo " - $title";?></title> | |
<meta name="description" content=""> | |
<!-- Mobile viewport optimized: h5bp.com/viewport --> | |
<meta name="viewport" content="width=device-width"> | |
<!-- Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons --> | |
<meta name="google-site-verification" content="jkknX5g2FCpQvrW030b1Nq2hyoa6mb3EDiA7kCoHNj8" /> | |
<!-- Le styles --> | |
<link href="css/bootstrap.min.css" rel="stylesheet"> | |
<style type="text/css"> | |
body { | |
padding-top: 60px; | |
padding-bottom: 40px; | |
} | |
.sidebar-nav { | |
padding: 9px 0; | |
} | |
</style> | |
<link href="css/bootstrap-responsive.min.css" rel="stylesheet"> | |
<!-- HTML5 shim, for IE6-8 support of HTML5 elements --> | |
<!--[if lt IE 9]> | |
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> | |
<![endif]--> | |
<!-- More ideas for your <head> here: h5bp.com/d/head-Tips --> | |
<!-- All JavaScript at the bottom, except this Modernizr build. | |
Modernizr enables HTML5 elements & feature detects for optimal performance. | |
Create your own custom Modernizr build: www.modernizr.com/download/ --> | |
<script src="js/libs/modernizr-2.5.3.min.js"></script> | |
</head> | |
<body> | |
<div class="navbar navbar-inverse navbar-fixed-top"> | |
<div class="navbar-inner"> | |
<div class="container-fluid"> | |
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> | |
<span class="icon-bar"></span> | |
<span class="icon-bar"></span> | |
<span class="icon-bar"></span> | |
</a> | |
<a class="brand" href="#">Australian Disclosure Logs</a> | |
<div class="nav-collapse collapse"> | |
<p class="navbar-text pull-right"> | |
Check out our subsites on: | |
<a href="http://orgs.disclosurelo.gs">Government Agencies</a> | |
• <a href="http://lobbyists.disclosurelo.gs">Political Lobbyists</a> | |
• <a href="http://contracts.disclosurelo.gs">Government Contracts and Spending</a> | |
</p> | |
<ul class="nav"> | |
<li><a href="index.php">Home</a></li> | |
<li><a href="disclogsList.php">List of Disclosure Logs</a></li> | |
<li><a href="about.php">About</a></li> | |
</ul> | |
</div><!--/.nav-collapse --> | |
</div> | |
</div> | |
</div> | |
<div class="container"> | |
<?php | |
} | |
function include_footer_documents() { | |
?> | |
</div> <!-- /container --> | |
<hr> | |
<footer> | |
<p>© Company 2012</p> | |
</footer> | |
<script type="text/javascript"> | |
var _gaq = _gaq || []; | |
_gaq.push(['_setAccount', 'UA-12341040-4']); | |
_gaq.push(['_setDomainName', 'disclosurelo.gs']); | |
_gaq.push(['_setAllowLinker', true]); | |
_gaq.push(['_trackPageview']); | |
(function() { | |
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; | |
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; | |
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | |
})(); | |
</script> | |
<!-- Le javascript | |
================================================== --> | |
<!-- Placed at the end of the document so the pages load faster | |
<script src="js/jquery.js"></script> | |
<script src="js/bootstrap-transition.js"></script> | |
<script src="js/bootstrap-alert.js"></script> | |
<script src="js/bootstrap-modal.js"></script> | |
<script src="js/bootstrap-dropdown.js"></script> | |
<script src="js/bootstrap-scrollspy.js"></script> | |
<script src="js/bootstrap-tab.js"></script> | |
<script src="js/bootstrap-tooltip.js"></script> | |
<script src="js/bootstrap-popover.js"></script> | |
<script src="js/bootstrap-button.js"></script> | |
<script src="js/bootstrap-collapse.js"></script> | |
<script src="js/bootstrap-carousel.js"></script> | |
<script src="js/bootstrap-typeahead.js"></script>--> | |
</body> | |
</html> | |
<?php | |
} | |
function displayLogEntry($row, $idtoname) { | |
echo "<div><h2>".$row->value->date.": ".$row->value->title." (".$idtoname[$row->value->agencyID].")</h2> <p>".str_replace("\n","<br>",$row->value->description); | |
if (isset($row->value->notes)) { | |
echo " <br>Note: ".$row->value->notes; | |
} | |
echo "</p>"; | |
if (isset($row->value->links)){ | |
echo "<h3>Links/Documents</h3><ul>"; | |
foreach ($row->value->links as $link) { | |
echo "<li><a href='$link'>".$link."</a></li>"; | |
} | |
echo "</ul>"; | |
} | |
echo "<small><A href='".$row->value->url."'>View original source...</a> ID: ".$row->value->docID."</small>"; | |
echo"</div>"; | |
} | |
<?php | |
include_once('../include/common.inc.php'); | |
$hash = $_REQUEST['hash']; | |
$docsdb = $server->get_db('disclosr-documents'); | |
$doc = object_to_array($docsdb->get($hash)); | |
if (!isset($doc['_attachments']) || count($doc['_attachments']) == 0) die ("no attachments"); | |
$attachments = $doc['_attachments']; | |
$attachment_filenames = array_keys($attachments); | |
//print_r($attachments); | |
$url = $serverAddr.'disclosr-documents/'.$hash.'/'.urlencode($attachment_filenames[0]); | |
//echo $url; | |
$request = Requests::get($url); | |
echo ($request->body); |
<?php | <?php |
include_once('include/common.inc.php'); | include_once('include/common.inc.php'); |
include_header(); | |
function displayValue($key, $value, $mode) { | function displayValue($key, $value, $mode) { |
global $db, $schemas; | global $db, $schemas; |
if ($mode == "view") { | if ($mode == "view") { |
if (strpos($key, "_") === 0 || $key== "metadata") return; | |
echo "<tr>"; | echo "<tr>"; |
echo "<td>" . $schemas['agency']["properties"][$key]['x-title'] . "<br><small>" . $schemas['agency']["properties"][$key]['description'] . "</small></td><td>"; | echo "<td>"; |
if (isset($schemas['agency']["properties"][$key])) { | |
echo $schemas['agency']["properties"][$key]['x-title'] . "<br><small>" . $schemas['agency']["properties"][$key]['description']."</small>"; | |
} | |
echo "</td><td>"; | |
if (is_array($value)) { | if (is_array($value)) { |
echo "<ol>"; | echo "<ol>"; |
foreach ($value as $subkey => $subvalue) { | foreach ($value as $subkey => $subvalue) { |
if (isset($schemas['agency']["properties"][$key]['x-property'])) { | |
echo '<li property="' . $schemas['agency']["properties"][$key]['x-property'] . '">'; | echo "<li "; |
} else { | if (isset($schemas['agency']["properties"][$key]['x-property'])) { |
echo "<li>"; | echo ' property="' . $schemas['agency']["properties"][$key]['x-property'] . '" '; |
} | } if (isset($schemas['agency']["properties"][$key]['x-itemprop'])) { |
echo ' itemprop="' . $schemas['agency']["properties"][$key]['x-itemprop'] . '" '; | |
} | |
echo " >"; | |
echo "$subvalue</li>"; | echo "$subvalue</li>"; |
} | } |
echo "</ol></td></tr>"; | echo "</ol></td></tr>"; |
} else { | } else { |
if (isset($schemas['agency']["properties"][$key]['x-property'])) { | if (isset($schemas['agency']["properties"][$key]['x-property'])) { |
echo '<span property="' . $schemas['agency']["properties"][$key]['x-property'] . '">'; | echo '<span property="' . $schemas['agency']["properties"][$key]['x-property'] . '">'; |
} else { | } else { |
echo "<span>"; | echo "<span>"; |
} | } |
if ((strpos($key, "URL") > 0 || $key == 'website') && $value != "") { | if ((strpos($key, "URL") > 0 || $key == 'website') && $value != "") { |
echo "<a href='$value'>view</a></span>"; | echo "<a ".($key == 'website' ? 'itemprop="url"':'')." href='$value'>$value</a>"; |
} else { | } else { |
echo "$value</span>"; | echo "$value</span>"; |
} | } |
} | } |
echo "</td></tr>"; | echo "</td></tr>"; |
} | } |
if ($mode == "edit") { | if ($mode == "edit") { |
if (is_array($value)) { | if (is_array($value)) { |
echo '<div class="row"> | echo '<div class="row"> |
<div class="seven columns"> | <div class="seven columns"> |
<fieldset> | <fieldset> |
<h5>' . $key . '</h5>'; | <h5>' . $key . '</h5>'; |
foreach ($value as $subkey => $subvalue) { | foreach ($value as $subkey => $subvalue) { |
echo "<label>$subkey</label><input class='input-text' type='text' id='$key$subkey' name='$key" . '[' . $subkey . "]' value='$subvalue'/></tr>"; | echo "<label>$subkey</label><input class='input-text' type='text' id='$key$subkey' name='$key" . '[' . $subkey . "]' value='$subvalue'/></tr>"; |
} | } |
echo "</fieldset> | echo "</fieldset> |
</div> | </div> |
</div>"; | </div>"; |
} else { | } else { |
if (strpos($key, "_") === 0) { | if (strpos($key, "_") === 0) { |
echo"<input type='hidden' id='$key' name='$key' value='$value'/>"; | echo"<input type='hidden' id='$key' name='$key' value='$value'/>"; |
} else if ($key == "parentOrg") { | } else if ($key == "parentOrg") { |
echo "<label for='$key'>$key</label><select id='$key' name='$key'><option value=''> Select... </option>"; | echo "<label for='$key'>$key</label><select id='$key' name='$key'><option value=''> Select... </option>"; |
$rows = $db->get_view("app", "byDeptStateName")->rows; | $rows = $db->get_view("app", "byDeptStateName")->rows; |
//print_r($rows); | //print_r($rows); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
echo "<option value='{$row->value}'" . (($row->value == $value) ? "SELECTED" : "") . " >" . str_replace("Department of ", "", $row->key) . "</option>"; | echo "<option value='{$row->value}'" . (($row->value == $value) ? "SELECTED" : "") . " >" . str_replace("Department of ", "", $row->key) . "</option>"; |
} | } |
echo" </select>"; | echo" </select>"; |
} else { | } else { |
echo "<label>$key</label><input class='input-text' type='text' id='$key' name='$key' value='$value'/>"; | echo "<label>$key</label><input class='input-text' type='text' id='$key' name='$key' value='$value'/>"; |
if ((strpos($key, "URL") > 0 || $key == 'website') && $value != "") { | if ((strpos($key, "URL") > 0 || $key == 'website') && $value != "") { |
echo "<a href='$value'>view</a>"; | echo "<a ".($key == 'website' ? 'itemprop="url"':'')." href='$value'>view</a>"; |
} | } |
if ($key == 'abn') { | if ($key == 'abn') { |
echo "<a href='http://www.abr.business.gov.au/SearchByAbn.aspx?SearchText=$value'>view abn</a>"; | echo "<a href='http://www.abr.business.gov.au/SearchByAbn.aspx?SearchText=$value'>view abn</a>"; |
} | } |
} | } |
} | } |
} | } |
// | // |
} | } |
function addDefaultFields($row) { | function addDefaultFields($row) { |
global $schemas; | global $schemas; |
$defaultFields = array_keys($schemas['agency']['properties']); | $defaultFields = array_keys($schemas['agency']['properties']); |
foreach ($defaultFields as $defaultField) { | foreach ($defaultFields as $defaultField) { |
if (!isset($row[$defaultField])) { | if (!isset($row[$defaultField])) { |
if ($schemas['agency']['properties'][$defaultField]['type'] == "string") { | if ($schemas['agency']['properties'][$defaultField]['type'] == "string") { |
$row[$defaultField] = ""; | $row[$defaultField] = ""; |
} | } |
if ($schemas['agency']['properties'][$defaultField]['type'] == "array") { | if ($schemas['agency']['properties'][$defaultField]['type'] == "array") { |
$row[$defaultField] = Array(""); | $row[$defaultField] = Array(""); |
} | } |
} else if ($schemas['agency']['properties'][$defaultField]['type'] == "array") { | } else if ($schemas['agency']['properties'][$defaultField]['type'] == "array") { |
if (is_array($row[$defaultField])) { | if (is_array($row[$defaultField])) { |
$row[$defaultField][] = ""; | $row[$defaultField][] = ""; |
$row[$defaultField][] = ""; | $row[$defaultField][] = ""; |
$row[$defaultField][] = ""; | $row[$defaultField][] = ""; |
} else { | } else { |
$value = $row[$defaultField]; | $value = $row[$defaultField]; |
$row[$defaultField] = Array($value); | $row[$defaultField] = Array($value); |
$row[$defaultField][] = ""; | $row[$defaultField][] = ""; |
$row[$defaultField][] = ""; | $row[$defaultField][] = ""; |
} | } |
} | } |
} | } |
return $row; | return $row; |
} | } |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
if (isset($_REQUEST['id'])) { | if (isset($_REQUEST['id'])) { |
//get an agency record as json/html, search by name/abn/id | //get an agency record as json/html, search by name/abn/id |
// by name = startkey="Ham"&endkey="Ham\ufff0" | // by name = startkey="Ham"&endkey="Ham\ufff0" |
// edit? | // edit? |
$obj = $db->get($_REQUEST['id']); | $obj = $db->get($_REQUEST['id']); |
include_header($obj->name); | |
//print_r($row); | //print_r($row); |
if (sizeof($_POST) > 0) { | if (sizeof($_POST) > 0) { |
//print_r($_POST); | //print_r($_POST); |
foreach ($_POST as $postkey => $postvalue) { | foreach ($_POST as $postkey => $postvalue) { |
if ($postvalue == "") { | if ($postvalue == "") { |
unset($_POST[$postkey]); | unset($_POST[$postkey]); |
} | } |
if (is_array($postvalue)) { | if (is_array($postvalue)) { |
if (count($postvalue) == 1 && $postvalue[0] == "") { | if (count($postvalue) == 1 && $postvalue[0] == "") { |
unset($_POST[$postkey]); | unset($_POST[$postkey]); |
} else { | } else { |
foreach ($_POST[$postkey] as $key => &$value) { | foreach ($_POST[$postkey] as $key => &$value) { |
if ($value == "") { | if ($value == "") { |
unset($_POST[$postkey][$key]); | unset($_POST[$postkey][$key]); |
} | } |
} | } |
} | } |
} | } |
} | } |
if (isset($_POST['_id']) && $db->get_rev($_POST['_id']) == $_POST['_rev']) { | if (isset($_POST['_id']) && $db->get_rev($_POST['_id']) == $_POST['_rev']) { |
echo "Edited version was latest version, continue saving"; | echo "Edited version was latest version, continue saving"; |
$newdoc = $_POST; | $newdoc = $_POST; |
$newdoc['metadata']['lastModified'] = time(); | $newdoc['metadata']['lastModified'] = time(); |
$obj = $db->save($newdoc); | $obj = $db->save($newdoc); |
} else { | } else { |
echo "ALERT doc revised by someone else while editing. Document not saved."; | echo "ALERT doc revised by someone else while editing. Document not saved."; |
} | } |
} | } |
$mode = "edit"; | $mode = "view"; |
$rowArray = object_to_array($obj); | $rowArray = object_to_array($obj); |
ksort($rowArray); | ksort($rowArray); |
if ($mode == "edit") { | if ($mode == "edit") { |
$row = addDefaultFields($rowArray); | $row = addDefaultFields($rowArray); |
} else { | } else { |
$row = $rowArray; | $row = $rowArray; |
} | } |
if ($mode == "view") { | if ($mode == "view") { |
echo '<div typeof="schema:GovernmentOrganisation" about="#' . $row['_id'] . '"><table width="100%">'; | echo '<div itemscope itemtype="http://schema.org/GovernmentOrganization" typeof="schema:GovernmentOrganization" about="#' . $row['_id'] . '"><table width="100%">'; |
echo '<tr> <td colspan="2"><h3>' . $row['name'] . "</h3></td></tr>"; | echo '<tr> <td colspan="2"><h3 itemprop="name">' . $row['name'] . "</h3></td></tr>"; |
echo "<tr><th>Field Name</th><th>Field Value</th></tr>"; | echo "<tr><th>Field Name</th><th>Field Value</th></tr>"; |
} | } |
if ($mode == "edit") { | if ($mode == "edit") { |
?> | ?> |
<input id="addfield" type="button" value="Add Field"/> | <input id="addfield" type="button" value="Add Field"/> |
<script> | <script> |
window.onload = function() { | window.onload = function() { |
$(document).ready(function() { | $(document).ready(function() { |
// put all your jQuery goodness in here. | // put all your jQuery goodness in here. |
// http://charlie.griefer.com/blog/2009/09/17/jquery-dynamically-adding-form-elements/ | // http://charlie.griefer.com/blog/2009/09/17/jquery-dynamically-adding-form-elements/ |
$('#addfield').click(function() { | $('#addfield').click(function() { |
var field_name=window.prompt("fieldname?",""); | var field_name=window.prompt("fieldname?",""); |
if (field_name !="") { | if (field_name !="") { |
$('#submitbutton').before($('<span></span>') | $('#submitbutton').before($('<span></span>') |
.append("<label>"+field_name+"</label>") | .append("<label>"+field_name+"</label>") |
.append("<input class='input-text' type='text' id='"+field_name+"' name='"+field_name+"'/>") | .append("<input class='input-text' type='text' id='"+field_name+"' name='"+field_name+"'/>") |
); | ); |
} | } |
}); | }); |
}); | }); |
}; | }; |
</script> | </script> |
<form id="editform" class="nice" method="post"> | <form id="editform" class="nice" method="post"> |
<?php | <?php |
} | } |
foreach ($row as $key => $value) { | foreach ($row as $key => $value) { |
echo displayValue($key, $value, $mode); | echo displayValue($key, $value, $mode); |
} | } |
if ($mode == "view") { | if ($mode == "view") { |
echo "</table></div>"; | echo "</table></div>"; |
} | } |
if ($mode == "edit") { | if ($mode == "edit") { |
echo '<input id="submitbutton" type="submit"/></form>'; | echo '<input id="submitbutton" type="submit"/></form>'; |
} | } |
} else { | } else { |
// show all list | |
include_header('Agencies'); | |
try { | try { |
/* $rows = $db->get_view("app", "showNamesABNs")->rows; | /* $rows = $db->get_view("app", "showNamesABNs")->rows; |
//print_r($rows); | //print_r($rows); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
// print_r($row); | // print_r($row); |
echo '<li><a href="getAgency.php?id=' . $row->key . '">' . | echo '<li><a href="getAgency.php?id=' . $row->key . '">' . |
(isset($row->value->name) && $row->value->name != "" ? $row->value->name : "NO NAME " . $row->value->abn) | (isset($row->value->name) && $row->value->name != "" ? $row->value->name : "NO NAME " . $row->value->abn) |
. '</a></li>'; | . '</a></li>'; |
} */ | } */ |
$rows = $db->get_view("app", "byCanonicalName")->rows; | $rows = $db->get_view("app", "byCanonicalName")->rows; |
//print_r($rows); | //print_r($rows); |
echo '<ul>'; | echo '<ul>'; |
foreach ($rows as $row) { | foreach ($rows as $row) { |
// print_r($row); | // print_r($row); |
echo '<li typeof="schema:GovernmentOrganisation foaf:Organization" about="getAgency.php?id=' . $row->value->_id . '"> | echo '<li itemscope itemtype="http://schema.org/GovernmentOrganization" typeof="schema:GovernmentOrganization foaf:Organization" about="getAgency.php?id=' . $row->value->_id . '"> |
<a href="getAgency.php?id=' . $row->value->_id . '" rel="schema:url foaf:page" property="schema:name foaf:name">' . | <a href="getAgency.php?id=' . $row->value->_id . '" rel="schema:url foaf:page" property="schema:name foaf:name" itemprop="url"><span itemprop="name">' . |
$row->value->name | $row->value->name |
. '</a></li>'; | . '</span></a></li>'; |
} | } |
echo "</ul>"; | echo "</ul>"; |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
} | } |
include_footer(); | include_footer(); |
?> | ?> |
google-site-verification: google676a414ad086cefb.html | |
<?php | <?php |
include_once('include/common.inc.php'); | include_once('include/common.inc.php'); |
//include_header(); | //include_header(); |
$format = "html"; | $format = "html"; |
if (isset($_REQUEST['format'])) { | if (isset($_REQUEST['format'])) { |
$format = $_REQUEST['format']; | $format = $_REQUEST['format']; |
} | } |
function add_node($id, $label, $parent="") { | function add_node($id, $label, $parent="") { |
global $format; | global $format; |
if ($format == "html") { | if ($format == "html") { |
// echo "nodes[\"$id\"] = graph.newNode({label: \"$label\"});" . PHP_EOL; | // echo "nodes[\"$id\"] = graph.newNode({label: \"$label\"});" . PHP_EOL; |
} | } |
if ($format == "dot" && $label != "") { | if ($format == "dot" && $label != "") { |
echo "$id [label=\"$label\"];". PHP_EOL; | echo "$id [label=\"$label\"];". PHP_EOL; |
} | } |
if ($format == "gexf") { | if ($format == "gexf") { |
echo "<node id='$id' label=\"".htmlentities($label,ENT_XML1)."\" ".($parent != ""? "pid='$parent'><viz:size value='1'/>":"><viz:size value='2'/>") | echo "<node id='$id' label=\"".htmlentities($label,ENT_XML1)."\" ".($parent != ""? "pid='$parent'><viz:size value='1'/>":"><viz:size value='2'/>") |
."<viz:color b='".rand(0,255)."' g='".rand(0,255)."' r='".rand(0,255)."'/>" | ."<viz:color b='".rand(0,255)."' g='".rand(0,255)."' r='".rand(0,255)."'/>" |
."</node>". PHP_EOL; | ."</node>". PHP_EOL; |
} | } |
} | } |
function add_edge($from, $to, $color) { | function add_edge($from, $to, $color) { |
global $format; | global $format; |
if ($format == "html") { | if ($format == "html") { |
// echo "graph.newEdge(nodes[\"$from\"], nodes['$to'], {color: '$color'});" . PHP_EOL; | // echo "graph.newEdge(nodes[\"$from\"], nodes['$to'], {color: '$color'});" . PHP_EOL; |
} | } |
if ($format == "dot") { | if ($format == "dot") { |
echo "$from -> $to ".($color != ""? "[color=$color]":"").";". PHP_EOL; | echo "$from -> $to ".($color != ""? "[color=$color]":"").";". PHP_EOL; |
} | } |
if ($format == "gexf") { | if ($format == "gexf") { |
echo "<edge id='$from$to' source='$from' target='$to' />". PHP_EOL; | echo "<edge id='$from$to' source='$from' target='$to' />". PHP_EOL; |
} | } |
} | } |
if ($format == "gexf") { | if ($format == "gexf") { |
//header('Content-Type: text/xml'); | //header('Content-Type: text/xml'); |
header('Content-Type: application/gexf+xml'); | header('Content-Type: application/gexf+xml'); |
echo '<?xml version="1.0" encoding="UTF-8"?> | echo '<?xml version="1.0" encoding="UTF-8"?> |
<gexf xmlns="http://www.gexf.net/1.2draft" xmlns:viz="http://www.gexf.net/1.2draft/viz" version="1.2"> | <gexf xmlns="http://www.gexf.net/1.2draft" xmlns:viz="http://www.gexf.net/1.2draft/viz" version="1.2"> |
<meta lastmodifieddate="2009-03-20"> | <meta lastmodifieddate="2009-03-20"> |
<creator>Gexf.net</creator> | <creator>Gexf.net</creator> |
<description>A hello world! file</description> | <description>A hello world! file</description> |
</meta> | </meta> |
<graph mode="static" defaultedgetype="directed"> | <graph mode="static" defaultedgetype="directed"> |
<nodes>'. PHP_EOL; | <nodes>'. PHP_EOL; |
} | } |
if ($format == "dot") { | if ($format == "dot") { |
echo 'digraph g {'. PHP_EOL; | echo 'digraph g {'. PHP_EOL; |
} | } |
$db = $server->get_db('disclosr-agencies'); | $db = $server->get_db('disclosr-agencies'); |
add_node("fedg","Federal Government - Commonwealth of Australia"); | add_node("fedg","Federal Government - Commonwealth of Australia"); |
try { | try { |
$rows = $db->get_view("app", "byCanonicalName", null, true)->rows; | $rows = $db->get_view("app", "byCanonicalName", null, true)->rows; |
//print_r($rows); | //print_r($rows); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
add_node($row->id, $row->key); | add_node($row->id, $row->key); |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
if ($format == "gexf") { | if ($format == "gexf") { |
echo '</nodes> | echo '</nodes> |
<edges>'. PHP_EOL; | <edges>'. PHP_EOL; |
} | } |
try { | try { |
$rows = $db->get_view("app", "byDeptStateName", null, true)->rows; | $rows = $db->get_view("app", "byDeptStateName", null, true)->rows; |
//print_r($rows); | //print_r($rows); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
add_edge("fedg", $row->value, 'yellow'); | add_edge("fedg", $row->value, 'yellow'); |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
try { | try { |
$rows = $db->get_view("app", "parentOrgs", null, true)->rows; | $rows = $db->get_view("app", "parentOrgs", null, true)->rows; |
// print_r($rows); | // print_r($rows); |
foreach ($rows as $row) { | foreach ($rows as $row) { |
add_edge($row->key, $row->value, 'blue'); | add_edge($row->key, $row->value, 'blue'); |
} | } |
} catch (SetteeRestClientException $e) { | } catch (SetteeRestClientException $e) { |
setteErrorHandler($e); | setteErrorHandler($e); |
} | } |
if ($format == "html") { | if ($format == "html") { |
?> | ?> |
<div id="sigma-example" width="960" style="min-height:800px;background-color: #333;"></div> | <div id="sigma-example" width="960" style="min-height:800px;background-color: #333;"></div> |
<script src="javascripts/sigma.min.js"></script> | <script src="js/sigma.min.js"></script> |
<script src="javascripts/sigma/plugins/sigma.parseGexf.js"></script> | <script src="js/sigma/plugins/sigma.parseGexf.js"></script> |
<script src="javascripts/sigma/plugins/sigma.forceatlas2.js"></script> | <script src="js/sigma/plugins/sigma.forceatlas2.js"></script> |
<script type="text/javascript">function init() { | <script type="text/javascript">function init() { |
// Instanciate sigma.js and customize rendering : | // Instanciate sigma.js and customize rendering : |
var sigInst = sigma.init(document.getElementById('sigma-example')).drawingProperties({ | var sigInst = sigma.init(document.getElementById('sigma-example')).drawingProperties({ |
defaultLabelColor: '#fff', | defaultLabelColor: '#fff', |
defaultLabelSize: 14, | defaultLabelSize: 14, |
defaultLabelBGColor: '#fff', | defaultLabelBGColor: '#fff', |
defaultLabelHoverColor: '#000', | defaultLabelHoverColor: '#000', |
labelThreshold: 6, | labelThreshold: 6, |
defaultEdgeType: 'curve' | defaultEdgeType: 'curve' |
}).graphProperties({ | }).graphProperties({ |
minNodeSize: 0.5, | minNodeSize: 0.5, |
maxNodeSize: 5, | maxNodeSize: 5, |
minEdgeSize: 5, | minEdgeSize: 5, |
maxEdgeSize: 5 | maxEdgeSize: 5 |
}).mouseProperties({ | }).mouseProperties({ |
maxRatio: 32 | maxRatio: 32 |
}); | }); |
// Parse a GEXF encoded file to fill the graph | // Parse a GEXF encoded file to fill the graph |
// (requires "sigma.parseGexf.js" to be included) | // (requires "sigma.parseGexf.js" to be included) |
sigInst.parseGexf('graph.php?format=gexf'); | sigInst.parseGexf('graph.php?format=gexf'); |
sigInst.bind('downnodes',function(event){ | sigInst.bind('downnodes',function(event){ |
var nodes = event.content; | var nodes = event.content; |
}); | }); |
// Start the ForceAtlas2 algorithm | // Start the ForceAtlas2 algorithm |
// (requires "sigma.forceatlas2.js" to be included) | // (requires "sigma.forceatlas2.js" to be included) |
sigInst.startForceAtlas2(); | sigInst.startForceAtlas2(); |
// Draw the graph : | // Draw the graph : |
sigInst.draw(); | sigInst.draw(); |
} | } |
if (document.addEventListener) { | if (document.addEventListener) { |
document.addEventListener("DOMContentLoaded", init, false); | document.addEventListener("DOMContentLoaded", init, false); |
} else { | } else { |
window.onload = init; | window.onload = init; |
} | } |
</script> | </script> |
<?php | <?php |
} | } |
if ($format == "dot") { | if ($format == "dot") { |
echo "}"; | echo "}"; |
} | } |
if ($format == "gexf") { | if ($format == "gexf") { |
echo ' </edges> | echo ' </edges> |
</graph> | </graph> |
</gexf>'. PHP_EOL; | </gexf>'. PHP_EOL; |
} | } |
//include_footer(); | //include_footer(); |
?> | ?> |
<?php | <?php |
date_default_timezone_set("Australia/Sydney"); | date_default_timezone_set("Australia/Sydney"); |
$basePath = ""; | $basePath = ""; |
if (strstr($_SERVER['PHP_SELF'], "alaveteli/") | if (strstr($_SERVER['PHP_SELF'], "alaveteli/") |
|| strstr($_SERVER['PHP_SELF'], "admin/") | || strstr($_SERVER['PHP_SELF'], "admin/") |
|| strstr($_SERVER['PHP_SELF'], "lib/") | || strstr($_SERVER['PHP_SELF'], "lib/") |
|| strstr($_SERVER['PHP_SELF'], "include/")) | || strstr($_SERVER['PHP_SELF'], "include/") |
|| strstr($_SERVER['PHP_SELF'], "documents/") | |
) | |
$basePath = "../"; | $basePath = "../"; |
include_once ('couchdb.inc.php'); | include_once ('couchdb.inc.php'); |
include_once ('template.inc.php'); | include_once ('template.inc.php'); |
require_once $basePath.'lib/Requests/library/Requests.php'; | require_once $basePath.'lib/Requests/library/Requests.php'; |
Requests::register_autoloader(); | Requests::register_autoloader(); |
if (isset($_SERVER['SERVER_NAME']) && $_SERVER['SERVER_NAME'] != 'localhost') { | |
require $basePath."lib/amon-php/amon.php"; | |
Amon::config(array('address'=> 'http://127.0.0.1:2464', | |
'protocol' => 'http', | |
'secret_key' => "I2LJ6dOMmlnXgVAkTPFXd5M3ejkga8Gd2FbBt6iqZdw")); | |
Amon::setup_exception_handler(); | |
} | |
# Convert a stdClass to an Array. http://www.php.net/manual/en/language.types.object.php#102735 | # Convert a stdClass to an Array. http://www.php.net/manual/en/language.types.object.php#102735 |
function object_to_array(stdClass $Class) { | function object_to_array(stdClass $Class) { |
# Typecast to (array) automatically converts stdClass -> array. | # Typecast to (array) automatically converts stdClass -> array. |
$Class = (array) $Class; | $Class = (array) $Class; |
# Iterate through the former properties looking for any stdClass properties. | # Iterate through the former properties looking for any stdClass properties. |
# Recursively apply (array). | # Recursively apply (array). |
foreach ($Class as $key => $value) { | foreach ($Class as $key => $value) { |
if (is_object($value) && get_class($value) === 'stdClass') { | if (is_object($value) && get_class($value) === 'stdClass') { |
$Class[$key] = object_to_array($value); | $Class[$key] = object_to_array($value); |
} | } |
} | } |
return $Class; | return $Class; |
} | } |
# Convert an Array to stdClass. http://www.php.net/manual/en/language.types.object.php#102735 | # Convert an Array to stdClass. http://www.php.net/manual/en/language.types.object.php#102735 |
function array_to_object(array $array) { | function array_to_object(array $array) { |
# Iterate through our array looking for array values. | # Iterate through our array looking for array values. |
# If found recurvisely call itself. | # If found recurvisely call itself. |
foreach ($array as $key => $value) { | foreach ($array as $key => $value) { |
if (is_array($value)) { | if (is_array($value)) { |
$array[$key] = array_to_object($value); | $array[$key] = array_to_object($value); |
} | } |
} | } |
# Typecast to (object) will automatically convert array -> stdClass | # Typecast to (object) will automatically convert array -> stdClass |
return (object) $array; | return (object) $array; |
} | } |
function dept_to_portfolio($deptName) { | function dept_to_portfolio($deptName) { |
return trim(str_replace("Department of", "", str_replace("Department of the", "Department of", $deptName))); | return trim(str_replace("Department of", "", str_replace("Department of the", "Department of", $deptName))); |
} | } |
function phrase_to_tag ($phrase) { | function phrase_to_tag ($phrase) { |
return str_replace(" ","_",str_replace("'","",str_replace(",","",strtolower($phrase)))); | return str_replace(" ","_",str_replace("'","",str_replace(",","",strtolower($phrase)))); |
} | } |
function local_url() { | |
return "http://" . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/\\') . "/"; | |
} | |
function GetDomain($url) | function GetDomain($url) |
{ | { |
$nowww = ereg_replace('www\.','',$url); | $nowww = ereg_replace('www\.','',$url); |
$domain = parse_url($nowww); | $domain = parse_url($nowww); |
if(!empty($domain["host"])) | if(!empty($domain["host"])) |
{ | { |
return $domain["host"]; | return $domain["host"]; |
} else | } else |
{ | { |
return $domain["path"]; | return $domain["path"]; |
} | } |
} | } |
<?php | <?php |
include $basePath . "schemas/schemas.inc.php"; | include $basePath . "schemas/schemas.inc.php"; |
require ($basePath . 'couchdb/settee/src/settee.php'); | require ($basePath . 'couchdb/settee/src/settee.php'); |
function createDocumentsDesignDoc() { | |
/*"views": { | |
"web_server": { | |
"map": "function(doc) {\n emit(doc.web_server, 1);\n}", | |
"reduce": "function (key, values, rereduce) {\n return sum(values);\n}" | |
}, | |
"byAgency": { | |
"map": "function(doc) {\n emit(doc.agencyID, 1);\n}", | |
"reduce": "function (key, values, rereduce) {\n return sum(values);\n}" | |
}, | |
"byURL": { | |
"map": "function(doc) {\n emit(doc.url, doc);\n}" | |
}, | |
"agency": { | |
"map": "function(doc) {\n emit(doc.agencyID, doc);\n}" | |
}, | |
"byWebServer": { | |
"map": "function(doc) {\n emit(doc.web_server, doc);\n}" | |
} | |
}*/ | |
} | |
function createAgencyDesignDoc() { | |
global $db; | |
$obj = new stdClass(); | |
$obj->_id = "_design/" . urlencode("app"); | |
$obj->language = "javascript"; | |
$obj->views->all->map = "function(doc) { emit(doc._id, doc); };"; | |
$obj->views->byABN->map = "function(doc) { emit(doc.abn, doc); };"; | |
$obj->views->byCanonicalName->map = "function(doc) { | |
if (doc.parentOrg || doc.orgType == 'FMA-DepartmentOfState') { | |
emit(doc.name, doc); | |
} | |
};"; | |
$obj->views->byDeptStateName->map = "function(doc) { | |
if (doc.orgType == 'FMA-DepartmentOfState') { | |
emit(doc.name, doc._id); | |
} | |
};"; | |
$obj->views->parentOrgs->map = "function(doc) { | |
if (doc.parentOrg) { | |
emit(doc._id, doc.parentOrg); | |
} | |
};"; | |
$obj->views->byName->map = 'function(doc) { | |
if (typeof(doc["status"]) == "undefined" || doc["status"] != "suspended") { | |
emit(doc.name, doc._id); | |
if (typeof(doc.shortName) != "undefined" && doc.shortName != doc.name) { | |
emit(doc.shortName, doc._id); | |
} | |
for (name in doc.otherNames) { | |
if (doc.otherNames[name] != "" && doc.otherNames[name] != doc.name) { | |
emit(doc.otherNames[name], doc._id); | |
} | |
} | |
for (name in doc.foiBodies) { | |
if (doc.foiBodies[name] != "" && doc.foiBodies[name] != doc.name) { | |
emit(doc.foiBodies[name], doc._id); | |
} | |
} | |
} | |
};'; | |
$obj->views->foiEmails->map = "function(doc) { | |
emit(doc._id, doc.foiEmail); | |
};"; | |
$obj->views->byLastModified->map = "function(doc) { emit(doc.metadata.lastModified, doc); }"; | |
$obj->views->getActive->map = 'function(doc) { if (doc.status == "active") { emit(doc._id, doc); } };'; | |
$obj->views->getSuspended->map = 'function(doc) { if (doc.status == "suspended") { emit(doc._id, doc); } };'; | |
$obj->views->getScrapeRequired->map = "function(doc) { | |
var lastScrape = Date.parse(doc.metadata.lastScraped); | |
var today = new Date(); | |
if (!lastScrape || lastScrape.getTime() + 1000 != today.getTime()) { | |
emit(doc._id, doc); | |
} | |
};"; | |
$obj->views->showNamesABNs->map = "function(doc) { emit(doc._id, {name: doc.name, abn: doc.abn}); };"; | |
$obj->views->getConflicts->map = "function(doc) { | |
if (doc._conflicts) { | |
emit(null, [doc._rev].concat(doc._conflicts)); | |
} | |
}"; | |
// http://stackoverflow.com/questions/646628/javascript-startswith | |
$obj->views->score->map = 'if(!String.prototype.startsWith){ | |
String.prototype.startsWith = function (str) { | |
return !this.indexOf(str); | |
} | |
} | |
function(doc) { | |
count = 0; | |
if (doc["status"] != "suspended") { | |
for(var propName in doc) { | |
if(typeof(doc[propName]) != "undefined" && doc[propName] != "") { | |
count++; | |
} | |
} | |
portfolio = doc.parentOrg; | |
if (doc.orgType == "FMA-DepartmentOfState") { | |
portfolio = doc._id; | |
} | |
if (doc.orgType == "Court-Commonwealth" || doc.orgType == "FMA-DepartmentOfParliament") { | |
portfolio = doc.orgType; | |
} | |
emit(count+doc._id, {id:doc._id, name: doc.name, score:count, orgType: doc.orgType, portfolio:portfolio}); | |
} | |
}'; | |
$obj->views->scoreHas->map = 'if(!String.prototype.startsWith){ | |
String.prototype.startsWith = function (str) { | |
return !this.indexOf(str); | |
} | |
} | |
if(!String.prototype.endsWith){ | |
String.prototype.endsWith = function(suffix) { | |
return this.indexOf(suffix, this.length - suffix.length) !== -1; | |
}; | |
} | |
function(doc) { | |
if (typeof(doc["status"]) == "undefined" || doc["status"] != "suspended") { | |
for(var propName in doc) { | |
if(typeof(doc[propName]) != "undefined" && (propName.startsWith("has") || propName.endsWith("URL"))) { | |
emit(propName, 1); | |
} | |
} | |
emit("total", 1); | |
} | |
}'; | |
$obj->views->scoreHas->reduce = 'function (key, values, rereduce) { | |
return sum(values); | |
}'; | |
$obj->views->fieldNames->map = ' | |
function(doc) { | |
for(var propName in doc) { | |
emit(propName, doc._id); | |
} | |
}'; | |
$obj->views->fieldNames->reduce = 'function (key, values, rereduce) { | |
return values.length; | |
}'; | |
// allow safe updates (even if slightly slower due to extra: rev-detection check). | |
return $db->save($obj, true); | |
} | |
if (php_uname('n') == "vanille") { | if (php_uname('n') == "vanille") { |
$serverAddr = 'http://192.168.178.21:5984/'; | $serverAddr = 'http://192.168.178.21:5984/'; |
} else | } else |
if (php_uname('n') == "KYUUBEY") { | if (php_uname('n') == "KYUUBEY") { |
$serverAddr = 'http://192.168.1.148:5984/'; | $serverAddr = 'http://192.168.1.148:5984/'; |
} else { | } else { |
$serverAddr = 'http://127.0.0.1:5984/'; | $serverAddr = 'http://127.0.0.1:5984/'; |
} | } |
$server = new SetteeServer($serverAddr); | $server = new SetteeServer($serverAddr); |
function setteErrorHandler($e) { | function setteErrorHandler($e) { |
if (class_exists('Amon')) { | |
Amon::log($e->getMessage() . " " . print_r($_SERVER,true), array('error')); | |
} | |
echo $e->getMessage() . "<br>" . PHP_EOL; | echo $e->getMessage() . "<br>" . PHP_EOL; |
} | } |
<?php | <?php |
function include_header() { | function include_header($title) { |
global $basePath; | global $basePath; |
?> | ?> |
<!DOCTYPE html> | <!DOCTYPE html> |
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> | <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> |
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> | <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> |
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> | <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> |
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> | <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> |
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]--> | <!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]--> |
<head> | <head> |
<meta charset="utf-8" /> | <meta charset="utf-8" /> |
<!-- Set the viewport width to device width for mobile --> | <!-- Set the viewport width to device width for mobile --> |
<meta name="viewport" content="width=device-width" /> | <meta name="viewport" content="width=device-width" /> |
<title>Disclosr</title> | <title><?php echo $title; ?> - Disclosr</title> |
<!-- Included CSS Files --> | <!-- Included CSS Files --> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/foundation.css"> | <link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/foundation.css"> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/app.css"> | <link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/app.css"> |
<!--[if lt IE 9]> | <!--[if lt IE 9]> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/ie.css"> | <link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/ie.css"> |
<![endif]--> | <![endif]--> |
<!-- IE Fix for HTML5 Tags --> | <!-- IE Fix for HTML5 Tags --> |
<!--[if lt IE 9]> | <!--[if lt IE 9]> |
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> | <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> |
<![endif]--> | <![endif]--> |
</head> | </head> |
<body xmlns:schema="http://schema.org/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> | <body xmlns:schema="http://schema.org/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> |
<!-- navBar --> | <!-- navBar --> |
<div id="navbar" class="container"> | <div id="navbar" class="container"> |
<div class="row"> | <div class="row"> |
<div class="four columns"> | <div class="four columns"> |
<h1><a href="/">Disclosr</a></h1> | <h1><a href="/">Disclosr</a></h1> |
</div> | </div> |
<div class="eight columns hide-on-phones"> | <div class="eight columns hide-on-phones"> |
<strong class="right"> | <strong class="right"> |
<a href="getAgency.php">Agencies</a> | <a href="getAgency.php">Agencies</a> |
<a href="about.php">About/FAQ</a> | <a href="about.php">About/FAQ</a> |
</strong> | </strong> |
</div> | </div> |
</div> | </div> |
</div> | </div> |
<!-- /navBar --> | <!-- /navBar --> |
<!-- container --> | <!-- container --> |
<div class="container"> | <div class="container"> |
<?php } | <?php } |
function include_footer() { | function include_footer() { |
global $basePath; | global $basePath; |
?> | ?> |
</div> | </div> |
<!-- container --> | <!-- container --> |
<!-- Included JS Files --> | <!-- Included JS Files --> |
<script src="<?php echo $basePath; ?>javascripts/foundation.js"></script> | <script src="<?php echo $basePath; ?>js/foundation.js"></script> |
<script src="<?php echo $basePath; ?>javascripts/app.js"></script> | <script src="<?php echo $basePath; ?>js/app.js"></script> |
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> | <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> |
<script type="text/javascript" src="javascripts/flotr2/flotr2.js"></script> | <script type="text/javascript" src="<?php echo $basePath ?>js/flotr2/flotr2.js"></script> |
<?php | |
if (strpos($_SERVER['SERVER_NAME'], ".gs")) { | |
?> | |
<script type="text/javascript"> | |
var _gaq = _gaq || []; | |
_gaq.push(['_setAccount', 'UA-12341040-2']); | |
_gaq.push(['_trackPageview']); | |
(function() { | |
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; | |
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; | |
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | |
})(); | |
</script> | |
</body> | </body> |
</html> | </html> |
<?php } | <?php } |
} | |
<?php | |
/* Redirect to a different page in the current directory that was requested */ | |
$host = $_SERVER['HTTP_HOST']; | |
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); | |
$extra = 'getAgency.php'; | |
header("Location: http://$host$uri/$extra"); | |
exit; | |
?> | |
/* Foundation v2.1.4 http://foundation.zurb.com */ | |
$(document).ready(function () { | |
/* Use this js doc for all application specific JS */ | |
/* TABS --------------------------------- */ | |
/* Remove if you don't need :) */ | |
function activateTab($tab) { | |
var $activeTab = $tab.closest('dl').find('a.active'), | |
contentLocation = $tab.attr("href") + 'Tab'; | |
//Make Tab Active | |
$activeTab.removeClass('active'); | |
$tab.addClass('active'); | |
//Show Tab Content | |
$(contentLocation).closest('.tabs-content').children('li').hide(); | |
$(contentLocation).show(); | |
} | |
$('dl.tabs').each(function () { | |
//Get all tabs | |
var tabs = $(this).children('dd').children('a'); | |
tabs.click(function (e) { | |
activateTab($(this)); | |
}); | |
}); | |
if (window.location.hash) { | |
activateTab($('a[href="' + window.location.hash + '"]')); | |
} | |
/* ALERT BOXES ------------ */ | |
$(".alert-box").delegate("a.close", "click", function(event) { | |
event.preventDefault(); | |
$(this).closest(".alert-box").fadeOut(function(event){ | |
$(this).remove(); | |
}); | |
}); | |
/* PLACEHOLDER FOR FORMS ------------- */ | |
/* Remove this and jquery.placeholder.min.js if you don't need :) */ | |
//$('input, textarea').placeholder(); | |
/* UNCOMMENT THE LINE YOU WANT BELOW IF YOU WANT IE6/7/8 SUPPORT AND ARE USING .block-grids */ | |
// $('.block-grid.two-up>li:nth-child(2n+1)').css({clear: 'left'}); | |
// $('.block-grid.three-up>li:nth-child(3n+1)').css({clear: 'left'}); | |
// $('.block-grid.four-up>li:nth-child(4n+1)').css({clear: 'left'}); | |
// $('.block-grid.five-up>li:nth-child(5n+1)').css({clear: 'left'}); | |
/* DROPDOWN NAV ------------- */ | |
var currentFoundationDropdown = null; | |
$('.nav-bar li a, .nav-bar li a:after').each(function() { | |
$(this).data('clicks', 0); | |
}); | |
$('.nav-bar li a, .nav-bar li a:after').live('click', function(e) { | |
e.preventDefault(); | |
if (currentFoundationDropdown !== $(this).index() || currentFoundationDropdown === null) { | |
$(this).data('clicks', 0); | |
currentFoundationDropdown = $(this).index(); | |
} | |
$(this).data('clicks', ($(this).data('clicks') + 1)); | |
var f = $(this).siblings('.flyout'); | |
if (!f.is(':visible') && $(this).parent('.has-flyout').length > 1) { | |
$('.nav-bar li .flyout').hide(); | |
f.show(); | |
} else if (($(this).data('clicks') > 1) || ($(this).parent('.has-flyout').length < 1)) { | |
window.location = $(this).attr('href'); | |
} | |
}); | |
$('.nav-bar').live('click', function(e) { | |
e.stopPropagation(); | |
if ($(e.target).parents().is('.flyout') || $(e.target).is('.flyout')) { | |
e.preventDefault(); | |
} | |
}); | |
// $('body').bind('touchend', function(e) { | |
// if (!$(e.target).parents().is('.nav-bar') || !$(e.target).is('.nav-bar')) { | |
// $('.nav-bar li .flyout').is(':visible').hide(); | |
// } | |
// }); | |
/* DISABLED BUTTONS ------------- */ | |
/* Gives elements with a class of 'disabled' a return: false; */ | |
}); | |
/* 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"?"<!doctype html>":"")+"<html><body>"),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;g<i;g++){if(g===1){for(h in a.converters){typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h])}}l=k,k=d[g];if(k==="*"){k=l}else{if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g){i in d&&(c[g[i]]=d[i])}while(f[0]==="*"){f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"))}if(h){for(i in e){if(e[i]&&e[i].test(h)){f.unshift(i);break}}}if(f[0] in d){j=f[0]}else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b)){f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)})}else{if(!c&&b!=null&&typeof b=="object"){for(var e in b){ca(a+"["+e+"]",b[e],c,d)}}else{d(a,b)}}}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c){c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d])}e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++){l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)))}(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++){h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border"){for(;g<h;g++){c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0}}return d+"px"}d=bz(a,b,b);if(d<0||d==null){d=a.style[b]||0}d=parseFloat(d)||0;if(c){for(;g<h;g++){d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0)}}return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio"){a.defaultChecked=a.checked}}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object"){b.outerHTML=a.outerHTML}else{if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option"){b.selected=a.defaultSelected}else{if(c==="input"||c==="textarea"){b.defaultValue=a.defaultValue}}}else{a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)}}b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i){for(d=0,e=i[c].length;d<e;d++){f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}}}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement){while(b.length){c.createElement(b.pop())}}return c}function T(a,b,c){b=b||0;if(f.isFunction(b)){return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c})}if(b.nodeType){return f.grep(a,function(a,d){return a===b===c})}if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b)){return f.filter(b,d,!c)}b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=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<d;c++){b[a[c]]=!0}return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\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(;j<k;j++){if((a=arguments[j])!=null){for(c in a){d=i[c],f=a[c];if(i===f){continue}l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}}}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body){return setTimeout(e.ready,1)}e.isReady=!0;if(a!==!0&&--e.readyWait>0){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(;g<h;){if(c.apply(a[g++],d)===!1){break}}}}else{if(i){for(f in a){if(c.call(a[f],f,a[f])===!1){break}}}else{for(;g<h;){if(c.call(a[g],g,a[g++])===!1){break}}}}return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H){return H.call(b,a,c)}d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++){if(c in b&&b[c]===a){return c}}}return -1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number"){for(var f=c.length;e<f;e++){a[d++]=c[e]}}else{while(c[e]!==b){a[d++]=c[e++]}}a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++){e=!!b(a[f],f),c!==e&&d.push(a[f])}return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k){for(;i<j;i++){f=c(a[i],i,d),f!=null&&(h[h.length]=f)}}else{for(g in a){f=c(a[g],g,d),f!=null&&(h[h.length]=f)}}return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a)){return b}var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c){e.access(a,j,c[j],f,g,d)}return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++){g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h)}return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++){g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)}},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++){if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++){for(var f=0;f<c.length;f++){if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique){break}}}}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++){if(a===c[b]){return !0}}}return !1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return !c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return !d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return !!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null){a=h}else{for(var b in h){a[b]=h[b]}}return a}},i=h.promise({}),j;for(j in g){i[j]=g[j].fire,i[j+"With"]=g[j].fireWith}i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?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<d;c++){b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g}g||j.resolveWith(j,b)}else{j!==a&&j.resolveWith(j,d?[a]:[])}return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",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></: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="<div "+n+"><div></div></div><table "+n+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>",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="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",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="<div style='width:4px;'></div>",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<g;e++){delete d[b[e]]}if(!(c?m:f.isEmptyObject)(d)){return}}}if(!c){delete j[k].data;if(!m(j[k])){return}}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b){return b!==!0&&a.getAttribute("classid")===b}}return !0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++){g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]))}f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object"){return this.each(function(){f.data(this,a)})}d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b){return f.queue(this[0],a)}return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--){if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0)){h++,l.add(m)}}m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a)){return this.each(function(b){f(this).addClass(a.call(this,b,this.className))})}if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1){if(!e.className&&b.length===1){e.className=a}else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++){~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ")}e.className=f.trim(g)}}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a)){return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))})}if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className){if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++){h=h.replace(" "+c[i]+" "," ")}g.className=f.trim(h)}else{g.className=""}}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a)){return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)})}return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++]){i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}}else{if(c==="undefined"||c==="boolean"){this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""}}})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++){if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-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<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j){return b}h.push(b)}}if(j&&!h.length&&i.length){return f(i[g]).val()}return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),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<g;h++){e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode){f.error("type property can't be changed")}else{if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button")){return w.get(a,b)}return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button")){return w.set(a,b,c)}a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set" in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get" in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b)){return a.checked=f.inArray(f(a).val(),b)>=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<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1){a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o){f.event.remove(a,j+b[h],c,d,!0)}continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++){s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s))}r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered)){return}h.indexOf("!")>=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;l<r.length&&!c.isPropagationStopped();l++){m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault()}c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++){r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r)}q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace)){c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando]){return a}var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;){e=i[--d],a[e]=g[e]}a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event)){return new f.Event(a,b)}a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d)){a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b}return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form")){return !1}f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form")){return !1}f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))})}return !1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox"){return a.handleObj.handler.apply(this,arguments)}},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a){this.on(i,c,d,a[i],g)}return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1){e=J}else{if(!e){return this}}g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a){this.off(g,c,a[g])}return this}if(c===!1||typeof c=="function"){d=c,c=b}d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){return f.event.trigger(a,b,this[0],!0)}},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length){b[d++].guid=c}return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?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;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else{if(m.filter(b,[j]).length>0){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<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\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;b<a.length;b++){a[b]===a[b-1]&&a.splice(b--,1)}}}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a){return[]}for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter){if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\"){continue}s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f){g=i=!0}else{if(f===!0){continue}}}if(f){for(n=0;(j=s[n])!=null;n++){j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0))}}if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g){return[]}break}}}if(a===q){if(g==null){m.error(a)}else{break}}q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string"){return a.textContent}if(typeof a.innerText=="string"){return a.innerText.replace(k,"")}for(a=a.firstChild;a;a=a.nextSibling){e+=n(a)}}else{if(d===3||d===4){return a.nodeValue}}}else{for(b=0;c=a[b];b++){c.nodeType!==8&&(e+=n(c))}}return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++){if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1){}a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++){c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b)}d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++){d[e].getAttribute("name")===a[1]&&c.push(d[e])}return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined"){return b.getElementsByTagName(a[1])}}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f){return a}for(var g=0,h;(h=b[g])!=null;g++){h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=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 b<c[3]-0},gt:function(a,b,c){return b>c[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<i;h++){if(g[h]===a){return !1}}return !0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling){if(l.nodeType===1){return !1}}if(k==="first"){return !0}l=a;case"last":while(l=l.nextSibling){if(l.nodeType===1){return !1}}return !0;case"nth":c=b[2],e=b[3];if(c===1&&e===0){return !0}f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling){l.nodeType===1&&(l.nodeIndex=++i)}g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=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;c++){d.push(a[c])}}else{for(;a[c];c++){d.push(a[c])}}}return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1}return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex){return a.sourceIndex-b.sourceIndex}var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i){return v(a,b)}if(!g){return -1}if(!i){return 1}while(j){e.unshift(j),j=j.parentNode}j=i;while(j){f.unshift(j),j=j.parentNode}c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++){if(e[k]!==f[k]){return v(e[k],f[k])}}return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b){return c}var d=a.nextSibling;while(d){if(d===b){return -1}d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",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 href='#'></a>",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="<p class='TEST'></p>";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="<div class='test e'></div><div class='test'></div>";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;h<i;h++){m(a,g[h],e,c)}return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string"){return f(a).filter(function(){for(c=0,d=b.length;c<d;c++){if(f.contains(b[c],this)){return !0}}})}var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0){for(h=g;h<e.length;h++){for(i=0;i<g;i++){if(e[i]===e[h]){e.splice(h--,1);break}}}}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++){if(f.contains(this,b[a])){return !0}}})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return !!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=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<a.length;d++){f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h})}g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-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:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_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<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a)){return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))})}if(typeof a!="object"&&a!==b){return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))}return f.text(this)},wrapAll:function(a){if(f.isFunction(a)){return this.each(function(b){f(this).wrapAll(a.call(this,b))})}if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1){a=a.firstChild}return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a)){return this.each(function(b){f(this).wrapInner(a.call(this,b))})}return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)})}if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)})}if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++){if(!a||f.filter(a,[d]).length){!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d)}}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild){b.removeChild(b.firstChild)}}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null}if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++){this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}}catch(e){this.empty().append(a)}}else{f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a)}return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a)){return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))})}typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j)){return this.each(function(){f(this).domManip(a,c,d,!0)})}if(f.isFunction(j)){return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)})}if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++){d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g){e[g]&&bk(d[g],e[g])}}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g){bj(d[g],e[g])}}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k){continue}if(typeof k=="string"){if(!_.test(k)){k=b.createTextNode(k)}else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--){o=o.lastChild}if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!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<r;i++){bn(k[i])}}else{bn(k)}}k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return !a.type||be.test(a.type)};for(j=0;h[j];j++){if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript")){e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j])}else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()]){continue}c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events){e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle)}b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b){return this}return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get" in k&&(g=k.get(a,!1,e))!==b){return g}return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d)){return}h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set" in k)||(d=k.set(a,d))!==b){try{j[c]=d}catch(l){}}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get" in g&&(e=g.get(a,!0,d))!==b){return e}if(bz){return bz(a,c)}},swap:function(a,b,c){var d={};for(var e in b){d[e]=a.style[e],a.style[e]=b[e]}c.call(a);for(e in b){a.style[e]=d[e]}}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0){return bC(a,b,d)}f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b)){return b}b=parseFloat(b);if(b>=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\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/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("<div>").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):thi |