From 8c34a1bd61a7489f7bbc515c6f56a716476b2917 Mon Sep 17 00:00:00 2001 From: Arjit Chaudhary Date: Wed, 23 Sep 2015 01:17:29 +0530 Subject: [PATCH 001/142] Wrap header in panel http://i.imgur.com/vObwD4w.png --- html/pages/device.inc.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/html/pages/device.inc.php b/html/pages/device.inc.php index 6bb1bf4fa..9300574ac 100644 --- a/html/pages/device.inc.php +++ b/html/pages/device.inc.php @@ -32,11 +32,11 @@ if (device_permitted($vars['device']) || $check_device == $vars['device']) { $device['os_group'] = $config['os'][$device['os']]['group']; } - echo ''; - // include("includes/hostbox.inc.php"); - require 'includes/device-header.inc.php'; - + echo '
'; + echo '
'; + require 'includes/device-header.inc.php'; echo '
'; + echo ''; if (device_permitted($device['device_id'])) { From fd8c8d34ffa7dd75a70759c208c0f1734a2f018b Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:27:26 +0200 Subject: [PATCH 002/142] Create PULSESECURE-PSG-MIB --- mibs/PULSESECURE-PSG-MIB | 755 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 755 insertions(+) create mode 100644 mibs/PULSESECURE-PSG-MIB diff --git a/mibs/PULSESECURE-PSG-MIB b/mibs/PULSESECURE-PSG-MIB new file mode 100644 index 000000000..24df6882e --- /dev/null +++ b/mibs/PULSESECURE-PSG-MIB @@ -0,0 +1,755 @@ +PULSESECURE-PSG-MIB DEFINITIONS ::= BEGIN + IMPORTS + NOTIFICATION-TYPE, MODULE-IDENTITY, enterprises + FROM SNMPv2-SMI + NetworkAddress + FROM RFC1155-SMI + IpAddress + FROM RFC1155-SMI; + +pulsesecure-gateway MODULE-IDENTITY + LAST-UPDATED "201410161000Z" + ORGANIZATION "Pulse Secure" + CONTACT-INFO + "Internet: https://www.pulsesecure.net" + DESCRIPTION + "This file defines the private Pulse Secure MIB extensions." + REVISION "201410161000Z" + DESCRIPTION + "Initial Version" + ::= { enterprises 12532 } + + +logFullPercent OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Percentage of log file full" + ::= { pulsesecure-gateway 1 } + +signedInWebUsers OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of Signed-In Web Users" + ::= { pulsesecure-gateway 2 } + +signedInMailUsers OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of Signed-In Mail Users" + ::= { pulsesecure-gateway 3 } + +blockedIP OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "IP Address that is blocked due to consecutive failed login attempts" + ::= { pulsesecure-gateway 4 } + +authServerName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Name of an external authentication server" + ::= { pulsesecure-gateway 5 } + +productName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "IVE Licensed Product Name" + ::= { pulsesecure-gateway 6 } + +productVersion OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "IVE System Software Version" + ::= { pulsesecure-gateway 7 } + +fileName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "File name" + ::= { pulsesecure-gateway 8 } + +meetingUserCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "the number of concurrent meeting users" + ::= { pulsesecure-gateway 9 } + + +iveCpuUtil OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The CPU Utilization of the IVE system" + ::= { pulsesecure-gateway 10 } + +iveMemoryUtil OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Memory Utilization of the IVE system" + ::= { pulsesecure-gateway 11 } + +iveConcurrentUsers OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of Concurrent user Licenses used for the IVE Node" + ::= { pulsesecure-gateway 12 } + +clusterConcurrentUsers OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of Concurrent user Licenses used for the Cluster" + ::= { pulsesecure-gateway 13 } + +iveTotalHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of hits to the IVE since last reboot" + ::= { pulsesecure-gateway 14 } + +iveFileHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of File hits to the IVE since last reboot" + ::= { pulsesecure-gateway 15 } + +iveWebHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of hits via the Web Interface since the last reboot" + ::= { pulsesecure-gateway 16 } + +iveAppletHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of applet hits to the IVE since last reboot" + ::= { pulsesecure-gateway 17 } + +ivetermHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of terminal hits to the IVE since last reboot" + ::= { pulsesecure-gateway 18 } + +iveSAMHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of SAM(Secure Application manager)hits of since last +reboot" + ::= { pulsesecure-gateway 19 } + +iveNCHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of NC(Network Connect) hits of since last reboot" + ::= { pulsesecure-gateway 20 } + +meetingHits OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of Meeting hits of since last reboot" + ::= { pulsesecure-gateway 21 } + +meetingCount OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "the number of concurrent meetings" + ::= { pulsesecure-gateway 22 } + +logName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Name of the log (admin/user/event)" + ::= { pulsesecure-gateway 23 } + +iveSwapUtil OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Swap Utilization of the IVE system" + ::= { pulsesecure-gateway 24 } + +diskFullPercent OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Percentage of disk space full" + ::= { pulsesecure-gateway 25 } + +blockedIPList OBJECT-TYPE + SYNTAX SEQUENCE OF IPEntry + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Table of 10 most recently blocked IPs" + ::= { pulsesecure-gateway 26 } + +ipEntry OBJECT-TYPE + SYNTAX IPEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry containing a blocked IP" + INDEX { ipIndex } + ::= { blockedIPList 1 } + +IPEntry ::= SEQUENCE { + ipIndex Integer32, + ipValue NetworkAddress +} + +ipIndex OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Index for IP Table" + ::= { ipEntry 1 } + +ipValue OBJECT-TYPE + SYNTAX NetworkAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Blocked IP Entry" + ::= { ipEntry 2 } + +logID OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The unique ID of the log message." + ::= { pulsesecure-gateway 27 } + +logType OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "String stating whether log message is major or critical." + ::= { pulsesecure-gateway 28 } + +logDescription OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The actual log message string." + ::= { pulsesecure-gateway 29 } + +ivsName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Virtual System name" + ::= { pulsesecure-gateway 30 } + +ocspResponderURL OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Name of an OCSP Responder" + ::= { pulsesecure-gateway 31 } + +fanDescription OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The status of the fans" + ::= { pulsesecure-gateway 32 } + +psDescription OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The status of the power supplies" + ::= { pulsesecure-gateway 33 } + +raidDescription OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "The status of the RAID" + ::= { pulsesecure-gateway 34 } + + + +-- J&J traps + +clusterName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Cluster Name" + ::= { pulsesecure-gateway 35 } + + +nodeList OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "List of disabled nodes" + ::= { pulsesecure-gateway 36 } + + +vipType OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Whether the VIP is external or internal" + ::= { pulsesecure-gateway 37 } + +currentVIP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Current value of VIP being changed" + ::= { pulsesecure-gateway 38 } + +newVIP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "New value for the VIp being changed" + ::= { pulsesecure-gateway 39 } + + +nicEvent OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Type of event that generated a the Trap: admin, external" + ::= { pulsesecure-gateway 40 } + +nodeName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Node Name" + ::= { pulsesecure-gateway 41 } + +iveTemperature OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Temperature of MAG application blade. Other platform such as SA +and IC will return 0" + ::= { pulsesecure-gateway 42 } + +iveVPNTunnels OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of concurrent Pulse IPSec and NC users" + ::= { pulsesecure-gateway 43 } + +iveSSLConnections OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Total number of SSL connection " + ::= { pulsesecure-gateway 44 } + +esapVersion OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Active ESAP Version" + ::= { pulsesecure-gateway 45 } + +vipChangeReason OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Reason for the VIP node change" + ::= { pulsesecure-gateway 46 } + +processName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "Process Name" + ::= { pulsesecure-gateway 47 } + +iveTotalSignedInUsers OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Total number of Users Logged In for the Cluster" + ::= { pulsesecure-gateway 48 } + +iveTraps OBJECT IDENTIFIER ::= { pulsesecure-gateway 251 } + +-- iveTraps.1 and iveTraps.2 are loaded incorrectly in HP OpenView +-- so avoid defining them + +iveLogNearlyFull NOTIFICATION-TYPE + OBJECTS { logFullPercent, logName } + STATUS current + DESCRIPTION + "Log file nearly full" + ::= { iveTraps 4 } + +iveLogFull NOTIFICATION-TYPE + OBJECTS { logName } + STATUS current + DESCRIPTION + "Log file full" + ::= { iveTraps 5 } + +iveMaxConcurrentUsersSignedIn NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "Maximum number of concurrent users signed in" + ::= { iveTraps 6 } + +iveTooManyFailedLoginAttempts NOTIFICATION-TYPE + OBJECTS { blockedIP } + STATUS current + DESCRIPTION + "Too many failed login attempts" + ::= { iveTraps 7 } + +externalAuthServerUnreachable NOTIFICATION-TYPE + OBJECTS { authServerName } + STATUS current + DESCRIPTION + "External authentication server is not responding" + ::= { iveTraps 8 } + +iveStart NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "IVE startup under administrator's instruction." + ::= { iveTraps 9 } + +iveShutdown NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "IVE shutdown under administrator's instruction." + ::= { iveTraps 10 } + +iveReboot NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "IVE reboot under administrator's instruction." + ::= { iveTraps 11 } + +archiveServerUnreachable NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "Archive server is not responding" + ::= { iveTraps 12 } + +archiveServerLoginFailed NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "Could not login into archive server. Verify FTP username and +password." + ::= { iveTraps 13 } + +archiveFileTransferFailed NOTIFICATION-TYPE + OBJECTS { fileName } + STATUS current + DESCRIPTION + "Could not store file on archive server" + ::= { iveTraps 14 } + + +meetingUserLimit NOTIFICATION-TYPE + OBJECTS { meetingUserCount } + STATUS current + DESCRIPTION + "Concurrent user count over license limit" + ::= { iveTraps 15 } + +iveRestart NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "IVE has restarted under administrator's instruction." + ::= { iveTraps 16 } + +meetingLimit NOTIFICATION-TYPE + OBJECTS { meetingCount } + STATUS current + DESCRIPTION + "Concurrent meeting count over license limit" + ::= { iveTraps 17 } + +iveDiskNearlyFull NOTIFICATION-TYPE + OBJECTS { diskFullPercent } + STATUS current + DESCRIPTION + "Disk space nearly full" + ::= { iveTraps 18 } + +iveDiskFull NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "Disk space full" + ::= { iveTraps 19 } + +logMessageTrap NOTIFICATION-TYPE + OBJECTS { logID, logType, logDescription } + STATUS current + DESCRIPTION + "The TRAP generated from a log message." + ::= { iveTraps 20 } + +memUtilNotify NOTIFICATION-TYPE + OBJECTS { iveMemoryUtil } + STATUS current + DESCRIPTION + "IVE memory utilization above threshold" + ::= { iveTraps 21 } + +cpuUtilNotify NOTIFICATION-TYPE + OBJECTS { iveCpuUtil } + STATUS current + DESCRIPTION + "IVE CPU utilization above threshold" + ::= { iveTraps 22 } + +swapUtilNotify NOTIFICATION-TYPE + OBJECTS { iveSwapUtil } + STATUS current + DESCRIPTION + "IVE swap utilization above threshold" + ::= { iveTraps 23 } + +iveMaxConcurrentUsersVirtualSystem NOTIFICATION-TYPE + OBJECTS { ivsName } + STATUS current + DESCRIPTION + "Maximum number of concurrent Virtual System users signed in" + ::= { iveTraps 24 } + +ocspResponderConnectionFailed NOTIFICATION-TYPE + OBJECTS { ocspResponderURL } + STATUS current + DESCRIPTION + "OCSP Responder cannot be connected" + ::= { iveTraps 25 } + +iveFanNotify NOTIFICATION-TYPE + OBJECTS { fanDescription } + STATUS current + DESCRIPTION + "The status of the fans has changed" + ::= { iveTraps 26 } + +ivePowerSupplyNotify NOTIFICATION-TYPE + OBJECTS { psDescription } + STATUS current + DESCRIPTION + "The status of the power supplies has changed" + ::= { iveTraps 27 } + +iveRaidNotify NOTIFICATION-TYPE + OBJECTS { raidDescription } + STATUS current + DESCRIPTION + "The status of the RAID has changed" + ::= { iveTraps 28 } + +iveClusterDisableNodeTrap NOTIFICATION-TYPE + OBJECTS { clusterName, nodeList } + STATUS current + DESCRIPTION + "A Given node(s) in a cluster has(have) been disabled" + ::= { iveTraps 29 } + +iveClusterChangedVIPTrap NOTIFICATION-TYPE + OBJECTS { vipType, currentVIP, newVIP } + STATUS current + DESCRIPTION + "A external/internal VIP has changed from its current value to a new +one" + ::= { iveTraps 30 } + +iveNetExternalInterfaceDownTrap NOTIFICATION-TYPE + OBJECTS { nicEvent } + STATUS current + DESCRIPTION + "The External interface has gone down, reason is in nicEvent" + ::= { iveTraps 31 } + +iveClusterDeleteTrap NOTIFICATION-TYPE + OBJECTS { nodeName } + STATUS current + DESCRIPTION + "Cluster delete inititaed by nodeName" + ::= { iveTraps 32 } + +iveNetInternalInterfaceDownTrap NOTIFICATION-TYPE + OBJECTS { nicEvent } + STATUS current + DESCRIPTION + "The Internal interface has gone down, reason is in nicEvent" + ::= { iveTraps 33 } + +iveNetManagementInterfaceDownTrap NOTIFICATION-TYPE + OBJECTS { nicEvent } + STATUS current + DESCRIPTION + "The Management interface has gone down, reason is in nicEvent" + ::= { iveTraps 34 } + +iveTemperatureNotify NOTIFICATION-TYPE + OBJECTS { iveTemperature } + STATUS current + DESCRIPTION + "IVE Temperature is above threshold" + ::= { iveTraps 35 } + +iveVIPNodeChanged NOTIFICATION-TYPE + OBJECTS { nodeName, vipChangeReason} + STATUS current + DESCRIPTION + "Notifies that VIP node has changed. + nodeName is the new node which is hosting the VIP. + vipChangeReason specifies the reason for the change." + ::= { iveTraps 36 } + +iveProcessesNearMaxLimit NOTIFICATION-TYPE + OBJECTS { processName } + STATUS current + DESCRIPTION + "The count of processes (by processName) is about reach to maximum +limit" + ::= { iveTraps 37 } + +iveProcessesReachedMaxLimit NOTIFICATION-TYPE + OBJECTS { processName } + STATUS current + DESCRIPTION + "The count of processes (by processName) has reached to maximum limit" + ::= { iveTraps 38 } + +-- Product Name +iveSAProduct OBJECT IDENTIFIER ::= { pulsesecure-gateway 252 } +iveICProduct OBJECT IDENTIFIER ::= { pulsesecure-gateway 253 } +iveMAGProduct OBJECT IDENTIFIER ::= { pulsesecure-gateway 254 } +iveVAProduct OBJECT IDENTIFIER ::= { pulsesecure-gateway 255 } + +iveProductSA700 OBJECT IDENTIFIER ::= {iveSAProduct 1} +iveProductSA2000 OBJECT IDENTIFIER ::= {iveSAProduct 2 } +iveProductSA2500 OBJECT IDENTIFIER ::= {iveSAProduct 3 } +iveProductSA4000 OBJECT IDENTIFIER ::= {iveSAProduct 4 } +iveProductSA4500 OBJECT IDENTIFIER ::= {iveSAProduct 5 } +iveProductSA6000 OBJECT IDENTIFIER ::= {iveSAProduct 6 } +iveProductSA6500 OBJECT IDENTIFIER ::= {iveSAProduct 7 } + +iveProductIC4000 OBJECT IDENTIFIER ::= {iveICProduct 1 } +iveProductIC4500 OBJECT IDENTIFIER ::= {iveICProduct 2 } +iveProductIC6000 OBJECT IDENTIFIER ::= {iveICProduct 3 } +iveProductIC6500 OBJECT IDENTIFIER ::= {iveICProduct 4 } + +--MAG platform +iveProductMAG2600 OBJECT IDENTIFIER ::= {iveMAGProduct 1 } +iveProductMAG4610 OBJECT IDENTIFIER ::= {iveMAGProduct 2 } +iveProductSM160 OBJECT IDENTIFIER ::= {iveMAGProduct 3 } +iveProductSM360 OBJECT IDENTIFIER ::= {iveMAGProduct 4 } + +--VA platform +iveProductVASPE OBJECT IDENTIFIER ::= {iveVAProduct 1 } +iveProductVADTE OBJECT IDENTIFIER ::= {iveVAProduct 2 } + +--SA +iveSA700 OBJECT IDENTIFIER ::= {iveProductSA700 1} +iveSA2000 OBJECT IDENTIFIER ::= {iveProductSA2000 1} +iveSA2500 OBJECT IDENTIFIER ::= {iveProductSA2500 1} +iveSA4000 OBJECT IDENTIFIER ::= {iveProductSA4000 1} +iveSA4500 OBJECT IDENTIFIER ::= {iveProductSA4500 1} +iveSA4000FIPS OBJECT IDENTIFIER ::= {iveProductSA4000 2} +iveSA4500FIPS OBJECT IDENTIFIER ::= {iveProductSA4500 2} +iveSA6000 OBJECT IDENTIFIER ::= {iveProductSA6000 1} +iveSA6500 OBJECT IDENTIFIER ::= {iveProductSA6500 1} +iveSA6000FIPS OBJECT IDENTIFIER ::= {iveProductSA6000 2} +iveSA6500FIPS OBJECT IDENTIFIER ::= {iveProductSA6500 2} + +--IC +iveIC4000 OBJECT IDENTIFIER ::= {iveProductIC4000 1} +iveIC6000 OBJECT IDENTIFIER ::= {iveProductIC6000 1} +iveIC4500 OBJECT IDENTIFIER ::= {iveProductIC4500 1} +iveIC6500 OBJECT IDENTIFIER ::= {iveProductIC6500 1} +iveIC6000FIPS OBJECT IDENTIFIER ::= {iveProductIC6000 2} + +--MAG platform incase we have other rev +iveMAG2600 OBJECT IDENTIFIER ::= {iveProductMAG2600 1} +iveMAG4610 OBJECT IDENTIFIER ::= {iveProductMAG4610 1} +iveMAGSM160 OBJECT IDENTIFIER ::= {iveProductSM160 1} +iveMAGSM360 OBJECT IDENTIFIER ::= {iveProductSM360 1} + +--VA platform incase we have to extend further +iveVASPE OBJECT IDENTIFIER ::= {iveProductVASPE 1} +iveVADTE OBJECT IDENTIFIER ::= {iveProductVADTE 1} + + +END From 36e036a761b427d71c5fa18190cd668eefa76a4d Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:38:22 +0200 Subject: [PATCH 003/142] Update definitions.inc.php --- includes/definitions.inc.php | 68 +++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 13 deletions(-) diff --git a/includes/definitions.inc.php b/includes/definitions.inc.php index 618f871b3..7acbf0c4a 100644 --- a/includes/definitions.inc.php +++ b/includes/definitions.inc.php @@ -30,6 +30,19 @@ else { $database_db = mysql_select_db($config['db_name'], $database_link); } +if ($config['memcached']['enable'] === true) { + if (class_exists('Memcached')) { + $config['memcached']['ttl'] = 60; + $config['memcached']['resource'] = new Memcached(); + $config['memcached']['resource']->addServer($config['memcached']['host'], $config['memcached']['port']); + } + else { + echo "WARNING: You have enabled memcached but have not installed the PHP bindings. Disabling memcached support.\n"; + echo "Try 'apt-get install php5-memcached' or 'pecl install memcached'. You will need the php5-dev and libmemcached-dev packages to use pecl.\n\n"; + $config['memcached']['enable'] = 0; + } +} + $clone = $config; foreach (dbFetchRows('select config_name,config_value from config') as $obj) { $clone = array_replace_recursive($clone, mergecnf($obj)); @@ -413,6 +426,10 @@ $config['os'][$os]['over'][1]['graph'] = 'device_processor'; $config['os'][$os]['over'][1]['text'] = 'CPU Usage'; $config['os'][$os]['over'][2]['graph'] = 'device_mempool'; $config['os'][$os]['over'][2]['text'] = 'Memory Usage'; +$config['os'][$os]['over'][3]['graph'] = 'device_ciscowlc_numaps'; +$config['os'][$os]['over'][3]['text'] = 'Number of APs'; +$config['os'][$os]['over'][4]['graph'] = 'device_ciscowlc_numclients'; +$config['os'][$os]['over'][4]['text'] = 'Number of Clients'; $config['os'][$os]['icon'] = 'cisco'; // Brocade NOS @@ -536,6 +553,18 @@ $config['os'][$os]['over'][1]['text'] = 'CPU Usage'; $config['os'][$os]['over'][2]['graph'] = 'device_mempool'; $config['os'][$os]['over'][2]['text'] = 'Memory Usage'; +// Pulse Secure OS definition +$os = 'pulse'; +$config['os'][$os]['text'] = 'Pulse Secure'; +$config['os'][$os]['type'] = 'firewall'; +$config['os'][$os]['icon'] = 'junos'; +$config['os'][$os]['over'][0]['graph'] = 'device_bits'; +$config['os'][$os]['over'][0]['text'] = 'Device Traffic'; +$config['os'][$os]['over'][1]['graph'] = 'device_processor'; +$config['os'][$os]['over'][1]['text'] = 'CPU Usage'; +$config['os'][$os]['over'][2]['graph'] = 'device_mempool'; +$config['os'][$os]['over'][2]['text'] = 'Memory Usage'; + $os = 'fortigate'; $config['os'][$os]['text'] = 'Fortinet Fortigate'; $config['os'][$os]['type'] = 'firewall'; @@ -634,6 +663,12 @@ $config['os'][$os]['icon'] = 'avaya'; $config['os'][$os]['over'][0]['graph'] = 'device_bits'; $config['os'][$os]['over'][0]['text'] = 'Device Traffic'; +$os = 'avaya-ipo'; +$config['os'][$os]['text'] = 'IP Office Firmware'; +$config['os'][$os]['type'] = 'network'; +$config['os'][$os]['icon'] = 'avaya'; + + $os = 'arista_eos'; $config['os'][$os]['text'] = 'Arista EOS'; $config['os'][$os]['type'] = 'network'; @@ -848,6 +883,10 @@ $config['os'][$os]['text'] = 'SonicWALL'; $config['os'][$os]['type'] = 'firewall'; $config['os'][$os]['over'][0]['graph'] = 'device_bits'; $config['os'][$os]['over'][0]['text'] = 'Traffic'; +$config['os'][$os]['over'][1]['graph'] = 'device_processor'; +$config['os'][$os]['over'][1]['text'] = 'CPU'; +$config['os'][$os]['over'][2]['graph'] = 'device_mempool'; +$config['os'][$os]['over'][2]['text'] = 'Memory'; $os = 'zywall'; $config['os'][$os]['text'] = 'ZyXEL ZyWALL'; @@ -1284,6 +1323,14 @@ $config['os'][$os]['icon'] = 'generic'; $config['os'][$os]['over'][0]['graph'] = 'device_bits'; $config['os'][$os]['over'][0]['text'] = 'Traffic'; +// HP MSM +$os = 'hpmsm'; +$config['os'][$os]['text'] = 'HP MSM'; +$config['os'][$os]['type'] = 'wireless'; +$config['os'][$os]['icon'] = 'hp'; +$config['os'][$os]['over'][0]['graph'] = 'device_bits'; +$config['os'][$os]['over'][0]['text'] = 'Traffic'; + // Appliances $os = 'fortios'; $config['os'][$os]['text'] = 'FortiOS'; @@ -1459,6 +1506,14 @@ $config['graph_types']['device']['panos_sessions']['section'] = 'firewall'; $config['graph_types']['device']['panos_sessions']['order'] = '0'; $config['graph_types']['device']['panos_sessions']['descr'] = 'Active Sessions'; +//Pulse Secure Graphs +$config['graph_types']['device']['pulse_users']['section'] = 'firewall'; +$config['graph_types']['device']['pulse_users']['order'] = '0'; +$config['graph_types']['device']['pulse_users']['descr'] = 'Active Users'; +$config['graph_types']['device']['pulse_sessions']['section'] = 'firewall'; +$config['graph_types']['device']['pulse_sessions']['order'] = '0'; +$config['graph_types']['device']['pulse_sessions']['descr'] = 'Active Sessions'; + $config['graph_types']['device']['bits']['section'] = 'netstats'; $config['graph_types']['device']['bits']['order'] = '0'; $config['graph_types']['device']['bits']['descr'] = 'Total Traffic'; @@ -1685,19 +1740,6 @@ if (isset($_SERVER['HTTPS'])) { $config['base_url'] = preg_replace('/^http:/', 'https:', $config['base_url']); } -if ($config['memcached']['enable'] === true) { - if (class_exists('Memcached')) { - $memcache = new Memcached(); - $memcache->addServer($config['memcached']['host'], $config['memcached']['port']); - $memcache->getStats(); - } - else { - echo "WARNING: You have enabled memcached but have not installed the PHP bindings. Disabling memcached support.\n"; - echo "Try 'apt-get install php5-memcached' or 'pecl install memcached'. You will need the php5-dev and libmemcached-dev packages to use pecl.\n\n"; - $config['memcached']['enable'] = 0; - } -} - // Set some times needed by loads of scripts (it's dynamic, so we do it here!) $config['time']['now'] = time(); $config['time']['now'] -= ($config['time']['now'] % 300); From 15ece0f14c12536cdf6e14cf07f14487afb941fe Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:41:25 +0200 Subject: [PATCH 004/142] Create pulse.inc.php --- includes/discovery/os/pulse.inc.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 includes/discovery/os/pulse.inc.php diff --git a/includes/discovery/os/pulse.inc.php b/includes/discovery/os/pulse.inc.php new file mode 100644 index 000000000..608403dc0 --- /dev/null +++ b/includes/discovery/os/pulse.inc.php @@ -0,0 +1,16 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. + */ +if (!$os) { + if (strstr($sysDescr, 'Pulse Connect Secure')) { + $os = 'pulse'; + } +} From dbb6e1d7b0544bdf009cd7533914234ed05bd71c Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:44:30 +0200 Subject: [PATCH 005/142] Create pulse.inc.php --- includes/discovery/mempools/pulse.inc.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 includes/discovery/mempools/pulse.inc.php diff --git a/includes/discovery/mempools/pulse.inc.php b/includes/discovery/mempools/pulse.inc.php new file mode 100644 index 000000000..97b514a98 --- /dev/null +++ b/includes/discovery/mempools/pulse.inc.php @@ -0,0 +1,23 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. + */ +// +// Hardcoded discovery of Memory usage on Pulse Secure devices. +// +if ($device['os'] == 'pulse') { + echo 'PULSE-MEMORY-POOL: '; + + $usage = str_replace('"', "", snmp_get($device, 'PULSESECURE-PSG-MIB::iveMemoryUtil.0', '-OvQ')); + + if (is_numeric($usage)) { + discover_mempool($valid_mempool, $device, 0, 'pulse-mem', 'Main Memory', '100', null, null); + } +} From 25eb2d166d354e54681f739b3a44dab3ea41dae1 Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:45:49 +0200 Subject: [PATCH 006/142] Create pulse.inc.php --- includes/discovery/processors/pulse.inc.php | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 includes/discovery/processors/pulse.inc.php diff --git a/includes/discovery/processors/pulse.inc.php b/includes/discovery/processors/pulse.inc.php new file mode 100644 index 000000000..4faa47dbb --- /dev/null +++ b/includes/discovery/processors/pulse.inc.php @@ -0,0 +1,25 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. +*/ +// +// Hardcoded discovery of CPU usage on Pulse Secure devices. +// +if ($device['os'] == 'pulse') { + echo 'Pulse Secure : '; + + $descr = 'Processor'; + $usage = str_replace('"', "", snmp_get($device, 'PULSESECURE-PSG-MIB::iveCpuUtil.0', '-OvQ')); + + if (is_numeric($usage)) { + discover_processor($valid['processor'], $device, 'PULSESECURE-PSG-MIB::iveCpuUtil.0', '0', 'pulse-cpu', $descr, + '100', $usage, null, null); + } +} From 5544313363266e082ac89f10b33c5cca334d18c3 Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:47:55 +0200 Subject: [PATCH 007/142] Create pulse-mem.inc.php --- includes/polling/mempools/pulse-mem.inc.php | 30 +++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 includes/polling/mempools/pulse-mem.inc.php diff --git a/includes/polling/mempools/pulse-mem.inc.php b/includes/polling/mempools/pulse-mem.inc.php new file mode 100644 index 000000000..cfee9f7ee --- /dev/null +++ b/includes/polling/mempools/pulse-mem.inc.php @@ -0,0 +1,30 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. + */ +// Simple hard-coded poller for Pulse Secure +// Yes, it really can be this simple. + +echo 'Pulse Secure MemPool'.'\n'; + +if ($device['os'] == 'pulse') { + $perc = str_replace('"', "", snmp_get($device, "PULSESECURE-PSG-MIB::iveMemoryUtil.0", '-OvQ')); + $memory_available = str_replace('"', "", snmp_get($device, "UCD-SNMP-MIB::memTotalReal.0", '-OvQ')); + $mempool['total'] = $memory_available; + + if (is_numeric($perc)) { + $mempool['used'] = ($memory_available / 100 * $perc); + $mempool['free'] = ($memory_available - $mempool['used']); + } + + echo "PERC " .$perc."%\n"; + echo "Avail " .$mempool['total']."\n"; + +} From 295e4eada9443ffe3730d6be09d63ab662662d55 Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:48:39 +0200 Subject: [PATCH 008/142] Create pulse-cpu.inc.php --- includes/polling/processors/pulse-cpu.inc.php | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 includes/polling/processors/pulse-cpu.inc.php diff --git a/includes/polling/processors/pulse-cpu.inc.php b/includes/polling/processors/pulse-cpu.inc.php new file mode 100644 index 000000000..03413c3b9 --- /dev/null +++ b/includes/polling/processors/pulse-cpu.inc.php @@ -0,0 +1,23 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. + */ +// Simple hard-coded poller for Pulse Secure +// Yes, it really can be this simple. + +echo 'Pulse Secure CPU Usage'; + +if ($device['os'] == 'pulse') { + $usage = str_replace('"', "", snmp_get($device, 'PULSESECURE-PSG-MIB::iveCpuUtil.0', '-OvQ')); + + if (is_numeric($usage)) { + $proc = ($usage * 100); + } +} From 6fdcb035774ff5e9d64f56d9613b132eddc9515c Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:49:42 +0200 Subject: [PATCH 009/142] Create pulse.inc.php --- includes/polling/os/pulse.inc.php | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 includes/polling/os/pulse.inc.php diff --git a/includes/polling/os/pulse.inc.php b/includes/polling/os/pulse.inc.php new file mode 100644 index 000000000..f52d9ac0c --- /dev/null +++ b/includes/polling/os/pulse.inc.php @@ -0,0 +1,37 @@ + + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. +*/ + +$version = trim(snmp_get($device, "productVersion.0", "-OQv", "PULSESECURE-PSG-MIB"),'"'); +$hardware = "Juniper " . trim(snmp_get($device, "productName.0", "-OQv", "PULSESECURE-PSG-MIB"),'"'); +$hostname = trim(snmp_get($device, "sysName.0", "-OQv", "SNMPv2-MIB"),'"'); + +$usersrrd = $config['rrd_dir'].'/'.$device['hostname'].'/pulse_users.rrd'; +$users = snmp_get($device, 'PULSESECURE-PSG-MIB::iveConcurrentUsers.0', '-OQv'); + +if (is_numeric($users)) { + if (!is_file($usersrrd)) { + rrdtool_create($usersrrd, ' DS:users:GAUGE:600:0:U'.$config['rrd_rra']); + } + rrdtool_update($usersrrd, "N:$users"); + $graphs['pulse_users'] = true; +} + +$sessrrd = $config['rrd_dir'].'/'.$device['hostname'].'/pulse_sessions.rrd'; +$sessions = snmp_get($device, 'PULSESECURE-PSG-MIB::iveConcurrentUsers.0', '-OQv'); + +if (is_numeric($sessions)) { + if (!is_file($sessrrd)) { + rrdtool_create($sessrrd, ' DS:sessions:GAUGE:600:0:U '.$config['rrd_rra']); + } + rrdtool_update($sessrrd, "N:$sessions"); + $graphs['pulse_sessions'] = true; +} From 24efc0176d0d27e5f6efeecde3ab46b20dfa0858 Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:51:14 +0200 Subject: [PATCH 010/142] Create 073.sql --- sql-schema/073.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql-schema/073.sql diff --git a/sql-schema/073.sql b/sql-schema/073.sql new file mode 100644 index 000000000..635de4cb4 --- /dev/null +++ b/sql-schema/073.sql @@ -0,0 +1,2 @@ +INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'pulse_users', 'firewall', 'Active Users', ''); +INSERT INTO `graph_types`(`graph_type`, `graph_subtype`, `graph_section`, `graph_descr`, `graph_order`) VALUES ('device', 'pulse_sessions', 'firewall', 'Active Sessions', ''); From adc445a565c0c46980d9f87393f94b00026800a6 Mon Sep 17 00:00:00 2001 From: chrisgfx Date: Sat, 3 Oct 2015 11:56:05 +0200 Subject: [PATCH 011/142] Create pulse_sessions.inc.php --- .../graphs/device/pulse_sessions.inc.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 html/includes/graphs/device/pulse_sessions.inc.php diff --git a/html/includes/graphs/device/pulse_sessions.inc.php b/html/includes/graphs/device/pulse_sessions.inc.php new file mode 100644 index 000000000..bedbdb0cc --- /dev/null +++ b/html/includes/graphs/device/pulse_sessions.inc.php @@ -0,0 +1,19 @@ + Date: Sat, 3 Oct 2015 11:56:54 +0200 Subject: [PATCH 012/142] Create pulse_users.inc.php --- .../includes/graphs/device/pulse_users.inc.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 html/includes/graphs/device/pulse_users.inc.php diff --git a/html/includes/graphs/device/pulse_users.inc.php b/html/includes/graphs/device/pulse_users.inc.php new file mode 100644 index 000000000..355c195de --- /dev/null +++ b/html/includes/graphs/device/pulse_users.inc.php @@ -0,0 +1,18 @@ + Date: Wed, 7 Oct 2015 16:12:48 +0200 Subject: [PATCH 013/142] Make discovery ignore Dell branded Aruba Wifi Controllers. Dell PowerConnect W-3200 controllers have the strings ArubaOS and PowerConnect in their sysDescr and powerconnect.inc.php will overwrite the Aruba OS detection. --- includes/discovery/os/powerconnect.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/discovery/os/powerconnect.inc.php b/includes/discovery/os/powerconnect.inc.php index a661245c5..7f78d8868 100644 --- a/includes/discovery/os/powerconnect.inc.php +++ b/includes/discovery/os/powerconnect.inc.php @@ -2,7 +2,7 @@ if (!$os) { // if (strstr($sysDescr, "Neyland 24T")) { $os = "powerconnect"; } /* Powerconnect 5324 */ - if (stristr($sysDescr, 'PowerConnect ')) { + if (stristr($sysDescr, 'PowerConnect ') && !stristr($sysDescr, 'ArubaOS') { $os = 'powerconnect'; } else if (preg_match('/Dell.*Gigabit\ Ethernet/i', $sysDescr)) { From 75134f76fcb36389257404a96da30eadf675b801 Mon Sep 17 00:00:00 2001 From: Falk Stern Date: Wed, 7 Oct 2015 16:16:06 +0200 Subject: [PATCH 014/142] I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md. --- AUTHORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.md b/AUTHORS.md index bb70b233a..cefed25de 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -60,5 +60,6 @@ Contributors to LibreNMS: - Frederik Mogensen (mogensen) - Matthew Scully (mattz0r) - Xavier Beaudouin (xbeaudouin) +- Falk Stern (fstern) [1]: http://observium.org/ "Observium web site" From b6c6ecd359923e09faa5e1e6b5e4727525e4ba98 Mon Sep 17 00:00:00 2001 From: Falk Stern Date: Wed, 7 Oct 2015 16:27:06 +0200 Subject: [PATCH 015/142] Missing a bracket, sorry. --- includes/discovery/os/powerconnect.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/discovery/os/powerconnect.inc.php b/includes/discovery/os/powerconnect.inc.php index 7f78d8868..f13f00cc7 100644 --- a/includes/discovery/os/powerconnect.inc.php +++ b/includes/discovery/os/powerconnect.inc.php @@ -2,7 +2,7 @@ if (!$os) { // if (strstr($sysDescr, "Neyland 24T")) { $os = "powerconnect"; } /* Powerconnect 5324 */ - if (stristr($sysDescr, 'PowerConnect ') && !stristr($sysDescr, 'ArubaOS') { + if (stristr($sysDescr, 'PowerConnect ') && !stristr($sysDescr, 'ArubaOS')) { $os = 'powerconnect'; } else if (preg_match('/Dell.*Gigabit\ Ethernet/i', $sysDescr)) { From 77d03cc5057ed67482b58e6da7a64e427b154799 Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Wed, 7 Oct 2015 22:03:29 +0100 Subject: [PATCH 016/142] Update Updating.md --- doc/General/Updating.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/General/Updating.md b/doc/General/Updating.md index f5017eea2..ac87691ed 100644 --- a/doc/General/Updating.md +++ b/doc/General/Updating.md @@ -8,8 +8,7 @@ by ensuring: is no longer commented out. If you would like to perform a manual update then you can do this by running the following commands: - git pull --no-edit --quiet - php includes/sql-schema/update.php + ./daily.sh This will update both the core LibreNMS files but also update the database structure if updates are available. From e21ee0d8d8e80b39ac079165b4b4a95741e9774e Mon Sep 17 00:00:00 2001 From: laf Date: Wed, 7 Oct 2015 21:19:27 +0000 Subject: [PATCH 017/142] Added ability to disable icmp check on devices --- includes/defaults.inc.php | 2 ++ includes/functions.php | 51 ++++++++++++++++++++++----------------- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index a47a32d87..c0345ffba 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -195,6 +195,8 @@ $config['snmp']['v3'][0]['cryptopass'] = ''; $config['snmp']['v3'][0]['cryptoalgo'] = 'AES'; // AES | DES +// Devices must respond to icmp by default +$config['icmp_check'] = true; // Autodiscovery Settings $config['autodiscovery']['xdp'] = true; diff --git a/includes/functions.php b/includes/functions.php index 42e9d0b25..ba4aeb30a 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -490,31 +490,38 @@ function isSNMPable($device) { function isPingable($hostname, $address_family = AF_INET, $device_id = FALSE) { global $config; - $fping_params = ''; - if(is_numeric($config['fping_options']['retries']) || $config['fping_options']['retries'] > 1) { - $fping_params .= ' -r ' . $config['fping_options']['retries']; - } - if(is_numeric($config['fping_options']['timeout']) || $config['fping_options']['timeout'] > 1) { - $fping_params .= ' -t ' . $config['fping_options']['timeout']; - } - if(is_numeric($config['fping_options']['count']) || $config['fping_options']['count'] > 0) { - $fping_params .= ' -c ' . $config['fping_options']['count']; - } - if(is_numeric($config['fping_options']['millisec']) || $config['fping_options']['millisec'] > 0) { - $fping_params .= ' -p ' . $config['fping_options']['millisec']; - } - $response = array(); - $status = fping($hostname,$fping_params,$address_family); - if ($status['loss'] == 100) { - $response['result'] = FALSE; + if ($config['icmp_check'] === true) { + + $fping_params = ''; + if(is_numeric($config['fping_options']['retries']) || $config['fping_options']['retries'] > 1) { + $fping_params .= ' -r ' . $config['fping_options']['retries']; + } + if(is_numeric($config['fping_options']['timeout']) || $config['fping_options']['timeout'] > 1) { + $fping_params .= ' -t ' . $config['fping_options']['timeout']; + } + if(is_numeric($config['fping_options']['count']) || $config['fping_options']['count'] > 0) { + $fping_params .= ' -c ' . $config['fping_options']['count']; + } + if(is_numeric($config['fping_options']['millisec']) || $config['fping_options']['millisec'] > 0) { + $fping_params .= ' -p ' . $config['fping_options']['millisec']; + } + $response = array(); + $status = fping($hostname,$fping_params,$address_family); + if ($status['loss'] == 100) { + $response['result'] = FALSE; + } + else { + $response['result'] = TRUE; + } + if (is_numeric($status['avg'])) { + $response['last_ping_timetaken'] = $status['avg']; + } + $response['db'] = $status; } else { - $response['result'] = TRUE; + $response['result'] = true; + $response['last_ping_timetaken'] = 0; } - if (is_numeric($status['avg'])) { - $response['last_ping_timetaken'] = $status['avg']; - } - $response['db'] = $status; return($response); } From c86e41f6e0acc3cf8a2ffe1f9c6aafa4a29d00bc Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Wed, 7 Oct 2015 23:53:18 +0200 Subject: [PATCH 018/142] Escape quotes for ifAlias, since it breaks overlib if such appears. --- html/includes/functions.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php index df3ad76e4..003d3a6f0 100644 --- a/html/includes/functions.inc.php +++ b/html/includes/functions.inc.php @@ -583,7 +583,7 @@ function generate_port_link($port, $text=null, $type=null, $overlib=1, $single_g $content = '
'.$port['hostname'].' - '.fixifName($port['label']).'
'; if ($port['ifAlias']) { - $content .= $port['ifAlias'].'
'; + $content .= escape_quotes($port['ifAlias']).'
'; } $content .= "
"; From 880a87b9062e1f86ea7ab42094675ba8a9a7760c Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Thu, 8 Oct 2015 10:28:14 +0200 Subject: [PATCH 019/142] Removed typo --- doc/General/Changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/General/Changelog.md b/doc/General/Changelog.md index 1ff997b3b..f0b8665e6 100644 --- a/doc/General/Changelog.md +++ b/doc/General/Changelog.md @@ -11,7 +11,7 @@ - Services: - Honour IP field for DNS checks (PR1933) - Discovery / Poller: - - Fix Huawei VRP os detection (PR1931)t + - Fix Huawei VRP os detection (PR1931) - General: - Remove 'sh' from cronjob (PR1818) - Remove MySQL Locks (PR1822,PR1826,PR1829,PR1836) From 671457a453b0594f5af493b1b502be5c135b844d Mon Sep 17 00:00:00 2001 From: Falk Stern Date: Thu, 8 Oct 2015 14:25:11 +0200 Subject: [PATCH 020/142] Correct the SQL query to fetch data from the correct table --- html/pages/device/accesspoint.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/pages/device/accesspoint.inc.php b/html/pages/device/accesspoint.inc.php index 39463069c..e4c805cf8 100644 --- a/html/pages/device/accesspoint.inc.php +++ b/html/pages/device/accesspoint.inc.php @@ -4,7 +4,7 @@ echo "
"; From 6e1d546dadb012ab777bf51a580c6e6cf09008bb Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 14:41:19 +0200 Subject: [PATCH 021/142] Add the state filter on the alert list documentation --- doc/API/API-Docs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/API/API-Docs.md b/doc/API/API-Docs.md index 82f57b9f7..39bb0bcd8 100644 --- a/doc/API/API-Docs.md +++ b/doc/API/API-Docs.md @@ -603,7 +603,7 @@ Input: Example: ```curl -curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/alerts +curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/alerts?state=1 ``` Output: From ddca1f00f06c42e8c1002b0409faed36fa41b57b Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 14:49:05 +0200 Subject: [PATCH 022/142] I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md. --- AUTHORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.md b/AUTHORS.md index cefed25de..3f1ce8fb8 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -61,5 +61,6 @@ Contributors to LibreNMS: - Matthew Scully (mattz0r) - Xavier Beaudouin (xbeaudouin) - Falk Stern (fstern) +- Donovan Bridoux (PandaWawawa) [1]: http://observium.org/ "Observium web site" From fbc7dd6b1c00265573671b4505dab74bf5c67ceb Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 15:15:44 +0200 Subject: [PATCH 023/142] change list_alerts function to handle GET filter not POST --- html/includes/api_functions.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/includes/api_functions.inc.php b/html/includes/api_functions.inc.php index 637e7f219..7141e7bbc 100644 --- a/html/includes/api_functions.inc.php +++ b/html/includes/api_functions.inc.php @@ -602,8 +602,8 @@ function list_alerts() { global $config; $app = \Slim\Slim::getInstance(); $router = $app->router()->getCurrentRoute()->getParams(); - if (isset($_POST['state'])) { - $param = array(mres($_POST['state'])); + if (isset($_GET['state'])) { + $param = array(mres($_GET['state'])); } else { $param = array('1'); From 6ac8e7272866e2c3ea66887b58142717cbb5467b Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 15:20:42 +0200 Subject: [PATCH 024/142] change list_alerts function to handle GET filter not POST --- html/includes/api_functions.inc.php | 1 + 1 file changed, 1 insertion(+) diff --git a/html/includes/api_functions.inc.php b/html/includes/api_functions.inc.php index 7141e7bbc..4c55dccac 100644 --- a/html/includes/api_functions.inc.php +++ b/html/includes/api_functions.inc.php @@ -623,6 +623,7 @@ function list_alerts() { 'err-msg' => '', 'count' => $total_alerts, 'alerts' => $alerts, + 'debug' => $_GET['state'] ); $app->response->setStatus('200'); $app->response->headers->set('Content-Type', 'application/json'); From e6b84541b7f9741500bd8e4fac75c2b47ac69ab9 Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 15:25:10 +0200 Subject: [PATCH 025/142] change list_alerts function to handle GET filter not POST --- html/includes/api_functions.inc.php | 1 - 1 file changed, 1 deletion(-) diff --git a/html/includes/api_functions.inc.php b/html/includes/api_functions.inc.php index 4c55dccac..7141e7bbc 100644 --- a/html/includes/api_functions.inc.php +++ b/html/includes/api_functions.inc.php @@ -623,7 +623,6 @@ function list_alerts() { 'err-msg' => '', 'count' => $total_alerts, 'alerts' => $alerts, - 'debug' => $_GET['state'] ); $app->response->setStatus('200'); $app->response->headers->set('Content-Type', 'application/json'); From be5cdaff20b4e184a894cfe54c420c67f76a5025 Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 16:45:36 +0200 Subject: [PATCH 026/142] #2079 Add unmute alert function --- html/includes/api_functions.inc.php | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/html/includes/api_functions.inc.php b/html/includes/api_functions.inc.php index 7141e7bbc..37bf96d98 100644 --- a/html/includes/api_functions.inc.php +++ b/html/includes/api_functions.inc.php @@ -795,7 +795,39 @@ function ack_alert() { $app->response->setStatus($code); $app->response->headers->set('Content-Type', 'application/json'); echo _json_encode($output); +} +function unmute_alert() { + global $config; + $app = \Slim\Slim::getInstance(); + $router = $app->router()->getCurrentRoute()->getParams(); + $alert_id = mres($router['id']); + $status = 'error'; + $err_msg = ''; + $message = ''; + $code = 500; + if (is_numeric($alert_id)) { + $status = 'ok'; + $code = 200; + if (dbUpdate(array('state' => 1), 'alerts', '`id` = ? LIMIT 1', array($alert_id))) { + $message = 'Alert has been unmuted'; + } + else { + $message = 'No alert by that ID'; + } + } + else { + $err_msg = 'Invalid alert has been provided'; + } + + $output = array( + 'status' => $status, + 'err-msg' => $err_msg, + 'message' => $message, + ); + $app->response->setStatus($code); + $app->response->headers->set('Content-Type', 'application/json'); + echo _json_encode($output); } From 060926571a3c80be7af49449342aee91f9ae07fe Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 17:00:22 +0200 Subject: [PATCH 027/142] Adding route --- html/api_v0.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/html/api_v0.php b/html/api_v0.php index 412680e43..a64bab30d 100644 --- a/html/api_v0.php +++ b/html/api_v0.php @@ -84,6 +84,8 @@ $app->group( // api/v0/alerts $app->put('/:id', 'authToken', 'ack_alert')->name('ack_alert'); // api/v0/alerts/$id (PUT) + $app->put('/unmute/:id', 'authToken', 'unmute_alert')->name('unmute_alert'); + // api/v0/alerts/unmute/$id (PUT) } ); $app->get('/alerts', 'authToken', 'list_alerts')->name('list_alerts'); From d1bda9ce1fc8cebf4d17dcce57d649300531e806 Mon Sep 17 00:00:00 2001 From: PandaWawawa Date: Thu, 8 Oct 2015 17:44:43 +0200 Subject: [PATCH 028/142] Doc added --- doc/API/API-Docs.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/doc/API/API-Docs.md b/doc/API/API-Docs.md index 39bb0bcd8..17b34e753 100644 --- a/doc/API/API-Docs.md +++ b/doc/API/API-Docs.md @@ -25,6 +25,7 @@ - [`alerts`](#api-alerts) - [`get_alert`](#api-route-12) - [`ack_alert`](#api-route-13) + - [`unmute_alert`](#api-route-24) - [`list_alerts`](#api-route-14) - [`rules`](#api-rules) - [`get_alert_rule`](#api-route-15) @@ -591,6 +592,33 @@ Output: } ``` +### Function: `unmute_alert` [`top`](#top) + +Unmute an alert + +Route: /api/v0/alerts/unmute/:id + +- id is the alert id, you can obtain a list of alert ids from [`list_alerts`](#api-route-14). + +Input: + + - + +Example: +```curl +curl -X PUT -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/alerts/unmute/1 +``` + +Output: +```text +{ + "status": "ok", + "err-msg": "", + "message": "Alert has been unmuted" +} +``` + + ### Function: `list_alerts` [`top`](#top) List all alerts From c9ffc0dbb0edfa062284910a98779112bcfea064 Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Thu, 8 Oct 2015 19:02:23 +0200 Subject: [PATCH 029/142] Fix spelling --- doc/General/Updating.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/General/Updating.md b/doc/General/Updating.md index ac87691ed..4ae74bd2d 100644 --- a/doc/General/Updating.md +++ b/doc/General/Updating.md @@ -6,7 +6,7 @@ by ensuring: $config['update'] = 0; is no longer commented out. If you would like to perform a manual update -then you can do this by running the following commands: +then you can do this by running the following command: ./daily.sh From 868e4d0920b318b374cdfa159724a7b0caa4ad18 Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Thu, 8 Oct 2015 19:38:34 +0200 Subject: [PATCH 030/142] Device overview: all headers are now bold and elements within are not. --- html/pages/device/overview/c6kxbar.inc.php | 2 +- html/pages/device/overview/eventlog.inc.php | 2 +- html/pages/device/overview/generic/sensor.inc.php | 2 +- html/pages/device/overview/storage.inc.php | 2 +- html/pages/device/overview/syslog.inc.php | 2 +- html/pages/device/overview/toner.inc.php | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/html/pages/device/overview/c6kxbar.inc.php b/html/pages/device/overview/c6kxbar.inc.php index cef09c13e..695ebc50d 100644 --- a/html/pages/device/overview/c6kxbar.inc.php +++ b/html/pages/device/overview/c6kxbar.inc.php @@ -6,7 +6,7 @@ echo '
'; echo ''; -echo " Catalyst 6k Crossbar"; +echo " Catalyst 6k Crossbar"; echo '
'; diff --git a/html/pages/device/overview/eventlog.inc.php b/html/pages/device/overview/eventlog.inc.php index d55511813..23a7ee94c 100644 --- a/html/pages/device/overview/eventlog.inc.php +++ b/html/pages/device/overview/eventlog.inc.php @@ -6,7 +6,7 @@ echo '
'; echo ''; -echo " Recent Events"; +echo " Recent Events"; echo '
'; diff --git a/html/pages/device/overview/generic/sensor.inc.php b/html/pages/device/overview/generic/sensor.inc.php index 8b50d1de3..076f5b049 100644 --- a/html/pages/device/overview/generic/sensor.inc.php +++ b/html/pages/device/overview/generic/sensor.inc.php @@ -53,7 +53,7 @@ if (count($sensors)) { $sensor['sensor_descr'] = truncate($sensor['sensor_descr'], 48, ''); echo ' - + '; diff --git a/html/pages/device/overview/storage.inc.php b/html/pages/device/overview/storage.inc.php index ff1da3ae9..fcbf60378 100644 --- a/html/pages/device/overview/storage.inc.php +++ b/html/pages/device/overview/storage.inc.php @@ -11,7 +11,7 @@ if (count($drives)) {
'; echo ''; - echo " Storage"; + echo " Storage"; echo '
'.overlib_link($link, shorten_interface_type($sensor['sensor_descr']), $overlib_content).''.overlib_link($link, shorten_interface_type($sensor['sensor_descr']), $overlib_content).' '.overlib_link($link, $sensor_minigraph, $overlib_content).' '.overlib_link($link, ' $sensor['sensor_limit'] ? "style='color: red'" : '').'>'.$sensor['sensor_current'].$sensor_unit.'', $overlib_content).'
'; diff --git a/html/pages/device/overview/syslog.inc.php b/html/pages/device/overview/syslog.inc.php index 0b27b1a61..9206b1c11 100644 --- a/html/pages/device/overview/syslog.inc.php +++ b/html/pages/device/overview/syslog.inc.php @@ -8,7 +8,7 @@ if ($config['enable_syslog']) {
'; - echo ' Recent Syslog'; + echo ' Recent Syslog'; echo '
'; foreach ($syslog as $entry) { diff --git a/html/pages/device/overview/toner.inc.php b/html/pages/device/overview/toner.inc.php index a77edd31b..7014d74c6 100644 --- a/html/pages/device/overview/toner.inc.php +++ b/html/pages/device/overview/toner.inc.php @@ -10,7 +10,7 @@ if (count($toners)) {
'; echo ''; - echo " Toner"; + echo " Toner"; echo '
'; From 6b31a15e799b405674e1545f4847f08cea07bb30 Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Thu, 8 Oct 2015 20:16:44 +0200 Subject: [PATCH 031/142] Sort list of available dashboards. --- html/pages/front/tiles.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/pages/front/tiles.php b/html/pages/front/tiles.php index 8d8b1f011..d8b082522 100644 --- a/html/pages/front/tiles.php +++ b/html/pages/front/tiles.php @@ -45,7 +45,7 @@ if (empty($data)) { } $data = serialize(json_encode($data)); $dash_config = unserialize(stripslashes($data)); -$dashboards = dbFetchRows("SELECT * FROM `dashboards` WHERE `user_id` = ? && `dashboard_id` != ?",array($_SESSION['user_id'],$vars['dashboard']['dashboard_id'])); +$dashboards = dbFetchRows("SELECT * FROM `dashboards` WHERE `user_id` = ? && `dashboard_id` != ? ORDER BY `dashboard_name`",array($_SESSION['user_id'],$vars['dashboard']['dashboard_id'])); ?>
From 7639404672fa0db6bfc28f3d7ff2f23bad0d237d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20Paszkiewicz?= Date: Fri, 9 Oct 2015 09:43:02 +0200 Subject: [PATCH 032/142] - synced colors for both horiz and vert widgets --- html/includes/common/device-summary-horiz.inc.php | 10 +++++----- html/includes/common/device-summary-vert.inc.php | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/html/includes/common/device-summary-horiz.inc.php b/html/includes/common/device-summary-horiz.inc.php index f8b6b56bd..75d110a37 100644 --- a/html/includes/common/device-summary-horiz.inc.php +++ b/html/includes/common/device-summary-horiz.inc.php @@ -7,11 +7,11 @@ $temp_output = '
- - - - - + + + + + '.($config['summary_errors'] ? '' : '').' diff --git a/html/includes/common/device-summary-vert.inc.php b/html/includes/common/device-summary-vert.inc.php index 067677504..647a03630 100644 --- a/html/includes/common/device-summary-vert.inc.php +++ b/html/includes/common/device-summary-vert.inc.php @@ -101,7 +101,7 @@ if ($config['summary_errors']) { $temp_output .= ' - + '; From c94340d0606b0d98c17a995582069ae1c6e12695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20Paszkiewicz?= Date: Fri, 9 Oct 2015 10:01:58 +0200 Subject: [PATCH 033/142] - add option to (re)discovery only linux devices --- discovery.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/discovery.php b/discovery.php index 3006399ff..f81258b25 100755 --- a/discovery.php +++ b/discovery.php @@ -47,6 +47,10 @@ if (isset($options['h'])) { $where = 'AND `last_discovered` IS NULL'; $doing = 'new'; } + else if ($options['h'] == 'linux') { + $where = 'AND os = "linux"'; + $doing = 'linux'; + } else if ($options['h']) { if (is_numeric($options['h'])) { $where = "AND `device_id` = '".$options['h']."'"; From ff89504a175af57756a14ea3d30d54ee68138ffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20Paszkiewicz?= Date: Fri, 9 Oct 2015 12:36:41 +0200 Subject: [PATCH 034/142] - poll devices with specified os with --os switch --- discovery.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/discovery.php b/discovery.php index f81258b25..ed33456d7 100755 --- a/discovery.php +++ b/discovery.php @@ -23,7 +23,7 @@ require 'includes/discovery/functions.inc.php'; $start = utime(); $runtime_stats = array(); -$options = getopt('h:m:i:n:d::a::q'); +$options = getopt('h:m:i:n:d::a::q',['os:']); if (!isset($options['q'])) { echo $config['project_name_version']." Discovery\n"; @@ -63,6 +63,11 @@ if (isset($options['h'])) { }//end if }//end if +if (isset($options['os'])) { + $where = $where." AND os = '".$options['os']."'"; + $doing = $options['os']; +} + if (isset($options['i']) && $options['i'] && isset($options['n'])) { $where = 'AND MOD(device_id,'.$options['i'].") = '".$options['n']."'"; $doing = $options['n'].'/'.$options['i']; @@ -89,7 +94,8 @@ if (!$where) { echo "-h odd Poll odd numbered devices (same as -i 2 -n 0)\n"; echo "-h even Poll even numbered devices (same as -i 2 -n 1)\n"; echo "-h all Poll all devices\n"; - echo "-h new Poll all devices that have not had a discovery run before\n\n"; + echo "-h new Poll all devices that have not had a discovery run before\n"; + echo "-h [odd|even|new|all] --os Poll devices only with specified operating system\n\n"; echo "-i -n Poll as instance of \n"; echo " Instances start at 0. 0-3 for -n 4\n\n"; echo "\n"; From 457babd32d87bac103a560316860adae03a7d45b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20Paszkiewicz?= Date: Fri, 9 Oct 2015 12:57:43 +0200 Subject: [PATCH 035/142] - poll devices with specified type with --type switch --- discovery.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/discovery.php b/discovery.php index ed33456d7..c1c4ef635 100755 --- a/discovery.php +++ b/discovery.php @@ -68,6 +68,11 @@ if (isset($options['os'])) { $doing = $options['os']; } +if (isset($options['type'])) { + $where = $where." AND type = '".$options['type']."'"; + $doing = $options['type']; +} + if (isset($options['i']) && $options['i'] && isset($options['n'])) { $where = 'AND MOD(device_id,'.$options['i'].") = '".$options['n']."'"; $doing = $options['n'].'/'.$options['i']; @@ -95,7 +100,8 @@ if (!$where) { echo "-h even Poll even numbered devices (same as -i 2 -n 1)\n"; echo "-h all Poll all devices\n"; echo "-h new Poll all devices that have not had a discovery run before\n"; - echo "-h [odd|even|new|all] --os Poll devices only with specified operating system\n\n"; + echo "-h [odd|even|new|all] --os Poll devices only with specified operating system\n"; + echo "-h [odd|even|new|all] --type Poll devices only with specified type\n\n"; echo "-i -n Poll as instance of \n"; echo " Instances start at 0. 0-3 for -n 4\n\n"; echo "\n"; From 0d645d0349d63724900a3a4174b324a861a07eaa Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Fri, 9 Oct 2015 15:16:29 +0200 Subject: [PATCH 036/142] Removed old unused version checking --- discovery.php | 4 -- includes/defaults.inc.php | 2 - includes/versioncheck.inc.php | 73 ----------------------------------- 3 files changed, 79 deletions(-) delete mode 100644 includes/versioncheck.inc.php diff --git a/discovery.php b/discovery.php index 3006399ff..bd0572b15 100755 --- a/discovery.php +++ b/discovery.php @@ -120,10 +120,6 @@ if ($discovered_devices) { $string = $argv[0]." $doing ".date($config['dateformat']['compact'])." - $discovered_devices devices discovered in $proctime secs"; d_echo("$string\n"); -if ($options['h'] != 'new' && $config['version_check']) { - include 'includes/versioncheck.inc.php'; -} - if (!isset($options['q'])) { echo ('MySQL: Cell['.($db_stats['fetchcell'] + 0).'/'.round(($db_stats['fetchcell_sec'] + 0), 2).'s]'.' Row['.($db_stats['fetchrow'] + 0).'/'.round(($db_stats['fetchrow_sec'] + 0), 2).'s]'.' Rows['.($db_stats['fetchrows'] + 0).'/'.round(($db_stats['fetchrows_sec'] + 0), 2).'s]'.' Column['.($db_stats['fetchcol'] + 0).'/'.round(($db_stats['fetchcol_sec'] + 0), 2).'s]'.' Update['.($db_stats['update'] + 0).'/'.round(($db_stats['update_sec'] + 0), 2).'s]'.' Insert['.($db_stats['insert'] + 0).'/'.round(($db_stats['insert_sec'] + 0), 2).'s]'.' Delete['.($db_stats['delete'] + 0).'/'.round(($db_stats['delete_sec'] + 0), 2).'s]'); echo "\n"; diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index a47a32d87..ed643cd7f 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -373,8 +373,6 @@ $config['show_overview_tab'] = true; // The device overview page options $config['overview_show_sysDescr'] = true; -// Enable version checker & stats -$config['version_check'] = 0; // Enable checking of version in discovery // Poller/Discovery Modules $config['enable_bgp'] = 1; diff --git a/includes/versioncheck.inc.php b/includes/versioncheck.inc.php deleted file mode 100644 index 2f3143c49..000000000 --- a/includes/versioncheck.inc.php +++ /dev/null @@ -1,73 +0,0 @@ - ".$config['rrd_dir']."/version.txt "); - } else { - if ($cur != $data) - { - echo("Current Revision : $cur_revision\n"); - - if ($omnipotence > $cur_revision) - { - echo("New Revision : $omnipotence\n"); - } - - # if ($omnipotence > $cur_omnipotence) - # { - # echo("New version : $omnipotence.$year.$month.$revision\n"); - # } elseif ($year > $cur_year) { - # echo("New version : $omnipotence.$year.$month.$revision\n"); - # } elseif ($month > $cur_month) { - # echo("New version : $omnipotence.$year.$month.$revision\n"); - # } elseif ($revision > $cur_revision) { - # echo("New release : $omnipotence.$year.$month.$revision\n"); - # } - } - } - } - - fclose($dataHandle); - } -*/ From 462b41c4f8dc1f5b9bf5044e86ed10ee1622fe13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20Paszkiewicz?= Date: Fri, 9 Oct 2015 19:41:19 +0200 Subject: [PATCH 037/142] - applied changes made by f0o --- discovery.php | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/discovery.php b/discovery.php index c1c4ef635..e29b4d60d 100755 --- a/discovery.php +++ b/discovery.php @@ -22,8 +22,8 @@ require 'includes/discovery/functions.inc.php'; $start = utime(); $runtime_stats = array(); - -$options = getopt('h:m:i:n:d::a::q',['os:']); +$sqlparams = array(); +$options = getopt('h:m:i:n:d::a::q',array('os:','type:')); if (!isset($options['q'])) { echo $config['project_name_version']." Discovery\n"; @@ -47,10 +47,6 @@ if (isset($options['h'])) { $where = 'AND `last_discovered` IS NULL'; $doing = 'new'; } - else if ($options['h'] == 'linux') { - $where = 'AND os = "linux"'; - $doing = 'linux'; - } else if ($options['h']) { if (is_numeric($options['h'])) { $where = "AND `device_id` = '".$options['h']."'"; @@ -64,17 +60,17 @@ if (isset($options['h'])) { }//end if if (isset($options['os'])) { - $where = $where." AND os = '".$options['os']."'"; - $doing = $options['os']; + $where .= " AND os = ?"; + $sqlparams[] = $options['os']; } if (isset($options['type'])) { - $where = $where." AND type = '".$options['type']."'"; - $doing = $options['type']; + $where .= " AND type = ?"; + $sqlparams[] = $options['type']; } if (isset($options['i']) && $options['i'] && isset($options['n'])) { - $where = 'AND MOD(device_id,'.$options['i'].") = '".$options['n']."'"; + $where .= ' AND MOD(device_id,'.$options['i'].") = '".$options['n']."'"; $doing = $options['n'].'/'.$options['i']; } @@ -100,10 +96,10 @@ if (!$where) { echo "-h even Poll even numbered devices (same as -i 2 -n 1)\n"; echo "-h all Poll all devices\n"; echo "-h new Poll all devices that have not had a discovery run before\n"; - echo "-h [odd|even|new|all] --os Poll devices only with specified operating system\n"; - echo "-h [odd|even|new|all] --type Poll devices only with specified type\n\n"; + echo "--os Poll devices only with specified operating system\n"; + echo "--type Poll devices only with specified type\n"; echo "-i -n Poll as instance of \n"; - echo " Instances start at 0. 0-3 for -n 4\n\n"; + echo " Instances start at 0. 0-3 for -n 4\n"; echo "\n"; echo "Debugging and testing options:\n"; echo "-d Enable debugging output\n"; @@ -121,7 +117,7 @@ if ($config['distributed_poller'] === true) { $where .= ' AND poller_group IN('.$config['distributed_poller_group'].')'; } -foreach (dbFetch("SELECT * FROM `devices` WHERE status = 1 AND disabled = 0 $where ORDER BY device_id DESC") as $device) { +foreach (dbFetch("SELECT * FROM `devices` WHERE status = 1 AND disabled = 0 $where ORDER BY device_id DESC",$sqlparams) as $device) { discover_device($device, $options); } From 3b6dd68a0333994b06cf1bb5d503df7dfb8be622 Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Fri, 9 Oct 2015 21:53:13 +0200 Subject: [PATCH 038/142] Change pfSense from server to firewall category. --- includes/definitions.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/definitions.inc.php b/includes/definitions.inc.php index c1dc3eec9..25ccf94cd 100644 --- a/includes/definitions.inc.php +++ b/includes/definitions.inc.php @@ -214,7 +214,7 @@ $config['os'][$os]['group'] = 'unix'; $config['os'][$os]['text'] = 'FreeBSD'; $os = 'pfsense'; -$config['os'][$os]['type'] = 'server'; +$config['os'][$os]['type'] = 'firewall'; $config['os'][$os]['group'] = 'unix'; $config['os'][$os]['text'] = 'pfSense'; From 01721906f60779a48ad72d62e244f9a417fcff9c Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 10 Oct 2015 09:11:07 +0000 Subject: [PATCH 039/142] Removed what appears to be unecessary STACK text --- html/includes/graphs/generic_multi_seperated.inc.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/html/includes/graphs/generic_multi_seperated.inc.php b/html/includes/graphs/generic_multi_seperated.inc.php index 9b37f3751..afb22a391 100644 --- a/html/includes/graphs/generic_multi_seperated.inc.php +++ b/html/includes/graphs/generic_multi_seperated.inc.php @@ -70,10 +70,6 @@ foreach ($rrd_list as $rrd) { $rrd_options .= ' VDEF:tot'.$i.'=octets'.$i.',TOTAL'; } - if ($i) { - $stack = 'STACK'; - } - $rrd_options .= ' AREA:inbits'.$i.'#'.$colour_in.":'".rrdtool_escape($rrd['descr'], 9)."In '$stack"; $rrd_options .= ' GPRINT:inbits'.$i.':LAST:%6.2lf%s'; $rrd_options .= ' GPRINT:inbits'.$i.':AVERAGE:%6.2lf%s'; From 495b4b24fa0c9b6bc2370384b6257bcdc10dc5bc Mon Sep 17 00:00:00 2001 From: f0o Date: Sat, 10 Oct 2015 13:34:51 +0000 Subject: [PATCH 040/142] Fixes #2098 --- html/includes/forms/update-ifalias.inc.php | 4 ++-- includes/polling/ports.inc.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/html/includes/forms/update-ifalias.inc.php b/html/includes/forms/update-ifalias.inc.php index 55a10e47c..f792ec520 100644 --- a/html/includes/forms/update-ifalias.inc.php +++ b/html/includes/forms/update-ifalias.inc.php @@ -30,10 +30,10 @@ if (!empty($ifName) && is_numeric($port_id)) { if (dbUpdate(array('ifAlias'=>$descr), 'ports', '`port_id`=?', array($port_id)) > 0) { $device = device_by_id_cache($device_id); if ($descr === 'repoll') { - del_dev_attrib($device, 'ifName'); + del_dev_attrib($device, 'ifName:'.$ifName); } else { - set_dev_attrib($device, 'ifName', $ifName); + set_dev_attrib($device, 'ifName:'.$ifName, 1); } $status = 'ok'; } diff --git a/includes/polling/ports.inc.php b/includes/polling/ports.inc.php index 88492bf6a..784fecfd9 100644 --- a/includes/polling/ports.inc.php +++ b/includes/polling/ports.inc.php @@ -318,7 +318,7 @@ foreach ($ports as $port) { foreach ($data_oids as $oid) { if ($oid == 'ifAlias') { - if (get_dev_attrib($device, 'ifName', $port['ifName'])) { + if (get_dev_attrib($device, 'ifName:'.$port['ifName'], 1)) { $this_port['ifAlias'] = $port['ifAlias']; } } From 37b7e8247d0d94145bf7ae6235e9911f4e176337 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 10 Oct 2015 13:40:27 +0000 Subject: [PATCH 041/142] Added support for excluding devices from Oxidized api --- html/includes/api_functions.inc.php | 2 +- html/includes/forms/override-config.inc.php | 48 +++++++++++++++++++++ html/includes/functions.inc.php | 12 ++++++ html/pages/device/edit.inc.php | 1 + html/pages/device/edit/misc.inc.php | 41 ++++++++++++++++++ 5 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 html/includes/forms/override-config.inc.php create mode 100644 html/pages/device/edit/misc.inc.php diff --git a/html/includes/api_functions.inc.php b/html/includes/api_functions.inc.php index 7141e7bbc..9d9576013 100644 --- a/html/includes/api_functions.inc.php +++ b/html/includes/api_functions.inc.php @@ -856,7 +856,7 @@ function list_oxidized() { $app->response->headers->set('Content-Type', 'application/json'); $devices = array(); - foreach (dbFetchRows("SELECT hostname,os FROM `devices` WHERE `status`='1'") as $device) { + foreach (dbFetchRows("SELECT hostname,os FROM `devices` LEFT JOIN devices_attribs AS `DA` ON devices.device_id = DA.device_id AND `DA`.attrib_type='override_Oxidized_disable' WHERE `status`='1' AND (DA.attrib_value = 'false' OR DA.attrib_value IS NULL)") as $device) { $devices[] = $device; } diff --git a/html/includes/forms/override-config.inc.php b/html/includes/forms/override-config.inc.php new file mode 100644 index 000000000..6004710dc --- /dev/null +++ b/html/includes/forms/override-config.inc.php @@ -0,0 +1,48 @@ + + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. +*/ + +if (is_admin() === false) { + $response = array( + 'status' => 'error', + 'message' => 'Need to be admin', + ); + echo _json_encode($response); + exit; +} + +$device['device_id'] = mres($_POST['device_id']); +$attrib = mres($_POST['attrib']); +$state = mres($_POST['state']); +$status = 'error'; +$message = 'Error with config'; + +if (empty($device['device_id'])) { + $message = 'No device passed'; +} +else { + if ($state == true) { + set_dev_attrib($device, $attrib, $state); + } + else { + del_dev_attrib($device, $attrib); + } + $status = 'ok'; + $message = 'Config has been updated'; +} + +$response = array( + 'status' => $status, + 'message' => $message, +); +echo _json_encode($response); diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php index 003d3a6f0..e29c1d863 100644 --- a/html/includes/functions.inc.php +++ b/html/includes/functions.inc.php @@ -1167,3 +1167,15 @@ function alert_details($details) { }//end alert_details() +function dynamic_override_config($type, $name, $device) { + $attrib_val = get_dev_attrib($device,$name); + if ($attrib_val == 'true') { + $checked = 'checked'; + } + else { + $checked = ''; + } + if ($type == 'checkbox') { + return ''; + } +}//end dynamic_override_config() diff --git a/html/pages/device/edit.inc.php b/html/pages/device/edit.inc.php index 86cc6d490..fe8a9c259 100644 --- a/html/pages/device/edit.inc.php +++ b/html/pages/device/edit.inc.php @@ -36,6 +36,7 @@ else { } $panes['storage'] = 'Storage'; + $panes['misc'] = 'Misc'; print_optionbar_start(); diff --git a/html/pages/device/edit/misc.inc.php b/html/pages/device/edit/misc.inc.php new file mode 100644 index 000000000..612af03cd --- /dev/null +++ b/html/pages/device/edit/misc.inc.php @@ -0,0 +1,41 @@ + +
+ +
+ '.dynamic_override_config('checkbox','override_Oxidized_disable', $device).' +
+
+ +'; + +?> + + From 801e4e144c0249b6c396cd7460d1b988aba78e87 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 10 Oct 2015 13:42:18 +0000 Subject: [PATCH 042/142] Removed unused variables --- html/includes/graphs/generic_multi_seperated.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/includes/graphs/generic_multi_seperated.inc.php b/html/includes/graphs/generic_multi_seperated.inc.php index afb22a391..25ec8c065 100644 --- a/html/includes/graphs/generic_multi_seperated.inc.php +++ b/html/includes/graphs/generic_multi_seperated.inc.php @@ -70,7 +70,7 @@ foreach ($rrd_list as $rrd) { $rrd_options .= ' VDEF:tot'.$i.'=octets'.$i.',TOTAL'; } - $rrd_options .= ' AREA:inbits'.$i.'#'.$colour_in.":'".rrdtool_escape($rrd['descr'], 9)."In '$stack"; + $rrd_options .= ' AREA:inbits'.$i.'#'.$colour_in.":'".rrdtool_escape($rrd['descr'], 9)."In '"; $rrd_options .= ' GPRINT:inbits'.$i.':LAST:%6.2lf%s'; $rrd_options .= ' GPRINT:inbits'.$i.':AVERAGE:%6.2lf%s'; $rrd_options .= ' GPRINT:inbits'.$i.':MAX:%6.2lf%s'; @@ -80,7 +80,7 @@ foreach ($rrd_list as $rrd) { } $rrd_options .= " COMMENT:'\\n'"; - $rrd_optionsb .= ' AREA:outbits'.$i.'_neg#'.$colour_out.":$stack"; + $rrd_optionsb .= ' AREA:outbits'.$i.'_neg#'.$colour_out; $rrd_options .= ' HRULE:999999999999999#'.$colour_out.":'".str_pad('', 10)."Out'"; $rrd_options .= ' GPRINT:outbits'.$i.':LAST:%6.2lf%s'; $rrd_options .= ' GPRINT:outbits'.$i.':AVERAGE:%6.2lf%s'; From 13e3ff04aa1d2a2dbedac6a261c35588b5d93547 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 10 Oct 2015 13:49:09 +0000 Subject: [PATCH 043/142] Moved some files around --- html/js/librenms.js | 26 ++++++++++++++++++++++++++ html/pages/device/edit.inc.php | 2 ++ html/pages/device/edit/misc.inc.php | 28 ---------------------------- 3 files changed, 28 insertions(+), 28 deletions(-) create mode 100644 html/js/librenms.js diff --git a/html/js/librenms.js b/html/js/librenms.js new file mode 100644 index 000000000..cd9af4fd6 --- /dev/null +++ b/html/js/librenms.js @@ -0,0 +1,26 @@ +$(document).ready(function() { + $("[name='override_config']").bootstrapSwitch('offColor','danger'); + $('input[name="override_config"]').on('switchChange.bootstrapSwitch', function(event, state) { + event.preventDefault(); + var $this = $(this); + var attrib = $this.data('attrib'); + var device_id = $this.data('device_id'); + $.ajax({ + type: 'POST', + url: 'ajax_form.php', + data: { type: 'override-config', device_id: device_id, attrib: attrib, state: state }, + dataType: 'json', + success: function(data) { + if (data.status == 'ok') { + toastr.success(data.message); + } + else { + toastr.error(data.message); + } + }, + error: function() { + toastr.error('Could not set this override'); + } + }); + }); +}); diff --git a/html/pages/device/edit.inc.php b/html/pages/device/edit.inc.php index fe8a9c259..47d61d8fc 100644 --- a/html/pages/device/edit.inc.php +++ b/html/pages/device/edit.inc.php @@ -65,6 +65,8 @@ else { print_optionbar_end(); + echo ''; + if (is_file("pages/device/edit/".mres($vars['section']).".inc.php")) { require "pages/device/edit/".mres($vars['section']).".inc.php"; } diff --git a/html/pages/device/edit/misc.inc.php b/html/pages/device/edit/misc.inc.php index 612af03cd..5f66c88fd 100644 --- a/html/pages/device/edit/misc.inc.php +++ b/html/pages/device/edit/misc.inc.php @@ -11,31 +11,3 @@ echo ' '; -?> - - From b0f638c0f951138576409b705fe56c2580afa6b3 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 10 Oct 2015 13:52:26 +0000 Subject: [PATCH 044/142] Updated oxidized docs --- doc/Extensions/Oxidized.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/Extensions/Oxidized.md b/doc/Extensions/Oxidized.md index 7fb605571..19ba60f15 100644 --- a/doc/Extensions/Oxidized.md +++ b/doc/Extensions/Oxidized.md @@ -38,3 +38,5 @@ You will need to configure default credentials for your devices, LibreNMS doesn' headers: X-Auth-Token: '01582bf94c03104ecb7953dsadsadwed' ``` + +If you have devices which you do not wish to appear in Oxidized then you can edit those devices in Device -> Edit -> Misc and enable "Exclude from Oxidized?" From f9e2bb636f0b9dbfcb13a9763996563970a24000 Mon Sep 17 00:00:00 2001 From: Rosiak Date: Tue, 29 Sep 2015 00:56:19 +0200 Subject: [PATCH 045/142] Update Bootstrap - Bump bootstrap to latest 3.3.5 --- html/css/bootstrap-theme.css | 590 +- html/css/bootstrap-theme.min.css | 10 +- html/css/bootstrap.css | 5667 ++++++++++------- html/css/bootstrap.min.css | 8 +- html/fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 20127 bytes html/fonts/glyphicons-halflings-regular.svg | 485 +- html/fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 45404 bytes html/fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 23424 bytes html/fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes html/js/bootstrap.js | 1250 ++-- html/js/bootstrap.min.js | 9 +- 11 files changed, 4846 insertions(+), 3173 deletions(-) create mode 100644 html/fonts/glyphicons-halflings-regular.woff2 diff --git a/html/css/bootstrap-theme.css b/html/css/bootstrap-theme.css index df2d3d967..c19cd5c4b 100644 --- a/html/css/bootstrap-theme.css +++ b/html/css/bootstrap-theme.css @@ -1,20 +1,18 @@ /*! - * Bootstrap v3.0.3 (http://getbootstrap.com) - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ - .btn-default, .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); } - .btn-default:active, .btn-primary:active, .btn-success:active, @@ -27,371 +25,563 @@ .btn-info.active, .btn-warning.active, .btn-danger.active { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-default.disabled, +.btn-primary.disabled, +.btn-success.disabled, +.btn-info.disabled, +.btn-warning.disabled, +.btn-danger.disabled, +.btn-default[disabled], +.btn-primary[disabled], +.btn-success[disabled], +.btn-info[disabled], +.btn-warning[disabled], +.btn-danger[disabled], +fieldset[disabled] .btn-default, +fieldset[disabled] .btn-primary, +fieldset[disabled] .btn-success, +fieldset[disabled] .btn-info, +fieldset[disabled] .btn-warning, +fieldset[disabled] .btn-danger { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-default .badge, +.btn-primary .badge, +.btn-success .badge, +.btn-info .badge, +.btn-warning .badge, +.btn-danger .badge { + text-shadow: none; } - .btn:active, .btn.active { background-image: none; } - .btn-default { text-shadow: 0 1px 0 #fff; - background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); - background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%); + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #dbdbdb; border-color: #ccc; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-default:hover, .btn-default:focus { background-color: #e0e0e0; background-position: 0 -15px; } - .btn-default:active, .btn-default.active { background-color: #e0e0e0; border-color: #dbdbdb; } - +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #e0e0e0; + background-image: none; +} .btn-primary { - background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); + background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); + background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; - border-color: #2b669a; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border-color: #245580; } - .btn-primary:hover, .btn-primary:focus { - background-color: #2d6ca2; + background-color: #265a88; background-position: 0 -15px; } - .btn-primary:active, .btn-primary.active { - background-color: #2d6ca2; - border-color: #2b669a; + background-color: #265a88; + border-color: #245580; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #265a88; + background-image: none; } - .btn-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); - background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #3e8f3e; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-success:hover, .btn-success:focus { background-color: #419641; background-position: 0 -15px; } - .btn-success:active, .btn-success.active { background-color: #419641; border-color: #3e8f3e; } - -.btn-warning { - background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); - background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); - background-repeat: repeat-x; - border-color: #e38d13; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #419641; + background-image: none; } - -.btn-warning:hover, -.btn-warning:focus { - background-color: #eb9316; - background-position: 0 -15px; -} - -.btn-warning:active, -.btn-warning.active { - background-color: #eb9316; - border-color: #e38d13; -} - -.btn-danger { - background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); - background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); - background-repeat: repeat-x; - border-color: #b92c28; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-danger:hover, -.btn-danger:focus { - background-color: #c12e2a; - background-position: 0 -15px; -} - -.btn-danger:active, -.btn-danger.active { - background-color: #c12e2a; - border-color: #b92c28; -} - .btn-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); - background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #28a4c9; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-info:hover, .btn-info:focus { background-color: #2aabd2; background-position: 0 -15px; } - .btn-info:active, .btn-info.active { background-color: #2aabd2; border-color: #28a4c9; } - +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #2aabd2; + background-image: none; +} +.btn-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #e38d13; +} +.btn-warning:hover, +.btn-warning:focus { + background-color: #eb9316; + background-position: 0 -15px; +} +.btn-warning:active, +.btn-warning.active { + background-color: #eb9316; + border-color: #e38d13; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #eb9316; + background-image: none; +} +.btn-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #b92c28; +} +.btn-danger:hover, +.btn-danger:focus { + background-color: #c12e2a; + background-position: 0 -15px; +} +.btn-danger:active, +.btn-danger.active { + background-color: #c12e2a; + border-color: #b92c28; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #c12e2a; + background-image: none; +} .thumbnail, .img-thumbnail { - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } - .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #e8e8e8; background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; } - .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { - background-color: #357ebd; - background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); + background-color: #2e6da4; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); } - .navbar-default { - background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); - background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%); + background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); + background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); } - +.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .active > a { - background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); - background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); + background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); + background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); - -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); } - .navbar-brand, .navbar-nav > li > a { - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); + text-shadow: 0 1px 0 rgba(255, 255, 255, .25); } - .navbar-inverse { - background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%); - background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%); - background-repeat: repeat-x; + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.navbar-inverse .navbar-nav > .active > a { - background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%); - background-image: linear-gradient(to bottom, #222222 0%, #282828 100%); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); - -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); - box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); + border-radius: 4px; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); + background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); } - .navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); } - .navbar-static-top, .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } - +@media (max-width: 767px) { + .navbar .navbar-nav .open .dropdown-menu > .active > a, + .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; + } +} .alert { - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); + text-shadow: 0 1px 0 rgba(255, 255, 255, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); } - .alert-success { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); - background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); background-repeat: repeat-x; border-color: #b2dba1; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); } - .alert-info { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); - background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); background-repeat: repeat-x; border-color: #9acfea; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); } - .alert-warning { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); - background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); background-repeat: repeat-x; border-color: #f5e79e; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); } - .alert-danger { background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); - background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); background-repeat: repeat-x; border-color: #dca7a7; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); } - .progress { background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); - background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); -} - -.progress-bar { - background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); } - +.progress-bar { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); + background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); + background-repeat: repeat-x; +} .progress-bar-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); - background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; } - .progress-bar-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); - background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; } - .progress-bar-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); - background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; } - .progress-bar-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); - background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } - .list-group { border-radius: 4px; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } - .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { - text-shadow: 0 -1px 0 #3071a9; - background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); + text-shadow: 0 -1px 0 #286090; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); background-repeat: repeat-x; - border-color: #3278b3; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); + border-color: #2b669a; +} +.list-group-item.active .badge, +.list-group-item.active:hover .badge, +.list-group-item.active:focus .badge { + text-shadow: none; } - .panel { - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: 0 1px 2px rgba(0, 0, 0, .05); } - .panel-default > .panel-heading { background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); -} - -.panel-primary > .panel-heading { - background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); } - +.panel-primary > .panel-heading { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} .panel-success > .panel-heading { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); - background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; } - .panel-info > .panel-heading { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); - background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; } - .panel-warning > .panel-heading { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); - background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; } - .panel-danger > .panel-heading { background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); - background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); - background-repeat: repeat-x; + background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; } - .well { background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); - background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; border-color: #dcdcdc; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); - -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); -} \ No newline at end of file + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); +} +/*# sourceMappingURL=bootstrap-theme.css.map */ diff --git a/html/css/bootstrap-theme.min.css b/html/css/bootstrap-theme.min.css index c7b6d39b4..61358b13d 100644 --- a/html/css/bootstrap-theme.min.css +++ b/html/css/bootstrap-theme.min.css @@ -1,7 +1,5 @@ /*! - * Bootstrap v3.0.3 (http://getbootstrap.com) - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 - */ - -.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);background-repeat:repeat-x;border-color:#2b669a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff2d6ca2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff3f3f3',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff282828',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0)}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0)}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0)}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0)}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3278b3',GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)} \ No newline at end of file + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file diff --git a/html/css/bootstrap.css b/html/css/bootstrap.css index 7f3665196..680e76878 100644 --- a/html/css/bootstrap.css +++ b/html/css/bootstrap.css @@ -1,10 +1,9 @@ /*! - * Bootstrap v3.1.1 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ - -/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -webkit-text-size-adjust: 100%; @@ -22,6 +21,7 @@ footer, header, hgroup, main, +menu, nav, section, summary { @@ -43,7 +43,7 @@ template { display: none; } a { - background: transparent; + background-color: transparent; } a:active, a:hover { @@ -94,8 +94,9 @@ figure { } hr { height: 0; - -moz-box-sizing: content-box; - box-sizing: content-box; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; } pre { overflow: auto; @@ -144,7 +145,9 @@ input { } input[type="checkbox"], input[type="radio"] { - box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, @@ -184,12 +187,16 @@ td, th { padding: 0; } +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { - * { + *, + *:before, + *:after { color: #000 !important; text-shadow: none !important; background: transparent !important; - box-shadow: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; } a, a:visited { @@ -201,8 +208,8 @@ th { abbr[title]:after { content: " (" attr(title) ")"; } - a[href^="javascript:"]:after, - a[href^="#"]:after { + a[href^="#"]:after, + a[href^="javascript:"]:after { content: ""; } pre, @@ -231,16 +238,9 @@ th { h3 { page-break-after: avoid; } - select { - background: #fff !important; - } .navbar { display: none; } - .table td, - .table th { - background-color: #fff !important; - } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; @@ -251,2133 +251,20 @@ th { .table { border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; + } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 62.5%; - - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #fff; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #428bca; - text-decoration: none; -} -a:hover, -a:focus { - color: #2a6496; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - display: inline-block; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #999; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 200; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -cite { - font-style: normal; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-muted { - color: #999; -} -.text-primary { - color: #428bca; -} -a.text-primary:hover { - color: #3071a9; -} -.text-success { - color: #3c763d; -} -a.text-success:hover { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover { - color: #245269; -} -.text-warning { - color: #8a6d3b; -} -a.text-warning:hover { - color: #66512c; -} -.text-danger { - color: #a94442; -} -a.text-danger:hover { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #428bca; -} -a.bg-primary:hover { - background-color: #3071a9; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover { - background-color: #e4b9b9; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eee; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none; -} -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .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; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #999; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eee; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #eee; - border-left: 0; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -blockquote:before, -blockquote:after { - content: ""; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - white-space: nowrap; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - color: #333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -.row { - margin-right: -15px; - margin-left: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: 0; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: 0; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0; -} -@media (min-width: 768px) { - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: 0; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: 0; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0; - } -} -@media (min-width: 992px) { - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: 0; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: 0; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0; - } -} -@media (min-width: 1200px) { - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: 0; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: 0; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0; - } -} -table { - max-width: 100%; - background-color: transparent; -} -th { - text-align: left; -} -.table { - width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #ddd; -} -.table .table { - background-color: #fff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.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 col[class*="col-"] { - position: static; - display: table-column; - float: none; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - display: table-cell; - float: none; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #d9edf7; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} -@media (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-x: scroll; - overflow-y: hidden; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - /* IE8-9 */ - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555; -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); -} -.form-control::-moz-placeholder { - color: #999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999; -} -.form-control::-webkit-input-placeholder { - color: #999; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eee; - opacity: 1; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -input[type="date"] { - line-height: 34px; -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - display: block; - min-height: 20px; - padding-left: 20px; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - display: inline; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - float: left; - margin-left: -20px; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - vertical-align: middle; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -.radio[disabled], -.radio-inline[disabled], -.checkbox[disabled], -.checkbox-inline[disabled], -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"], -fieldset[disabled] .radio, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm { - height: 30px; - line-height: 30px; -} -textarea.input-sm, -select[multiple].input-sm { - height: auto; -} -.input-lg { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-lg { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.has-feedback .form-control-feedback { - position: absolute; - top: 25px; - right: 0; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline { - color: #3c763d; -} -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; -} -.has-success .input-group-addon { - color: #3c763d; - background-color: #dff0d8; - border-color: #3c763d; -} -.has-success .form-control-feedback { - color: #3c763d; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline { - color: #8a6d3b; -} -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; -} -.has-warning .input-group-addon { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #8a6d3b; -} -.has-warning .form-control-feedback { - color: #8a6d3b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline { - color: #a94442; -} -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; -} -.has-error .input-group-addon { - color: #a94442; - background-color: #f2dede; - border-color: #a94442; -} -.has-error .form-control-feedback { - color: #a94442; -} -.form-control-static { - margin-bottom: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - padding-left: 0; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - float: none; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .control-label, -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} -.form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px; -} -.form-horizontal .form-control-static { - padding-top: 7px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - } -} -.form-horizontal .has-feedback .form-control-feedback { - top: 0; - right: 15px; -} -.btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: normal; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus { - color: #333; - text-decoration: none; -} -.btn:active, -.btn.active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - pointer-events: none; - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65; -} -.btn-default { - color: #333; - background-color: #fff; - border-color: #ccc; -} -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active, -.open .dropdown-toggle.btn-default { - color: #333; - background-color: #ebebeb; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #fff; - border-color: #ccc; -} -.btn-default .badge { - color: #fff; - background-color: #333; -} -.btn-primary { - color: #fff; - background-color: #428bca; - border-color: #357ebd; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.open .dropdown-toggle.btn-primary { - color: #fff; - background-color: #3276b1; - border-color: #285e8e; -} -.btn-primary:active, -.btn-primary.active, -.open .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #428bca; - border-color: #357ebd; -} -.btn-primary .badge { - color: #428bca; - background-color: #fff; -} -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.open .dropdown-toggle.btn-success { - color: #fff; - background-color: #47a447; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #fff; -} -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.open .dropdown-toggle.btn-info { - color: #fff; - background-color: #39b3d7; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #fff; -} -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.open .dropdown-toggle.btn-warning { - color: #fff; - background-color: #ed9c28; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff; -} -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.open .dropdown-toggle.btn-danger { - color: #fff; - background-color: #d2322d; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #fff; -} -.btn-link { - font-weight: normal; - color: #428bca; - cursor: pointer; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #2a6496; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #999; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; - padding-right: 0; - padding-left: 0; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - transition: opacity .15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height .35s ease; - transition: height .35s ease; -} @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; @@ -2397,7 +284,8 @@ input[type="button"].btn-block { .glyphicon-plus:before { content: "\2b"; } -.glyphicon-euro:before { +.glyphicon-euro:before, +.glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { @@ -2991,16 +879,2691 @@ input[type="button"].btn-block { .glyphicon-tree-deciduous:before { content: "\e200"; } +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .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; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: .01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + min-height: 34px; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.333333px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #337ab7; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; +} .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; - border-top: 4px solid; + border-top: 4px dashed; + border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } +.dropup, .dropdown { position: relative; } @@ -3018,9 +3581,11 @@ input[type="button"].btn-block { padding: 5px 0; margin: 2px 0 0; font-size: 14px; + text-align: left; list-style: none; background-color: #fff; - background-clip: padding-box; + -webkit-background-clip: padding-box; + background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; @@ -3057,13 +3622,13 @@ input[type="button"].btn-block { .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; - background-color: #428bca; + background-color: #337ab7; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { - color: #999; + color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { @@ -3092,7 +3657,8 @@ input[type="button"].btn-block { padding: 3px 20px; font-size: 12px; line-height: 1.42857143; - color: #999; + color: #777; + white-space: nowrap; } .dropdown-backdrop { position: fixed; @@ -3110,13 +3676,14 @@ input[type="button"].btn-block { .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; - border-bottom: 4px solid; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; - margin-bottom: 1px; + margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { @@ -3149,10 +3716,6 @@ input[type="button"].btn-block { .btn-group-vertical > .btn.active { z-index: 2; } -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus { - outline: none; -} .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, @@ -3162,6 +3725,7 @@ input[type="button"].btn-block { .btn-toolbar { margin-left: -5px; } +.btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; @@ -3192,12 +3756,12 @@ input[type="button"].btn-block { .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } -.btn-group > .btn-group:last-child > .btn:first-child { +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } @@ -3289,9 +3853,16 @@ input[type="button"].btn-block { .btn-group-justified > .btn-group .btn { width: 100%; } -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - display: none; +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } .input-group { position: relative; @@ -3316,7 +3887,7 @@ input[type="button"].btn-block { height: 46px; padding: 10px 16px; font-size: 18px; - line-height: 1.33; + line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, @@ -3445,6 +4016,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { + z-index: 2; margin-left: -1px; } .nav { @@ -3467,11 +4039,11 @@ select[multiple].input-group-sm > .input-group-btn > .btn { background-color: #eee; } .nav > li.disabled > a { - color: #999; + color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { - color: #999; + color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; @@ -3480,7 +4052,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; - border-color: #428bca; + border-color: #337ab7; } .nav .nav-divider { height: 1px; @@ -3573,7 +4145,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; - background-color: #428bca; + background-color: #337ab7; } .nav-stacked > li { float: none; @@ -3656,13 +4228,13 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } } .navbar-collapse { - max-height: 340px; padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); } .navbar-collapse.in { overflow-y: auto; @@ -3671,7 +4243,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .navbar-collapse { width: auto; border-top: 0; - box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; } .navbar-collapse.collapse { display: block !important; @@ -3689,6 +4262,16 @@ select[multiple].input-group-sm > .input-group-btn > .btn { padding-left: 0; } } +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, @@ -3747,6 +4330,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .navbar-brand:focus { text-decoration: none; } +.navbar-brand > img { + display: block; +} @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { @@ -3766,7 +4352,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { border-radius: 4px; } .navbar-toggle:focus { - outline: none; + outline: 0; } .navbar-toggle .icon-bar { display: block; @@ -3798,7 +4384,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { margin-top: 0; background-color: transparent; border: 0; - box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { @@ -3824,17 +4411,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn { padding-top: 15px; padding-bottom: 15px; } - .navbar-nav.navbar-right:last-child { - margin-right: -15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - } } .navbar-form { padding: 10px 15px; @@ -3858,6 +4434,18 @@ select[multiple].input-group-sm > .input-group-btn > .btn { width: auto; vertical-align: middle; } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } .navbar-form .input-group > .form-control { width: 100%; } @@ -3868,14 +4456,17 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .navbar-form .radio, .navbar-form .checkbox { display: inline-block; - padding-left: 0; margin-top: 0; margin-bottom: 0; vertical-align: middle; } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { - float: none; + position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { @@ -3886,6 +4477,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .navbar-form .form-group { margin-bottom: 5px; } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } } @media (min-width: 768px) { .navbar-form { @@ -3898,9 +4492,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn { -webkit-box-shadow: none; box-shadow: none; } - .navbar-form.navbar-right:last-child { - margin-right: -15px; - } } .navbar-nav > li > .dropdown-menu { margin-top: 0; @@ -3908,6 +4499,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn { border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } @@ -3933,7 +4527,16 @@ select[multiple].input-group-sm > .input-group-btn > .btn { margin-right: 15px; margin-left: 15px; } - .navbar-text.navbar-right:last-child { +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { margin-right: 0; } } @@ -4020,12 +4623,25 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .navbar-default .navbar-link:hover { color: #333; } +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} .navbar-inverse { background-color: #222; border-color: #080808; } .navbar-inverse .navbar-brand { - color: #999; + color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { @@ -4033,10 +4649,10 @@ select[multiple].input-group-sm > .input-group-btn > .btn { background-color: transparent; } .navbar-inverse .navbar-text { - color: #999; + color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { - color: #999; + color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { @@ -4083,7 +4699,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #999; + color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { @@ -4104,11 +4720,24 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } } .navbar-inverse .navbar-link { - color: #999; + color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} .breadcrumb { padding: 8px 15px; margin-bottom: 20px; @@ -4125,7 +4754,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { content: "/\00a0"; } .breadcrumb > .active { - color: #999; + color: #777; } .pagination { display: inline-block; @@ -4143,7 +4772,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; - color: #428bca; + color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; @@ -4163,7 +4792,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { - color: #2a6496; + z-index: 3; + color: #23527c; background-color: #eee; border-color: #ddd; } @@ -4176,8 +4806,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { z-index: 2; color: #fff; cursor: default; - background-color: #428bca; - border-color: #428bca; + background-color: #337ab7; + border-color: #337ab7; } .pagination > .disabled > span, .pagination > .disabled > span:hover, @@ -4185,7 +4815,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { - color: #999; + color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd; @@ -4194,6 +4824,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; + line-height: 1.3333333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { @@ -4209,6 +4840,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; + line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { @@ -4254,7 +4886,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { - color: #999; + color: #777; cursor: not-allowed; background-color: #fff; } @@ -4270,8 +4902,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { vertical-align: baseline; border-radius: .25em; } -.label[href]:hover, -.label[href]:focus { +a.label:hover, +a.label:focus { color: #fff; text-decoration: none; cursor: pointer; @@ -4284,18 +4916,18 @@ select[multiple].input-group-sm > .input-group-btn > .btn { top: -1px; } .label-default { - background-color: #999; + background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { - background-color: #808080; + background-color: #5e5e5e; } .label-primary { - background-color: #428bca; + background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { - background-color: #3071a9; + background-color: #286090; } .label-success { background-color: #5cb85c; @@ -4335,8 +4967,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { color: #fff; text-align: center; white-space: nowrap; - vertical-align: baseline; - background-color: #999; + vertical-align: middle; + background-color: #777; border-radius: 10px; } .badge:empty { @@ -4346,7 +4978,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { position: relative; top: -1px; } -.btn-xs .badge { +.btn-xs .badge, +.btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } @@ -4356,16 +4989,23 @@ a.badge:focus { text-decoration: none; cursor: pointer; } -a.list-group-item.active > .badge, +.list-group-item.active > .badge, .nav-pills > .active > a > .badge { - color: #428bca; + color: #337ab7; background-color: #fff; } +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { - padding: 30px; + padding-top: 30px; + padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eee; @@ -4379,7 +5019,11 @@ a.list-group-item.active > .badge, font-size: 21px; font-weight: 200; } -.container .jumbotron { +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { border-radius: 6px; } .jumbotron .container { @@ -4390,7 +5034,8 @@ a.list-group-item.active > .badge, padding-top: 48px; padding-bottom: 48px; } - .container .jumbotron { + .container .jumbotron, + .container-fluid .jumbotron { padding-right: 60px; padding-left: 60px; } @@ -4407,8 +5052,9 @@ a.list-group-item.active > .badge, background-color: #fff; border: 1px solid #ddd; border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; + -webkit-transition: border .2s ease-in-out; + -o-transition: border .2s ease-in-out; + transition: border .2s ease-in-out; } .thumbnail > img, .thumbnail a > img { @@ -4418,7 +5064,7 @@ a.list-group-item.active > .badge, a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { - border-color: #428bca; + border-color: #337ab7; } .thumbnail .caption { padding: 9px; @@ -4444,10 +5090,12 @@ a.thumbnail.active { .alert > p + p { margin-top: 5px; } -.alert-dismissable { +.alert-dismissable, +.alert-dismissible { padding-right: 35px; } -.alert-dismissable .close { +.alert-dismissable .close, +.alert-dismissible .close { position: relative; top: -2px; right: -21px; @@ -4505,6 +5153,14 @@ a.thumbnail.active { background-position: 0 0; } } +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} @keyframes progress-bar-stripes { from { background-position: 40px 0; @@ -4530,19 +5186,25 @@ a.thumbnail.active { line-height: 20px; color: #fff; text-align: center; - background-color: #428bca; + background-color: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); -webkit-transition: width .6s ease; + -o-transition: width .6s ease; transition: width .6s ease; } -.progress-striped .progress-bar { +.progress-striped .progress-bar, +.progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-size: 40px 40px; + -webkit-background-size: 40px 40px; + background-size: 40px 40px; } -.progress.active .progress-bar { +.progress.active .progress-bar, +.progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { @@ -4550,6 +5212,7 @@ a.thumbnail.active { } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-info { @@ -4557,6 +5220,7 @@ a.thumbnail.active { } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-warning { @@ -4564,6 +5228,7 @@ a.thumbnail.active { } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-danger { @@ -4571,31 +5236,52 @@ a.thumbnail.active { } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} .media, .media-body { overflow: hidden; zoom: 1; } -.media, -.media .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; +.media-body { + width: 10000px; } .media-object { display: block; } -.media-heading { - margin: 0 0 5px; -} -.media > .pull-left { - margin-right: 10px; +.media-object.img-thumbnail { + max-width: none; } +.media-right, .media > .pull-right { - margin-left: 10px; + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; } .media-list { padding-left: 0; @@ -4622,59 +5308,92 @@ a.thumbnail.active { border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -a.list-group-item { +a.list-group-item, +button.list-group-item { color: #555; } -a.list-group-item .list-group-item-heading { +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, -a.list-group-item:focus { +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + color: #555; text-decoration: none; background-color: #f5f5f5; } -a.list-group-item.active, -a.list-group-item.active:hover, -a.list-group-item.active:focus { - z-index: 2; - color: #fff; - background-color: #428bca; - border-color: #428bca; +button.list-group-item { + width: 100%; + text-align: left; } -a.list-group-item.active .list-group-item-heading, -a.list-group-item.active:hover .list-group-item-heading, -a.list-group-item.active:focus .list-group-item-heading { +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + cursor: not-allowed; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { color: inherit; } -a.list-group-item.active .list-group-item-text, -a.list-group-item.active:hover .list-group-item-text, -a.list-group-item.active:focus .list-group-item-text { - color: #e1edf7; +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } -a.list-group-item-success { +a.list-group-item-success, +button.list-group-item-success { color: #3c763d; } -a.list-group-item-success .list-group-item-heading { +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, -a.list-group-item-success:focus { +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, +button.list-group-item-success.active, a.list-group-item-success.active:hover, -a.list-group-item-success.active:focus { +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; @@ -4683,20 +5402,27 @@ a.list-group-item-success.active:focus { color: #31708f; background-color: #d9edf7; } -a.list-group-item-info { +a.list-group-item-info, +button.list-group-item-info { color: #31708f; } -a.list-group-item-info .list-group-item-heading { +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, -a.list-group-item-info:focus { +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { color: #31708f; background-color: #c4e3f3; } a.list-group-item-info.active, +button.list-group-item-info.active, a.list-group-item-info.active:hover, -a.list-group-item-info.active:focus { +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; @@ -4705,20 +5431,27 @@ a.list-group-item-info.active:focus { color: #8a6d3b; background-color: #fcf8e3; } -a.list-group-item-warning { +a.list-group-item-warning, +button.list-group-item-warning { color: #8a6d3b; } -a.list-group-item-warning .list-group-item-heading { +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, -a.list-group-item-warning:focus { +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, +button.list-group-item-warning.active, a.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus { +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; @@ -4727,20 +5460,27 @@ a.list-group-item-warning.active:focus { color: #a94442; background-color: #f2dede; } -a.list-group-item-danger { +a.list-group-item-danger, +button.list-group-item-danger { color: #a94442; } -a.list-group-item-danger .list-group-item-heading { +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, -a.list-group-item-danger:focus { +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, +button.list-group-item-danger.active, a.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus { +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; @@ -4779,7 +5519,11 @@ a.list-group-item-danger.active:focus { font-size: 16px; color: inherit; } -.panel-title > a { +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { color: inherit; } .panel-footer { @@ -4789,35 +5533,60 @@ a.list-group-item-danger.active:focus { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } -.panel > .list-group { +.panel > .list-group, +.panel > .panel-collapse > .list-group { margin-bottom: 0; } -.panel > .list-group .list-group-item { +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } -.panel > .list-group:first-child .list-group-item:first-child { +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; } -.panel > .list-group:last-child .list-group-item:last-child { +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } +.list-group + .panel-footer { + border-top-width: 0; +} .panel > .table, -.panel > .table-responsive > .table { +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { margin-bottom: 0; } +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, @@ -4843,6 +5612,13 @@ a.list-group-item-danger.active:focus { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, @@ -4864,7 +5640,9 @@ a.list-group-item-danger.active:focus { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, -.panel > .panel-body + .table-responsive { +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, @@ -4932,7 +5710,6 @@ a.list-group-item-danger.active:focus { } .panel-group .panel { margin-bottom: 0; - overflow: hidden; border-radius: 4px; } .panel-group .panel + .panel { @@ -4941,7 +5718,8 @@ a.list-group-item-danger.active:focus { .panel-group .panel-heading { border-bottom: 0; } -.panel-group .panel-heading + .panel-collapse .panel-body { +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #ddd; } .panel-group .panel-footer { @@ -4958,25 +5736,33 @@ a.list-group-item-danger.active:focus { background-color: #f5f5f5; border-color: #ddd; } -.panel-default > .panel-heading + .panel-collapse .panel-body { +.panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } -.panel-default > .panel-footer + .panel-collapse .panel-body { +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { - border-color: #428bca; + border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; - background-color: #428bca; - border-color: #428bca; + background-color: #337ab7; + border-color: #337ab7; } -.panel-primary > .panel-heading + .panel-collapse .panel-body { - border-top-color: #428bca; +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; } -.panel-primary > .panel-footer + .panel-collapse .panel-body { - border-bottom-color: #428bca; +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; @@ -4986,10 +5772,14 @@ a.list-group-item-danger.active:focus { background-color: #dff0d8; border-color: #d6e9c6; } -.panel-success > .panel-heading + .panel-collapse .panel-body { +.panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } -.panel-success > .panel-footer + .panel-collapse .panel-body { +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { @@ -5000,10 +5790,14 @@ a.list-group-item-danger.active:focus { background-color: #d9edf7; border-color: #bce8f1; } -.panel-info > .panel-heading + .panel-collapse .panel-body { +.panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } -.panel-info > .panel-footer + .panel-collapse .panel-body { +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { @@ -5014,10 +5808,14 @@ a.list-group-item-danger.active:focus { background-color: #fcf8e3; border-color: #faebcc; } -.panel-warning > .panel-heading + .panel-collapse .panel-body { +.panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } -.panel-warning > .panel-footer + .panel-collapse .panel-body { +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { @@ -5028,12 +5826,42 @@ a.list-group-item-danger.active:focus { background-color: #f2dede; border-color: #ebccd1; } -.panel-danger > .panel-heading + .panel-collapse .panel-body { +.panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } -.panel-danger > .panel-footer + .panel-collapse .panel-body { +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; } +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} .well { min-height: 20px; padding: 19px; @@ -5092,25 +5920,29 @@ button.close { left: 0; z-index: 1050; display: none; - overflow: auto; - overflow-y: scroll; + overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; - -moz-transition: -moz-transform .3s ease-out; -o-transition: -o-transform .3s ease-out; transition: transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); transform: translate(0, -25%); } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); transform: translate(0, 0); } +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} .modal-dialog { position: relative; width: auto; @@ -5119,11 +5951,12 @@ button.close { .modal-content { position: relative; background-color: #fff; - background-clip: padding-box; + -webkit-background-clip: padding-box; + background-clip: padding-box; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; - outline: none; + outline: 0; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } @@ -5158,11 +5991,10 @@ button.close { } .modal-body { position: relative; - padding: 20px; + padding: 15px; } .modal-footer { - padding: 19px 20px 20px; - margin-top: 15px; + padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } @@ -5176,6 +6008,13 @@ button.close { .modal-footer .btn-block + .btn-block { margin-left: 0; } +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} @media (min-width: 768px) { .modal-dialog { width: 600px; @@ -5196,13 +6035,27 @@ button.close { } .tooltip { position: absolute; - z-index: 1030; + z-index: 1070; display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; - line-height: 1.4; - visibility: visible; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; filter: alpha(opacity=0); opacity: 0; + + line-break: auto; } .tooltip.in { filter: alpha(opacity=90); @@ -5229,7 +6082,6 @@ button.close { padding: 3px 8px; color: #fff; text-align: center; - text-decoration: none; background-color: #000; border-radius: 4px; } @@ -5248,14 +6100,16 @@ button.close { border-top-color: #000; } .tooltip.top-left .tooltip-arrow { + right: 5px; bottom: 0; - left: 5px; + margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { - right: 5px; bottom: 0; + left: 5px; + margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } @@ -5282,13 +6136,15 @@ button.close { } .tooltip.bottom-left .tooltip-arrow { top: 0; - left: 5px; + right: 5px; + margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; - right: 5px; + left: 5px; + margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } @@ -5296,19 +6152,35 @@ button.close { position: absolute; top: 0; left: 0; - z-index: 1010; + z-index: 1060; display: none; max-width: 276px; padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; white-space: normal; background-color: #fff; - background-clip: padding-box; + -webkit-background-clip: padding-box; + background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + + line-break: auto; } .popover.top { margin-top: -10px; @@ -5326,8 +6198,6 @@ button.close { padding: 8px 14px; margin: 0; font-size: 14px; - font-weight: normal; - line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; @@ -5423,12 +6293,44 @@ button.close { position: relative; display: none; -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform .6s ease-in-out; + -o-transition: -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + left: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + left: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + left: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { @@ -5473,7 +6375,9 @@ button.close { opacity: .5; } .carousel-control.left { - background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .5) 0%), color-stop(rgba(0, 0, 0, .0001) 100%)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x; @@ -5481,7 +6385,9 @@ button.close { .carousel-control.right { right: 0; left: auto; - background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .0001) 0%), color-stop(rgba(0, 0, 0, .5) 100%)); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; @@ -5491,7 +6397,7 @@ button.close { color: #fff; text-decoration: none; filter: alpha(opacity=90); - outline: none; + outline: 0; opacity: .9; } .carousel-control .icon-prev, @@ -5502,22 +6408,24 @@ button.close { top: 50%; z-index: 5; display: inline-block; + margin-top: -10px; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; + margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; + margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; - margin-top: -10px; - margin-left: -10px; font-family: serif; + line-height: 1; } .carousel-control .icon-prev:before { content: '\2039'; @@ -5577,9 +6485,16 @@ button.close { width: 30px; height: 30px; margin-top: -15px; - margin-left: -15px; font-size: 30px; } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } .carousel-caption { right: 20%; left: 20%; @@ -5591,6 +6506,8 @@ button.close { } .clearfix:before, .clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, @@ -5621,6 +6538,7 @@ button.close { content: " "; } .clearfix:after, +.dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, @@ -5665,7 +6583,6 @@ button.close { } .hidden { display: none !important; - visibility: hidden !important; } .affix { position: fixed; @@ -5679,12 +6596,26 @@ button.close { .visible-lg { display: none !important; } +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { - display: table; + display: table !important; } tr.visible-xs { display: table-row !important; @@ -5694,12 +6625,27 @@ button.close { display: table-cell !important; } } +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { - display: table; + display: table !important; } tr.visible-sm { display: table-row !important; @@ -5709,12 +6655,27 @@ button.close { display: table-cell !important; } } +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { - display: table; + display: table !important; } tr.visible-md { display: table-row !important; @@ -5724,12 +6685,27 @@ button.close { display: table-cell !important; } } +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { - display: table; + display: table !important; } tr.visible-lg { display: table-row !important; @@ -5739,6 +6715,21 @@ button.close { display: table-cell !important; } } +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} @media (max-width: 767px) { .hidden-xs { display: none !important; @@ -5767,7 +6758,7 @@ button.close { display: block !important; } table.visible-print { - display: table; + display: table !important; } tr.visible-print { display: table-row !important; @@ -5777,6 +6768,30 @@ button.close { display: table-cell !important; } } +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} @media print { .hidden-print { display: none !important; diff --git a/html/css/bootstrap.min.css b/html/css/bootstrap.min.css index bea7bbd4c..d65c66b1b 100644 --- a/html/css/bootstrap.min.css +++ b/html/css/bootstrap.min.css @@ -1,7 +1,5 @@ /*! - * Bootstrap v3.1.1 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -/*! normalize.css v3.0.0 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#999}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.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 col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date]{line-height:34px}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px}.radio label,.checkbox label{display:inline;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:34px;height:34px;line-height:34px;text-align:center}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.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;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{float:none;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.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>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:gray}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;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{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;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-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}@media print{.hidden-print{display:none!important}} + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}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-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.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}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.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;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 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:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.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}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;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-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.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;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/html/fonts/glyphicons-halflings-regular.eot b/html/fonts/glyphicons-halflings-regular.eot index 4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed..b93a4953fff68df523aa7656497ee339d6026d64 100644 GIT binary patch delta 19999 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%0Ai7v0G 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 diff --git a/html/fonts/glyphicons-halflings-regular.svg b/html/fonts/glyphicons-halflings-regular.svg index e3e2dc739..94fb5490a 100644 --- a/html/fonts/glyphicons-halflings-regular.svg +++ b/html/fonts/glyphicons-halflings-regular.svg @@ -6,224 +6,283 @@ - - - + + - - + + - - - - - - - - - + + + + + + + + + + - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/html/fonts/glyphicons-halflings-regular.ttf b/html/fonts/glyphicons-halflings-regular.ttf index 67fa00bf83801d2fa568546b982c80d27f6ef74e..1413fc609ab6f21774de0cb7e01360095584f65b 100644 GIT binary patch literal 45404 zcmd?Sd0-pWwLh*qi$?oCk~i6sWlOeWJC3|4juU5JNSu9hSVACzERcmjLV&P^utNzg zIE4Kr1=5g!SxTX#Ern9_%4&01rlrW`Z!56xXTGQR4C z3vR~wXq>NDx$c~e?;ia3YjJ*$!C>69a?2$lLyhpI!CFfJsP=|`8@K0|bbMpWwVUEygg0=0x_)HeHpGSJagJNLA3c!$EuOV>j$wi! zbo{vZ(s8tl>@!?}dmNHXo)ABy7ohD7_1G-P@SdJWT8*oeyBVYVW9*vn}&VI4q++W;Z+uz=QTK}^C75!`aFYCX# zf7fC2;o`%!huaTNJAB&VWrx=szU=VLhwnbT`vc<#<`4WI6n_x@AofA~2d90o?1L3w z9!I|#P*NQ)$#9aASijuw>JRld^-t)Zhmy|i-`Iam|IWkguaMR%lhi4p~cX-9& zjfbx}yz}s`4-6>D^+6FzihR)Y!GsUy=_MWi_v7y#KmYi-{iZ+s@ekkq!@Wxz!~BQwiI&ti z>hC&iBe2m(dpNVvSbZe3DVgl(dxHt-k@{xv;&`^c8GJY%&^LpM;}7)B;5Qg5J^E${ z7z~k8eWOucjX6)7q1a%EVtmnND8cclz8R1=X4W@D8IDeUGXxEWe&p>Z*voO0u_2!! zj3dT(Ki+4E;uykKi*yr?w6!BW2FD55PD6SMj`OfBLwXL5EA-9KjpMo4*5Eqs^>4&> z8PezAcn!9jk-h-Oo!E9EjX8W6@EkTHeI<@AY{f|5fMW<-Ez-z)xCvW3()Z#x0oydB zzm4MzY^NdpIF9qMp-jU;99LjlgY@@s+=z`}_%V*xV7nRV*Kwrx-i`FzI0BZ#yOI8# z!SDeNA5b6u9!Imj89v0(g$;dT_y|Yz!3V`i{{_dez8U@##|X9A};s^7vEd!3AcdyVlhVk$v?$O442KIM1-wX^R{U7`JW&lPr3N(%kXfXT_`7w^? z=#ntx`tTF|N$UT?pELvw7T*2;=Q-x@KmDUIbLyXZ>f5=y7z1DT<7>Bp0k;eItHF?1 zErzhlD2B$Tm|^7DrxnTYm-tgg`Mt4Eivp5{r$o9e)8(fXBO4g|G^6Xy?y$SM*&V52 z6SR*%`%DZC^w(gOWQL?6DRoI*hBNT)xW9sxvmi@!vI^!mI$3kvAMmR_q#SGn3zRb_ zGe$=;Tv3dXN~9XuIHow*NEU4y&u}FcZEZoSlXb9IBOA}!@J3uovp}yerhPMaiI8|SDhvWVr z^BE&yx6e3&RYqIg;mYVZ*3#A-cDJ;#ms4txEmwm@g^s`BB}KmSr7K+ruIoKs=s|gOXP|2 zb1!)87h9?(+1^QRWb(Vo8+@G=o24gyuzF3ytfsKjTHZJ}o{YznGcTDm!s)DRnmOX} z3pPL4wExoN$kyc2>#J`k+<67sy-VsfbQ-1u+HkyFR?9G`9r6g4*8!(!c65Be-5hUg zZHY$M0k(Yd+DT1*8)G(q)1&tDl=g9H7!bZTOvEEFnBOk_K=DXF(d4JOaH zI}*A3jGmy{gR>s}EQzyJa_q_?TYPNXRU1O;fcV_&TQZhd{@*8Tgpraf~nT0BYktu*n{a~ub^UUqQPyr~yBY{k2O zgV)honv{B_CqY|*S~3up%Wn%7i*_>Lu|%5~j)}rQLT1ZN?5%QN`LTJ}vA!EE=1`So z!$$Mv?6T)xk)H8JTrZ~m)oNXxS}pwPd#);<*>zWsYoL6iK!gRSBB{JCgB28C#E{T? z5VOCMW^;h~eMke(w6vLlKvm!!TyIf;k*RtK)|Q>_@nY#J%=h%aVb)?Ni_By)XNxY)E3`|}_u}fn+Kp^3p4RbhFUBRtGsDyx9Eolg77iWN z2iH-}CiM!pfYDIn7;i#Ui1KG01{3D<{e}uWTdlX4Vr*nsb^>l0%{O?0L9tP|KGw8w z+T5F}md>3qDZQ_IVkQ|BzuN08uN?SsVt$~wcHO4pB9~ykFTJO3g<4X({-Tm1w{Ufo zI03<6KK`ZjqVyQ(>{_aMxu7Zm^ck&~)Q84MOsQ-XS~{6j>0lTl@lMtfWjj;PT{nlZ zIn0YL?kK7CYJa)(8?unZ)j8L(O}%$5S#lTcq{rr5_gqqtZ@*0Yw4}OdjL*kBv+>+@ z&*24U=y{Nl58qJyW1vTwqsvs=VRAzojm&V zEn6=WzdL1y+^}%Vg!ap>x%%nFi=V#wn# zUuheBR@*KS)5Mn0`f=3fMwR|#-rPMQJg(fW*5e`7xO&^UUH{L(U8D$JtI!ac!g(Ze89<`UiO@L+)^D zjPk2_Ie0p~4|LiI?-+pHXuRaZKG$%zVT0jn!yTvvM^jlcp`|VSHRt-G@_&~<4&qW@ z?b#zIN)G(}L|60jer*P7#KCu*Af;{mpWWvYK$@Squ|n-Vtfgr@ZOmR5Xpl;0q~VILmjk$$mgp+`<2jP z@+nW5Oap%fF4nFwnVwR7rpFaOdmnfB$-rkO6T3#w^|*rft~acgCP|ZkgA6PHD#Of| zY%E!3tXtsWS`udLsE7cSE8g@p$ceu*tI71V31uA7jwmXUCT7+Cu3uv|W>ZwD{&O4Nfjjvl43N#A$|FWxId! z%=X!HSiQ-#4nS&smww~iXRn<-`&zc)nR~js?|Ei-cei$^$KsqtxNDZvl1oavXK#Pz zT&%Wln^Y5M95w=vJxj0a-ko_iQt(LTX_5x#*QfQLtPil;kkR|kz}`*xHiLWr35ajx zHRL-QQv$|PK-$ges|NHw8k6v?&d;{A$*q15hz9{}-`e6ys1EQ1oNNKDFGQ0xA!x^( zkG*-ueZT(GukSnK&Bs=4+w|(kuWs5V_2#3`!;f}q?>xU5IgoMl^DNf+Xd<=sl2XvkqviJ>d?+G@Z5nxxd5Sqd$*ENUB_mb8Z+7CyyU zA6mDQ&e+S~w49csl*UePzY;^K)Fbs^%?7;+hFc(xz#mWoek4_&QvmT7Fe)*{h-9R4 zqyXuN5{)HdQ6yVi#tRUO#M%;pL>rQxN~6yoZ)*{{!?jU)RD*oOxDoTjVh6iNmhWNC zB5_{R=o{qvxEvi(khbRS`FOXmOO|&Dj$&~>*oo)bZz%lPhEA@ zQ;;w5eu5^%i;)w?T&*=UaK?*|U3~{0tC`rvfEsRPgR~16;~{_S2&=E{fE2=c>{+y} zx1*NTv-*zO^px5TA|B```#NetKg`19O!BK*-#~wDM@KEllk^nfQ2quy25G%)l72<> zzL$^{DDM#jKt?<>m;!?E2p0l12`j+QJjr{Lx*47Nq(v6i3M&*P{jkZB{xR?NOSPN% zU>I+~d_ny=pX??qjF*E78>}Mgts@_yn`)C`wN-He_!OyE+gRI?-a>Om>Vh~3OX5+& z6MX*d1`SkdXwvb7KH&=31RCC|&H!aA1g_=ZY0hP)-Wm6?A7SG0*|$mC7N^SSBh@MG z9?V0tv_sE>X==yV{)^LsygK2=$Mo_0N!JCOU?r}rmWdHD%$h~~G3;bt`lH& zAuOOZ=G1Mih**0>lB5x+r)X^8mz!0K{SScj4|a=s^VhUEp#2M=^#WRqe?T&H9GnWa zYOq{+gBn9Q0e0*Zu>C(BAX=I-Af9wIFhCW6_>TsIH$d>|{fIrs&BX?2G>GvFc=<8` zVJ`#^knMU~65dWGgXcht`Kb>{V2oo%<{NK|iH+R^|Gx%q+env#Js*(EBT3V0=w4F@W+oLFsA)l7Qy8mx_;6Vrk;F2RjKFvmeq} zro&>@b^(?f))OoQ#^#s)tRL>b0gzhRYRG}EU%wr9GjQ#~Rpo|RSkeik^p9x2+=rUr}vfnQoeFAlv=oX%YqbLpvyvcZ3l$B z5bo;hDd(fjT;9o7g9xUg3|#?wU2#BJ0G&W1#wn?mfNR{O7bq747tc~mM%m%t+7YN}^tMa24O4@w<|$lk@pGx!;%pKiq&mZB z?3h<&w>un8r?Xua6(@Txu~Za9tI@|C4#!dmHMzDF_-_~Jolztm=e)@vG11bZQAs!tFvd9{C;oxC7VfWq377Y(LR^X_TyX9bn$)I765l=rJ%9uXcjggX*r?u zk|0!db_*1$&i8>d&G3C}A`{Fun_1J;Vx0gk7P_}8KBZDowr*8$@X?W6v^LYmNWI)lN92yQ;tDpN zOUdS-W4JZUjwF-X#w0r;97;i(l}ZZT$DRd4u#?pf^e2yaFo zbm>I@5}#8FjsmigM8w_f#m4fEP~r~_?OWB%SGWcn$ThnJ@Y`ZI-O&Qs#Y14To( zWAl>9Gw7#}eT(!c%D0m>5D8**a@h;sLW=6_AsT5v1Sd_T-C4pgu_kvc?7+X&n_fct znkHy(_LExh=N%o3I-q#f$F4QJpy>jZBW zRF7?EhqTGk)w&Koi}QQY3sVh?@e-Z3C9)P!(hMhxmXLC zF_+ZSTQU`Gqx@o(~B$dbr zHlEUKoK&`2gl>zKXlEi8w6}`X3kh3as1~sX5@^`X_nYl}hlbpeeVlj#2sv)CIMe%b zBs7f|37f8qq}gA~Is9gj&=te^wN8ma?;vF)7gce;&sZ64!7LqpR!fy)?4cEZposQ8 zf;rZF7Q>YMF1~eQ|Z*!5j0DuA=`~VG$Gg6B?Om1 z6fM@`Ck-K*k(eJ)Kvysb8sccsFf@7~3vfnC=<$q+VNv)FyVh6ZsWw}*vs>%k3$)9| zR9ek-@pA23qswe1io)(Vz!vS1o*XEN*LhVYOq#T`;rDkgt86T@O`23xW~;W_#ZS|x zvwx-XMb7_!hIte-#JNpFxskMMpo2OYhHRr0Yn8d^(jh3-+!CNs0K2B!1dL$9UuAD= zQ%7Ae(Y@}%Cd~!`h|wAdm$2WoZ(iA1(a_-1?znZ%8h72o&Mm*4x8Ta<4++;Yr6|}u zW8$p&izhdqF=m8$)HyS2J6cKyo;Yvb>DTfx4`4R{ zPSODe9E|uflE<`xTO=r>u~u=NuyB&H!(2a8vwh!jP!yfE3N>IiO1jI>7e&3rR#RO3_}G23W?gwDHgSgekzQ^PU&G5z&}V5GO? zfg#*72*$DP1T8i`S7=P;bQ8lYF9_@8^C(|;9v8ZaK2GnWz4$Th2a0$)XTiaxNWfdq z;yNi9veH!j)ba$9pke8`y2^63BP zIyYKj^7;2don3se!P&%I2jzFf|LA&tQ=NDs{r9fIi-F{-yiG-}@2`VR^-LIFN8BC4 z&?*IvLiGHH5>NY(Z^CL_A;yISNdq58}=u~9!Ia7 zm7MkDiK~lsfLpvmPMo!0$keA$`%Tm`>Fx9JpG^EfEb(;}%5}B4Dw!O3BCkf$$W-dF z$BupUPgLpHvr<<+QcNX*w@+Rz&VQz)Uh!j4|DYeKm5IC05T$KqVV3Y|MSXom+Jn8c zgUEaFW1McGi^44xoG*b0JWE4T`vka7qTo#dcS4RauUpE{O!ZQ?r=-MlY#;VBzhHGU zS@kCaZ*H73XX6~HtHd*4qr2h}Pf0Re@!WOyvres_9l2!AhPiV$@O2sX>$21)-3i+_ z*sHO4Ika^!&2utZ@5%VbpH(m2wE3qOPn-I5Tbnt&yn9{k*eMr3^u6zG-~PSr(w$p> zw)x^a*8Ru$PE+{&)%VQUvAKKiWiwvc{`|GqK2K|ZMy^Tv3g|zENL86z7i<c zW`W>zV1u}X%P;Ajn+>A)2iXZbJ5YB_r>K-h5g^N=LkN^h0Y6dPFfSBh(L`G$D%7c` z&0RXDv$}c7#w*7!x^LUes_|V*=bd&aP+KFi((tG*gakSR+FA26%{QJdB5G1F=UuU&koU*^zQA=cEN9}Vd?OEh| zgzbFf1?@LlPkcXH$;YZe`WEJ3si6&R2MRb}LYK&zK9WRD=kY-JMPUurX-t4(Wy{%` zZ@0WM2+IqPa9D(^*+MXw2NWwSX-_WdF0nMWpEhAyotIgqu5Y$wA=zfuXJ0Y2lL3#ji26-P3Z?-&0^KBc*`T$+8+cqp`%g0WB zTH9L)FZ&t073H4?t=(U6{8B+uRW_J_n*vW|p`DugT^3xe8Tomh^d}0k^G7$3wLgP& zn)vTWiMA&=bR8lX9H=uh4G04R6>C&Zjnx_f@MMY!6HK5v$T%vaFm;E8q=`w2Y}ucJ zkz~dKGqv9$E80NTtnx|Rf_)|3wxpnY6nh3U9<)fv2-vhQ6v=WhKO@~@X57N-`7Ppc zF;I7)eL?RN23FmGh0s;Z#+p)}-TgTJE%&>{W+}C`^-sy{gTm<$>rR z-X7F%MB9Sf%6o7A%ZHReD4R;imU6<9h81{%avv}hqugeaf=~^3A=x(Om6Lku-Pn9i zC;LP%Q7Xw*0`Kg1)X~nAsUfdV%HWrpr8dZRpd-#%)c#Fu^mqo|^b{9Mam`^Zw_@j@ zR&ZdBr3?@<@%4Z-%LT&RLgDUFs4a(CTah_5x4X`xDRugi#vI-cw*^{ncwMtA4NKjByYBza)Y$hozZCpuxL{IP&=tw6ZO52WY3|iwGf&IJCn+u(>icK zZB1~bWXCmwAUz|^<&ysd#*!DSp8}DLNbl5lRFat4NkvItxy;9tpp9~|@ z;JctShv^Iq4(z+y7^j&I?GCdKMVg&jCwtCkc4*@O7HY*veGDBtAIn*JgD$QftP}8= zxFAdF=(S>Ra6(4slk#h%b?EOU-96TIX$Jbfl*_7IY-|R%H zF8u|~hYS-YwWt5+^!uGcnKL~jM;)ObZ#q68ZkA?}CzV-%6_vPIdzh_wHT_$mM%vws9lxUj;E@#1UX?WO2R^41(X!nk$+2oJGr!sgcbn1f^yl1 z#pbPB&Bf;1&2+?};Jg5qgD1{4_|%X#s48rOLE!vx3@ktstyBsDQWwDz4GYlcgu$UJ zp|z_32yN72T*oT$SF8<}>e;FN^X&vWNCz>b2W0rwK#<1#kbV)Cf`vN-F$&knLo5T& z8!sO-*^x4=kJ$L&*h%rQ@49l?7_9IG99~xJDDil00<${~D&;kiqRQqeW5*22A`8I2 z(^@`qZoF7_`CO_e;8#qF!&g>UY;wD5MxWU>azoo=E{kW(GU#pbOi%XAn%?W{b>-bTt&2?G=E&BnK9m0zs{qr$*&g8afR_x`B~o zd#dxPpaap;I=>1j8=9Oj)i}s@V}oXhP*{R|@DAQXzQJekJnmuQ;vL90_)H_nD1g6e zS1H#dzg)U&6$fz0g%|jxDdz|FQN{KJ&Yx0vfuzAFewJjv`pdMRpY-wU`-Y6WQnJ(@ zGVb!-8DRJZvHnRFiR3PG3Tu^nCn(CcZHh7hQvyd7i6Q3&ot86XI{jo%WZqCPcTR0< zMRg$ZE=PQx66ovJDvI_JChN~k@L^Pyxv#?X^<)-TS5gk`M~d<~j%!UOWG;ZMi1af< z+86U0=sm!qAVJAIqqU`Qs1uJhQJA&n@9F1PUrYuW!-~IT>l$I!#5dBaiAK}RUufjg{$#GdQBkxF1=KU2E@N=i^;xgG2Y4|{H>s` z$t`k8c-8`fS7Yfb1FM#)vPKVE4Uf(Pk&%HLe z%^4L>@Z^9Z{ZOX<^e)~adVRkKJDanJ6VBC_m@6qUq_WF@Epw>AYqf%r6qDzQ~AEJ!jtUvLp^CcqZ^G-;Kz3T;O4WG45Z zFhrluCxlY`M+OKr2SeI697btH7Kj`O>A!+2DTEQ=48cR>Gg2^5uqp(+y5Sl09MRl* zp|28!v*wvMd_~e2DdKDMMQ|({HMn3D%%ATEecGG8V9>`JeL)T0KG}=}6K8NiSN5W< z79-ZdYWRUb`T}(b{RjN8>?M~opnSRl$$^gT`B27kMym5LNHu-k;A;VF8R(HtDYJHS zU7;L{a@`>jd0svOYKbwzq+pWSC(C~SPgG~nWR3pBA8@OICK$Cy#U`kS$I;?|^-SBC zBFkoO8Z^%8Fc-@X!KebF2Ob3%`8zlVHj6H;^(m7J35(_bS;cZPd}TY~qixY{MhykQ zV&7u7s%E=?i`}Ax-7dB0ih47w*7!@GBt<*7ImM|_mYS|9_K7CH+i}?*#o~a&tF-?C zlynEu1DmiAbGurEX2Flfy$wEVk7AU;`k#=IQE*6DMWafTL|9-vT0qs{A3mmZGzOyN zcM9#Rgo7WgB_ujU+?Q@Ql?V-!E=jbypS+*chI&zA+C_3_@aJal}!Q54?qsL0In({Ly zjH;e+_SK8yi0NQB%TO+Dl77jp#2pMGtwsgaC>K!)NimXG3;m7y`W+&<(ZaV>N*K$j zLL~I+6ouPk6_(iO>61cIsinx`5}DcKSaHjYkkMuDoVl>mKO<4$F<>YJ5J9A2Vl}#BP7+u~L8C6~D zsk`pZ$9Bz3teQS1Wb|8&c2SZ;qo<#F&gS;j`!~!ADr(jJXMtcDJ9cVi>&p3~{bqaP zgo%s8i+8V{UrYTc9)HiUR_c?cfx{Yan2#%PqJ{%?Wux4J;T$#cumM0{Es3@$>}DJg zqe*c8##t;X(4$?A`ve)e@YU3d2Balcivot{1(ahlE5qg@S-h(mPNH&`pBX$_~HdG48~)$x5p z{>ghzqqn_t8~pY<5?-To>cy^6o~mifr;KWvx_oMtXOw$$d6jddXG)V@a#lL4o%N@A zNJlQAz6R8{7jax-kQsH6JU_u*En%k^NHlvBB!$JAK!cYmS)HkLAkm0*9G3!vwMIWv zo#)+EamIJHEUV|$d|<)2iJ`lqBQLx;HgD}c3mRu{iK23C>G{0Mp1K)bt6OU?xC4!_ zZLqpFzeu&+>O1F>%g-%U^~yRg(-wSp@vmD-PT#bCWy!%&H;qT7rfuRCEgw67V!Qob z&tvPU@*4*$YF#2_>M0(75QxqrJr3Tvh~iDeFhxl=MzV@(psx%G8|I{~9;tv#BBE`l z3)_98eZqFNwEF1h)uqhBmT~mSmT8k$7vSHdR97K~kM)P9PuZdS;|Op4A?O<*%!?h` zn`}r_j%xvffs46x2hCWuo0BfIQWCw9aKkH==#B(TJ%p}p-RuIVzsRlaPL_Co{&R0h zQrqn=g1PGjQg3&sc2IlKG0Io#v%@p>tFwF)RG0ahYs@Zng6}M*d}Xua)+h&?$`%rb z;>M=iMh5eIHuJ5c$aC`y@CYjbFsJnSPH&}LQz4}za9YjDuao>Z^EdL@%saRm&LGQWXs*;FzwN#pH&j~SLhDZ+QzhplV_ij(NyMl z;v|}amvxRddO81LJFa~2QFUs z+Lk zZck)}9uK^buJNMo4G(rSdX{57(7&n=Q6$QZ@lIO9#<3pA2ceDpO_340B*pHlh_y{>i&c1?vdpN1j>3UN-;;Yq?P+V5oY`4Z(|P8SwWq<)n`W@AwcQ?E9 zd5j8>FT^m=MHEWfN9jS}UHHsU`&SScib$qd0i=ky0>4dz5ADy70AeIuSzw#gHhQ_c zOp1!v6qU)@8MY+ zMNIID?(CysRc2uZQ$l*QZVY)$X?@4$VT^>djbugLQJdm^P>?51#lXBkdXglYm|4{L zL%Sr?2f`J+xrcN@=0tiJt(<-=+v>tHy{XaGj7^cA6felUn_KPa?V4ebfq7~4i~GKE zpm)e@1=E;PP%?`vK6KVPKXjUXyLS1^NbnQ&?z>epHCd+J$ktT1G&L~T)nQeExe;0Z zlei}<_ni ztFo}j7nBl$)s_3odmdafVieFxc)m!wM+U`2u%yhJ90giFcU1`dR6BBTKc2cQ*d zm-{?M&%(={xYHy?VCx!ogr|4g5;V{2q(L?QzJGsirn~kWHU`l`rHiIrc-Nan!hR7zaLsPr4uR zG{En&gaRK&B@lyWV@yfFpD_^&z>84~_0Rd!v(Nr%PJhFF_ci3D#ixf|(r@$igZiWw za*qbXIJ_Hm4)TaQ=zW^g)FC6uvyO~Hg-#Z5Vsrybz6uOTF>Rq1($JS`imyNB7myWWpxYL(t7`H8*voI3Qz6mvm z$JxtArLJ(1wlCO_te?L{>8YPzQ})xJlvc5wv8p7Z=HviPYB#^#_vGO#*`<0r%MR#u zN_mV4vaBb2RwtoOYCw)X^>r{2a0kK|WyEYoBjGxcObFl&P*??)WEWKU*V~zG5o=s@ z;rc~uuQQf9wf)MYWsWgPR!wKGt6q;^8!cD_vxrG8GMoFGOVV=(J3w6Xk;}i)9(7*U zwR4VkP_5Zx7wqn8%M8uDj4f1aP+vh1Wue&ry@h|wuN(D2W;v6b1^ z`)7XBZ385zg;}&Pt@?dunQ=RduGRJn^9HLU&HaeUE_cA1{+oSIjmj3z+1YiOGiu-H zf8u-oVnG%KfhB8H?cg%@#V5n+L$MO2F4>XoBjBeX>css^h}Omu#)ExTfUE^07KOQS znMfQY2wz?!7!{*C^)aZ^UhMZf=TJNDv8VrrW;JJ9`=|L0`w9DE8MS>+o{f#{7}B4P z{I34>342vLsP}o=ny1eZkEabr@niT5J2AhByUz&i3Ck0H*H`LRHz;>3C_ru!X+EhJ z6(+(lI#4c`2{`q0o9aZhI|jRjBZOV~IA_km7ItNtUa(Wsr*Hmb;b4=;R(gF@GmsRI`pF+0tmq0zy~wnoJD(LSEwHjTOt4xb0XB-+ z&4RO{Snw4G%gS9w#uSUK$Zbb#=jxEl;}6&!b-rSY$0M4pftat-$Q)*y!bpx)R%P>8 zrB&`YEX2%+s#lFCIV;cUFUTIR$Gn2%F(3yLeiG8eG8&)+cpBlzx4)sK?>uIlH+$?2 z9q9wk5zY-xr_fzFSGxYp^KSY0s%1BhsI>ai2VAc8&JiwQ>3RRk?ITx!t~r45qsMnj zkX4bl06ojFCMq<9l*4NHMAtIxDJOX)H=K*$NkkNG<^nl46 zHWH1GXb?Og1f0S+8-((5yaeegCT62&4N*pNQY;%asz9r9Lfr;@Bl${1@a4QAvMLbV6JDp>8SO^q1)#(o%k!QiRSd0eTmzC< zNIFWY5?)+JTl1Roi=nS4%@5iF+%XztpR^BSuM~DX9q`;Mv=+$M+GgE$_>o+~$#?*y zAcD4nd~L~EsAjXV-+li6Lua4;(EFdi|M2qV53`^4|7gR8AJI;0Xb6QGLaYl1zr&eu zH_vFUt+Ouf4SXA~ z&Hh8K@ms^`(hJfdicecj>J^Aqd00^ccqN!-f-!=N7C1?`4J+`_f^nV!B3Q^|fuU)7 z1NDNT04hd4QqE+qBP+>ZE7{v;n3OGN`->|lHjNL5w40pePJ?^Y6bFk@^k%^5CXZ<+4qbOplxpe)l7c6m%o-l1oWmCx%c6@rx85hi(F=v(2 zJ$jN>?yPgU#DnbDXPkHLeQwED5)W5sH#-eS z%#^4dxiVs{+q(Yd^ShMN3GH)!h!@W&N`$L!SbElXCuvnqh{U7lcCvHI#{ZjwnKvu~ zAeo7Pqot+Ohm{8|RJsTr3J4GjCy5UTo_u_~p)MS&Z5UrUc|+;Mc(YS+ju|m3Y_Dvt zonVtpBWlM718YwaN3a3wUNqX;7TqvAFnVUoD5v5WTh~}r)KoLUDw%8Rrqso~bJqd> z_T!&Rmr6ebpV^4|knJZ%qmzL;OvG3~A*loGY7?YS%hS{2R0%NQ@fRoEK52Aiu%gj( z_7~a}eQUh8PnyI^J!>pxB(x7FeINHHC4zLDT`&C*XUpp@s0_B^!k5Uu)^j_uuu^T> z8WW!QK0SgwFHTA%M!L`bl3hHjPp)|wL5Var_*A1-H8LV?uY5&ou{hRjj>#X@rxV>5%-9hbP+v?$4}3EfoRH;l_wSiz{&1<+`Y5%o%q~4rdpRF0jOsCoLnWY5x?V)0ga>CDo`NpqS) z@x`mh1QGkx;f)p-n^*g5M^zRTHz%b2IkLBY{F+HsjrFC9_H(=9Z5W&Eymh~A_FUJ} znhTc9KG((OnjFO=+q>JQZJbeOoUM77M{)$)qQMcxK9f;=L;IOv_J>*~w^YOW744QZ zoG;!b9VD3ww}OX<8sZ0F##8hvfDP{hpa3HjaLsKbLJ8 z0WpY2E!w?&cWi7&N%bOMZD~o7QT*$xCRJ@{t31~qx~+0yYrLXubXh2{_L699Nl_pn z6)9eu+uUTUdjHXYs#pX^L)AIb!FjjNsTp7C399w&B{Q4q%yKfmy}T2uQdU|1EpNcY zDk~(h#AdxybjfzB+mg6rdU9mDZ^V>|U13Dl$Gj+pAL}lR2a1u!SJXU_YqP9N{ose4 zk+$v}BIHX60WSGVWv;S%zvHOWdDP(-ceo(<8`y@Goy%4wDu>57QZNJc)f>Ls+}9h7 z^N=#3q3|l?aG8K#HwiW2^PJu{v|x5;awYfahC?>_af3$LmMc4%N~JwVlRZa4c+eW2 zE!zosAjOv&UeCeu;Bn5OQUC=jtZjF;NDk9$fGbxf3d29SUBekX1!a$Vmq_VK*MHQ4)eB!dQrHH)LVYNF%-t8!d`@!cb z2CsKs3|!}T^7fSZm?0dJ^JE`ZGxA&a!jC<>6_y67On0M)hd$m*RAzo_qM?aeqkm`* zXpDYcc_>TFZYaC3JV>{>mp(5H^efu!Waa7hGTAts29jjuVd1vI*fEeB?A&uG<8dLZ z(j6;-%vJ7R0U9}XkH)1g>&uptXPHBEA*7PSO2TZ+dbhVxspNW~ZQT3fApz}2 z_@0-lZODcd>dLrYp!mHn4k>>7kibI!Em+Vh*;z}l?0qro=aJt68joCr5Jo(Vk<@i) z5BCKb4p6Gdr9=JSf(2Mgr=_6}%4?SwhV+JZj3Ox^_^OrQk$B^v?eNz}d^xRaz&~ zKVnlLnK#8^y=If2f1zmb~^5lPLe?%l}>?~wN4IN((2~U{e9fKhLMtYFj)I$(y zgnKv?R+ZpxA$f)Q2l=aqE6EPTK=i0sY&MDFJp!vQayyvzh4wee<}kybNthRlX>SHh z7S}9he^EBOqzBCww^duHu!u+dnf9veG{HjW!}aT7aJqzze9K6-Z~8pZAgdm1n~aDs z8_s7?WXMPJ3EPJHi}NL&d;lZP8hDhAXf5Hd!x|^kEHu`6QukXrVdLnq5zbI~oPo?7 z2Cbu8U?$K!Z4_yNM1a(bL!GRe!@{Qom+DxjrJ!B99qu5b*Ma%^&-=6UEbC+S2zX&= zQ!%bgJTvmv^2}hhvNQg!l=kbapAgM^hruE3k@jTxsG(B6d=4thBC*4tzVpCYXFc$a zeqgVB^zua)y-YjpiibCCdU%txXYeNFnXcbNj*D?~)5AGjL+!!ij_4{5EWKGav0^={~M^q}baAFOPzxfUM>`KPf|G z&hsaR*7(M6KzTj8Z?;45zX@L#xU{4n$9Q_<-ac(y4g~S|Hyp^-<*d8+P4NHe?~vfm z@y309=`lGdvN8*jw-CL<;o#DKc-%lb0i9a3%{v&2X($|Qxv(_*()&=xD=5oBg=$B0 zU?41h9)JKvP0yR{KsHoC>&`(Uz>?_`tlLjw1&5tPH3FoB%}j;yffm$$s$C=RHi`I3*m@%CPqWnP@B~%DEe;7ZT{9!IMTo1hT3Q347HJ&!)BM2 z3~aClf>aFh0_9||4G}(Npu`9xYY1*SD|M~9!CCFn{-J$u2&Dg*=5$_nozpoD2nxqq zB!--eA8UWZlcEDp4r#vhZ6|vq^9sFvRnA9HpHch5Mq4*T)oGbruj!U8Lx_G%Lby}o zTQ-_4A7b)5A42vA0U}hUJq6&wQ0J%$`w#ph!EGmW96)@{AUx>q6E>-r^Emk!iCR+X zdIaNH`$}7%57D1FyTccs3}Aq0<0Ei{`=S7*>pyg=Kv3nrqblqZcpsCWSQl^uMSsdj zYzh73?6th$c~CI0>%5@!Ej`o)Xm38u0fp9=HE@Sa6l2oX9^^4|Aq%GA z3(AbFR9gA_2T2i%Ck5V2Q2WW-(a&(j#@l6wE4Z`xg#S za#-UWUpU2U!TmIo`CN0JwG^>{+V#9;zvx;ztc$}@NlcyJr?q(Y`UdW6qhq!aWyB5xV1#Jb{I-ghFNO0 zFU~+QgPs{FY1AbiU&S$QSix>*rqYVma<-~s%ALhFyVhAYepId1 zs!gOB&weC18yhE-v6ltKZMV|>JwTX+X)Y_EI(Ff^3$WTD|Ea-1HlP;6L~&40Q&5{0 z$e$2KhUgH8ucMJxJV#M%cs!d~#hR^nRwk|uuCSf6irJCkSyI<%CR==tftx6d%;?ef zYIcjZrP@APzbtOeUe>m-TW}c-ugh+U*RbL1eIY{?>@8aW9bb1NGRy@MTse@>= za%;5=U}X%K2tKTYe9gjMcBvX%qrC&uZ`d(t)g)X8snf?vBe3H%dG=bl^rv8Z@YN$gd9yveHY0@Wt0$s zh^7jCp(q+6XDoekb;=%y=Wr8%6;z0ANH5dDR_VudDG|&_lYykJaiR+(y{zpR=qL3|2e${8 z2V;?jgHj7}Kl(d8C9xWRjhpf_)KOXl+@c4wrHy zL3#9U(`=N59og2KqVh>nK~g9>fX*PI0`>i;;b6KF|8zg+k2hViCt}4dfMdvb1NJ-Rfa7vL2;lPK{Lq*u`JT>S zoM_bZ_?UY6oV6Ja14X^;LqJPl+w?vf*C!nGK;uU^0GRN|UeFF@;H(Hgp8x^|;ygh? zIZx3DuO(lD01ksanR@Mn#lti=p28RTNYY6yK={RMFiVd~k8!@a&^jicZ&rxD3CCI! zVb=fI?;c#f{K4Pp2lnb8iF2mig)|6JEmU86Y%l}m>(VnI*Bj`a6qk8QL&~PFDxI8b z2mcsQBe9$q`Q$LfG2wdvK`M1}7?SwLAV&)nO;kAk`SAz%x9CDVHVbUd$O(*aI@D|s zLxJW7W(QeGpQY<$dSD6U$ja(;Hb3{Zx@)*fIQaW{8<$KJ&fS0caI2Py^clOq9@Irt z7th7F?7W`j{&UmM==Lo~T&^R7A?G=K_e-zfTX|)i`pLitlNE(~tq*}sS1x2}Jlul6 z5+r#4SpQu8h{ntIv#qCVH`uG~+I8l+7ZG&d`Dm!+(rZQDV*1LS^WfH%-!5aTAxry~ z4xl&rot5ct{xQ$w$MtVTUi6tBFSJWq2Rj@?HAX1H$eL*fk{Hq;E`x|hghRkipYNyt zKCO=*KSziiVk|+)qQCGrTYH9X!Z0$k{Nde~0Wl`P{}ca%nv<6fnYw^~9dYxTnTZB&&962jX0DM&wy&8fdxX8xeHSe=UU&Mq zRTaUKnQO|A>E#|PUo+F=Q@dMdt`P*6e92za(TH{5C*2I2S~p?~O@hYiT>1(n^Lqqn zqewq3ctAA%0E)r53*P-a8Ak32mGtUG`L^WVcm`QovX`ecB4E9X60wrA(6NZ7z~*_DV_e z8$I*eZ8m=WtChE{#QzeyHpZ%7GwFHlwo2*tAuloI-j2exx3#x7EL^&D;Re|Kj-XT- zt908^soV2`7s+Hha!d^#J+B)0-`{qIF_x=B811SZlbUe%kvPce^xu7?LY|C z@f1gRPha1jq|=f}Se)}v-7MWH9)YAs*FJ&v3ZT9TSi?e#jarin0tjPNmxZNU_JFJG z+tZi!q)JP|4pQ)?l8$hRaPeoKf!3>MM-bp06RodLa*wD=g3)@pYJ^*YrwSIO!SaZo zDTb!G9d!hb%Y0QdYxqNSCT5o0I!GDD$Z@N!8J3eI@@0AiJmD7brkvF!pJGg_AiJ1I zO^^cKe`w$DsO|1#^_|`6XTfw6E3SJ(agG*G9qj?JiqFSL|6tSD6vUwK?Cwr~gg)Do zp@$D~7~66-=p4`!!UzJDKAymb!!R(}%O?Uel|rMH>OpRGINALtg%gpg`=}M^Q#V5( zMgJY&gF)+;`e38QHI*c%B}m94o&tOfae;og&!J2;6ENW}QeL73jatbI1*9X~y=$Dm%6FwDcnCyMRL}zo`0=y7=}*Uw zo3!qZncAL{HCgY!+}eKr{P8o27ye+;qJP;kOB%RpSesGoHLT6tcYp*6v~Z9NCyb6m zP#qds0jyqXX46qMNhXDn3pyIxw2f_z;L_X9EIB}AhyC`FYI}G3$WnW>#NMy{0aw}nB%1=Z4&*(FaCn5QG(zvdG^pQRU25;{wwG4h z@kuLO0F->{@g2!;NNd!PfqM-;@F0;&wK}0fT9UrH}(8A5I zt33(+&U;CLN|8+71@g z(s!f-kZZZILUG$QXm9iYiE*>2w;gpM>lgM{R9vT3q>qI{ELO2hJHVi`)*jzOk$r)9 zq}$VrE0$GUCm6A3H5J-=Z9i*biw8ng zi<1nM0lo^KqRY@Asucc#DMmWsnCS;5uPR)GL3pL=-IqSd>4&D&NKSGHH?pG;=Xo`w zw~VV9ddkwbp~m>9G0*b?j7-0fOwR?*U#BE#n7A=_fDS>`fwatxQ+`FzhBGQUAyIRZ??eJt46vHBlR>9m!vfb6I)8!v6TmtZ%G6&E|1e zOtx5xy%yOSu+<9Ul5w5N=&~4Oph?I=ZKLX5DXO(*&Po>5KjbY7s@tp$8(fO|`Xy}Y z;NmMypLoG7r#Xz4aHz7n)MYZ7Z1v;DFHLNV{)to;(;TJ=bbMgud96xRMME#0d$z-S z-r1ROBbW^&YdQWA>U|Y>{whex#~K!ZgEEk=LYG8Wqo28NFv)!t!~}quaAt}I^y-m| z8~E{9H2VnyVxb_wCZ7v%y(B@VrM6lzk~|ywCi3HeiSV`TF>j+Ijd|p*kyn;=mqtf8&DK^|*f+y$38+9!sis9N=S)nINm9=CJ<;Y z!t&C>MIeyou4XLM*ywT_JuOXR>VkpFwuT9j5>667A=CU*{TBrMTgb4HuW&!%Yt`;#md7-`R`ouOi$rEd!ErI zo#>qggAcx?C7`rQ2;)~PYCw%CkS(@EJHZ|!!lhi@Dp$*n^mgrrImsS~(ioGak>3)w zvop0lq@IISuA0Ou*#1JkG{U>xSQV1e}c)!d$L1plFX5XDXX5N7Ns{kT{y5|6MfhBD+esT)e7&CgSW8FxsXTAY=}?0A!j_V9 zJ;IJ~d%av<@=fNPJ9)T3qE78kaz64E>dJaYab5uaU`n~Zdp2h{8DV%SKE5G^$LfuOTRRjB;TnT(Jk$r{Pfe4CO!SM_7d)I zquW~FVCpSycJ~c*B*V8?Qqo=GwU8CkmmLFugfHQ7;A{yCy1OL-+X=twLYg9|H=~8H znnN@|tCs^ZLlCBl5wHvYF}2vo>a6%mUWpTds_mt*@wMN4-r`%NTA%+$(`m6{MNpi@ zMx)8f>U4hd!row@gM&PVo&Hx+lV@$j9yWTjTue zG9n0DP<*HUmJ7ZZWwI2x+{t3QEfr6?T}2iXl=6e0b~)J>X3`!fXd9+2wc1%cj&F@Z zgYR|r5Xd5jy9;YW&=4{-0rJ*L5CgDPj9^3%bp-`HkyBs`j1iTUGD4?WilZ6RO8mIE z+~Joc?GID6K96dyuv(dWREK9Os~%?$$FxswxQsoOi8M?RnL%B~Lyk&(-09D0M?^Jy zWjP)n(b)TF<-|CG%!Vz?8Fu&6iU<>oG#kGcrcrrBlfZMVl0wOJvsq%RL9To%iCW@)#& zZAJWhgzYAq)#NTNb~3GBcD%ZZOc43!YWSyA7TD6xkk)n^FaRAz73b}%9d&YisBic(?mv=Iq^r%Ug zzHq-rRrhfOOF+yR=AN!a9*Rd#sM9ONt5h~w)yMP7Dl9lfpi$H0%GPW^lS4~~?vI8Z z%^ToK#NOe0ExmUsb`lLO$W*}yXNOxPe@zD*90uTDULnH6C?InP3J=jYEO2d)&e|mP z1DSd0QOZeuLWo*NqZzopA+LXy9)fJC00NSX=_4Mi1Z)YyZVC>C!g}cY(Amaj%QN+bev|Xxd2OPD zk!dfkY6k!(sDBvsFC2r^?}hb81(WG5Lt9|riT`2?P;B%jaf5UX<~OJ;uAL$=Ien+V zC!V8u0v?CUa)4*Q+Q_u zkx{q;NjLcvyMuU*{+uDsCQ4U{JLowYby-tn@hatL zy}X>9y08#}oytdn^qfFesF)Tt(2!XGw#r%?7&zzFFh2U;#U9XBO8W--#gOpfbJ`Ey z|M8FCKlWQrOJwE;@Sm02l9OBr7N}go4V8ur)}M@m2uWjggb)DC4s`I4d7_8O&E(j; z?3$9~R$QDxNM^rNh9Y;6P7w+bo2q}NEd6f&_raor-v`UCaTM3TT8HK2-$|n{N@U>_ zL-`P7EXoEU5JRMa)?tNUEe8XFis+w8g9k(QQ)%?&Oac}S`2V$b?%`DwXBgja&&fR@ zH_XidF$p1wA)J|Wk1;?lCl?fgc)=TB3>Y8;BoMqHwJqhL)Tgydv9(?(TBX)fq%=~C zmLj!iX-kn7QA(9snzk0LRf<%SzO&~IhLor6A3f*U^UcoAygRe!H#@UCv$JUP&vPxs zeDj$1%#<2T1!e|!7xI+~_VXLl5|jHqvOhU7ZDUGee;HnkcPP=_k_FFxPjXg*9KyI+ zIh0@+s)1JDSuKMeaDZ3|<_*J8{TUFDLl|mXmY8B>Wj_?4mC#=XjsCKPEO=p0c&t&Z zd1%kHxR#o9S*C?du*}tEHfAC7WetnvS}`<%j=o7YVna)6pw(xzkUi7f#$|^y4WQ{7 zu@@lu=j6xr*11VEIY+`B{tgd(c3zO8%nGk0U^%ec6h)G_`ki|XQXr!?NsQkxzV6Bn1ea9L+@ z(Zr7CU_oXaW>VOdfzENm+FlFQ7Se0ROrNdw(QLvb6{f}HRQ{$Je>(c&rws#{dFI^r zZ4^(`J*G0~Pu_+p5AAh>RRpkcbaS2a?Fe&JqxDTp`dIW9;DL%0wxX5;`KxyA4F{(~_`93>NF@bj4LF!NC&D6Zm+Di$Q-tb2*Q z&csGmXyqA%Z9s(AxNO3@Ij=WGt=UG6J7F;r*uqdQa z?7j!nV{8eQE-cwY7L(3AEXF3&V*9{DpSYdyCjRhv#&2johwf{r+k`QB81%!aRVN<& z@b*N^xiw_lU>H~@4MWzgHxSOGVfnD|iC7=hf0%CPm_@@4^t-nj#GHMug&S|FJtr?i z^JVrobltd(-?Ll>)6>jwgX=dUy+^n_ifzM>3)an3iOzpG9Tu;+96TP<0Jm_PIqof3 zMn=~M!#Ky{CTN_2f7Y-i#|gW~32RCWKA4-J9sS&>kYpTOx#xVNLCo)A$LUme^fVNH z@^S7VU^UJ0YR8?Oy$^IYuG*bm|g;@aX~i60%`7XLy*AYpYvZ^F^U(!|RW z*C!rJ@+7TGdL=nNd1gv^%B+;Fcr$y)i0!GRsZXRHPs>QVGVR{9r_#&Qd(wL|5;H;> zD>HUw=4CF++&{7$<8G@j*nGjhEO%BQYfjeItp4mPvY*JYb1HKd!{HJ9*)(3%BR%{Pp?AM&*yHAJsW({ivOzj*qS!-7|XEn6@zo z3L*tBT%<4RxoAh>q{0n_JBmgW6&8hx?kL(_^k%VL>?xjAyrKBmSl`$=V|SK}ELl}@ zd|d0eo#RfG`bw9SK3%r4Y+rdvc}w}~ixV%tqawbdqvE-WcgE+BUpxMT%F@btm76MG zn=oQRWWuTm+a{dy)Oc2V4yX(@M{QAkx>(QB59*`dLT`Pz3Lsj9iB=HSHAiCq()ns|Cr)1*c605Cx}3V&x}Lg?b+6Q?)z7Kl zQh&1Hx`y6JY-Cwvd*ozeps}a1xAA0CR+Da;+O(i)P1C;SjOI}Dtmf6tPqo-Bl`U78 zv$kYgPntPp@G)n1an9tEoL*Vumu9`>_@I(;+5+fBa-*?fEx=mTEjZ7wq}#@Gd5_cW z!mP{N=yqEntDo)|>oy6{9cu+-3*GTnmb^`O0^FzRPO^&aG`f@F_R*aQ_e{F+_9%NW z4KG_B`@X3EVV9L>?_RNDMddA>w=e0KfAiw5?#i1NFT%Zz#nuv(&!yIU>lVxmzYKQ` zzJ*0w9<&L4aJ6A;0j|_~i>+y(q-=;2Xxhx2v%CYY^{} z^J@LO()eLo|7!{ghQ+(u$wxO*xY#)cL(|miH2_ck2yN{mu4O9=hBW*pM_()-_YdH#Ru{JtwJ^R2}3?!>>m1pohh zrn(!xCjE0Q&EH1QK?zA%sxVh&H99cObJUY$veZhQ)MLu-h%`!*G)s$2k;~+A z)Kk->Ri?`oGDEJEtI*wijm(s5f$W78FH{+qBxiU{~kq((J3uK{m z$|C8K#j-?hm8H@x%VfFqpnvu@xn1s%J7uNZC9C99a<_b1J|mx%)$%!6gPU|~<@2&m zz99GDp`|a%m*iggvfL;4%X;~WY>)@!tMWB@P`)k?$;0x9JSrRI8?s3rlgH(o@`OAo zn{f*gZ#t2u6K??hx|aElOM`Xd0t+SAIUEHvFw%?Wsm$s zUXq{6UU?a>Nc@@Xlb_2k9M1Ctr<#+O?yd}rv z_wu&=_t$!Yngd@N_AUj}T; z#*Ce|%XZr_sQcsWcsl{pCnnj+c8ZNIMmx<;w=-g$Q>BU;9k;w|zQ;4!W32Xg2Cd?{ zvmO3kuKQ^Hv;o>6ZHP8ZJ2`4~Bx?N;cf<0fi=!*G^^WzbTF3e$b&d^qqB{>nqLG81 zs94bBh%|Vj+hLu=!8(b9brJ>ZBns9^6s(gdSVyP9qnu2_I{Sg8j-rloG6{d`De5We zDe5WeY3ga}Y3ga}Y3ga}Y3ga}Y3ga}d8y~6o|k%F>UpW>rJk31Ug~+N=cS&HdOqs; zsOO`ek9t1p`Kafko{xGy>iMbXr=FjBxZMYc8a#gL`Kjlpo}YSt>iMY`pk9DF0qO*( z6QE9jIsxhgs1u-0kUBx8D@eT{^@7w3QZGooAoYUO3sNscy%6<6)C*BBM7L`dk$Xk%6}eZQXgo#!75P`>Uy*-B{uTLGUy*-B{uTLGUy*-B{uTLG$#wLd<0X4JKkMs=IoY9(#guC%-Ix~!LV@5XgawLzwtVoFRi&4B<;Yzzq| z1QHw)z@da0*@PsIyqA!`6G@b6oWOe_b_$P#@)GbXG2Zd-d+unfZAkvV-{LBX3Wc;?Pswd9i3FaAXkSUrx`&zn7GF0_`M^SUUB}0?t9iO6@<@rQX4MYaNTB6W_twTb8q4L*yS58+j!vF z2j3Nh`>lc?ZQXpu)z^G$?&B8=!spQk>+PGb+PGPLztt}YU&eW%aO!9EjS$4lmWxSf0(+a;I;S#pX$!?81r zPxe(ID}q`APM!R3^`f;)g#n@JcY^fY+Km6eDgyYBYd&V!e;1`7xevutA z9r7HC9qK$ZaA-Mx@w`Ku58Zlb*I{&GuRWclsyf4l#;7ri09Ui*6RHTP@wSWT=t=8ZXH=9myY8a)#IAo_0fKca`D z*F~?2UK+h1x;}btbX|01bV+nx^t9+egvQ|i`5yx>jQlJU@$>W=|A&(_6vm%?s-YdZ z;Q!}OV(bZjm;rz1-#tQ;_`j;qrV74A>f+@?>cTDSR3S05S~a&0%~;2e-Lx)tKxMv; z>UNd2#a>sPt?jDVwrIuBoW#0#yDGI^Tpd#fmJh|%fpzVw+(uuGC*n5@{id$Gt`64? z4cEQ9t}YQ*O|3)f+%4<)iFNDnd#1Lkv(9K&&23r(y9;-Z-F4Pkb*g}$v9xK8{LsMY zA#0mgiS=dLRa;x^Cc4QF@cS`UN-jvmR5`U!6_yWe-?)84j5em!#pCPhw)4Fe#va|! zZnVx*=ZWJcj<(n@cz2v_v5abIJ!>cyo0pio;gZ-;tZ<(36Leh_-5IxzZI8{{K6gW6 zdu)4x-!7pFD~8koT#5eCZPkH|w1e-s_?>1Ptd7U)Vh6W_4EWLlv~6{zZD=1ZbGId8 z2P-#E#D*5Ftc$B`-OzS)XhC9oBDQ_O_QVEi33Z3wsXZPV1}}y|p$^c7cTxw?(8S!t zhD+9u?+Ja?*M?4Pzmv$eu#nhpQDe)8rq_KJXZ&sZgaI}%ILH=#(<7WO@OQd+HCi6q zzG5hG9$KFmtiuOO41)3lD~5_fOqg~4V3EZbKGfLxYR$%a-ctNxpiRY5&;@Vp#E_7w zkT-73wkGUcB*ievEJBCIgv|7!MHb)9YG%{FPcKR$HU&+h!zMahw3wx1(~FFb=ajgT z%qfW`HlV-tm%m7{V~3g`k(p2s3i4uku@Dj(1y#tXRXLTFRY#Vo)fv@yP&H*$Z&|fu zwHnqcbawfA;^}-y$tn4eB_4=}ENLa7Skn0dlb+x4dBA$NMe@P+tN3)UA)gG`7`p@g}ksuP_r4esa$Nz(oZ#Y*myhQ zydBZ3YRahfIn`WNYqM$~qdLmPfP*d!c&KGlGHRZ;tf8!hquH$5;L+MytLn+B9c9&> z)%sYg){s}cs-;hDSBj2Uwy&>`sF=@n=M(u{Z@xE|4FyAq?hY~0;1VryOWYj5TSU%f z`^BD|*kB}m6&MwIx%*C_4-Kj)_rGq6J%mIJM#ave| z6W_b;$tSPtXlr}!^3VTT99+%bTYl9u??3I@aP6-itZ}+F;Z~$u6l4`VD`Otmv91d} zER<(S#b#32t`d6j;d0id9}tJcA&h=ofez}MOMLIh@MGecx|6jH@5S#($3Hm!f&3l$ zJD6Q&(h@95us6di-`kyGsRm0GTk_j84vH5XTyyaJs;URwjqa+=zdhYJa8^~?^^8KtwNh&Fei-jtC-6@O7#R52HmK*O{ zb{aZAuyEO0ulKHHb62|T!ydZ}`=7qNxi+xAMLg%B;s5c3YOm_eH`jzt&r4U@9n$wC zpM7|lQe8tUd+7K(@(<((1)oqStP_e*@>*4IMh%tKx(s^5)cTCd4yu8&8t{;8P)(Qv zVE3AU;@u~S9&cl)PcOVYDiH%eQKR|9}_GlobT-NdeEVO-@<}^H#0Y+ z8Q5L)1Y^CPR4l~m!D{tOS)0XjnbmLA4_v#m^vM^Q_j}*d-(&C6IsFf%o!9CIaPl&X zg|#geFV+9@;`eX`hJ?@aA^BN(won6(WNK|j6%Gd{TZs`|W+=eeBozwtMwk^=|gMSwn`IzBM5z3t%CUFVn_xPg)&+-Z}Nm+_k}F^P&%JTTTZ;stRF1+?)Mjd z@9iZ^PjW}`nw`J<%#J^P=9j)n&CF?*>`C{+zjvK zuNOv-VW}N|3CU6jr(;`3FW{u)Z?q=6LBotNQy3JAAabkPmIDEaWZ{fDos*^;yfMJ( zfi(x~V>RAAS`5<>L~AaqQ?lA=oNs!R?p{dTU_il`#v4*K7~%2z>|@S{!3BYEIG}H) z_pxnpX#C#z?d;e^VeztYJHy`@w=?040O^T8t{05-eVK5saD{M-a1YjMP6ciHrCKltrL=JU^%w? z%G&%P`t)e)acuLg*uJ=|U3XVDtKG{fM{{8sGiF08Ye*?QAHB~$=KSRE|D)H310@=Q zQ@pWVr#!_^eBAl$=-)<^As zJhjCaXt;)F)BDM{$J2alXh-S%@f4-CE-W<2@5?O&s9@VPh1%VaGs>!k%%NCOX!q7hU38p|b zovTxd{u+j_eYEZ&L7wLVxj-V2==n%JWNx8UD3m@%8`0O%MTNo`?Y_YEs;F@G1lm<7 z6B|dFie`mXi)&WTk!DpN9@opsy47=}Th&KCR=bk0jD2*^NKaw!Rn)8<*XyrZg3!aP zBWl)*%=02T#&ty@BtHoKp$@D49Dxi+JJ#tozAjnHMJVYQMGK5M)#A~d7;9g-==9M+ zC+sLPnKY*bgA}T+PoUvsAa#550cf*+sDeG+sdP`!3k^+d=n$DPfw7($6FBsXCobH2 zl%02U>xEDJ;>?F$edpDO&Sbv{2MRQk@FosD&zkxl&zG*#jvm#nE9D>W*MI%|7F>mk znUk(EmLpgb1%W{>X`^~fr%;5k(W+UUxg1kH8C5<=T0J^pMJF6Ela21U%bLQaO&%6D zgK<3auK;7Dt%RX3F)~Ql5#33aHxvaxlcG>7)XBT$-NHQKbm2UK)a&JCbx}s`1@%^N z>dh~!^F7)U+zkubO3-P(KsMA2u>BHcpF5E2BUWhiYBd=cmfCW#yk>y{qb^eRN%8a? zI@{~jT2CW}_xYn@Fv={!P(BpIW-dEZ?48L%z4>&$7n?oZ88MY%`Bd7HPGK|A;1YEiG@Keut^O%am$rsLQ0x9U0T7rgScss@?4KCe!Dc zCnPOzoBkzKkurMPR~sJlqu6;PIcA{-F)-Vx|?r? z`d|?X$B)aZ$q&7MOasjecMHWhX;F=^_B*??Sm@K4VoSC+2X&#Y3>A}<3RfGBXENMw zg?V3lkXD^WkCwy`019a$&9s)?Cn=eC2St6RCAO;o}h)=XB2SH>r+jiH(R9}{

PBK;&Wcg|NX{>QR@W3{K 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 diff --git a/html/fonts/glyphicons-halflings-regular.woff b/html/fonts/glyphicons-halflings-regular.woff index 8c54182aa5d4d1ab3c9171976b615c1dcb1dc187..9e612858f802245ddcbf59788a0db942224bab35 100644 GIT binary patch literal 23424 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 G`u_lkUM?>H literal 23320 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 literal 0 HcmV?d00001 diff --git a/html/js/bootstrap.js b/html/js/bootstrap.js index 8ae571b6d..5debfd7de 100644 --- a/html/js/bootstrap.js +++ b/html/js/bootstrap.js @@ -1,16 +1,26 @@ /*! - * Bootstrap v3.1.1 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license */ -if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + 'use strict'; + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { + throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') + } +}(jQuery); /* ======================================================================== - * Bootstrap: transition.js v3.1.1 + * Bootstrap: transition.js v3.3.5 * http://getbootstrap.com/javascript/#transitions * ======================================================================== - * Copyright 2011-2014 Twitter, Inc. + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ @@ -25,10 +35,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re var el = document.createElement('bootstrap') var transEndEventNames = { - 'WebkitTransition' : 'webkitTransitionEnd', - 'MozTransition' : 'transitionend', - 'OTransition' : 'oTransitionEnd otransitionend', - 'transition' : 'transitionend' + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' } for (var name in transEndEventNames) { @@ -42,8 +52,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // http://blog.alexmaccaw.com/css-transitions $.fn.emulateTransitionEnd = function (duration) { - var called = false, $el = this - $(this).one($.support.transition.end, function () { called = true }) + var called = false + var $el = this + $(this).one('bsTransitionEnd', function () { called = true }) var callback = function () { if (!called) $($el).trigger($.support.transition.end) } setTimeout(callback, duration) return this @@ -51,15 +62,25 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re $(function () { $.support.transition = transitionEnd() + + if (!$.support.transition) return + + $.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { + if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } + } }) }(jQuery); /* ======================================================================== - * Bootstrap: alert.js v3.1.1 + * Bootstrap: alert.js v3.3.5 * http://getbootstrap.com/javascript/#alerts * ======================================================================== - * Copyright 2011-2014 Twitter, Inc. + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ @@ -75,6 +96,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re $(el).on('click', dismiss, this.close) } + Alert.VERSION = '3.3.5' + + Alert.TRANSITION_DURATION = 150 + Alert.prototype.close = function (e) { var $this = $(this) var selector = $this.attr('data-target') @@ -89,7 +114,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re if (e) e.preventDefault() if (!$parent.length) { - $parent = $this.hasClass('alert') ? $this : $this.parent() + $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) @@ -99,13 +124,14 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re $parent.removeClass('in') function removeElement() { - $parent.trigger('closed.bs.alert').remove() + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent - .one($.support.transition.end, removeElement) - .emulateTransitionEnd(150) : + .one('bsTransitionEnd', removeElement) + .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } @@ -113,9 +139,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // ALERT PLUGIN DEFINITION // ======================= - var old = $.fn.alert - - $.fn.alert = function (option) { + function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') @@ -125,6 +149,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re }) } + var old = $.fn.alert + + $.fn.alert = Plugin $.fn.alert.Constructor = Alert @@ -145,10 +172,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re }(jQuery); /* ======================================================================== - * Bootstrap: button.js v3.1.1 + * Bootstrap: button.js v3.3.5 * http://getbootstrap.com/javascript/#buttons * ======================================================================== - * Copyright 2011-2014 Twitter, Inc. + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ @@ -165,6 +192,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re this.isLoading = false } + Button.VERSION = '3.3.5' + Button.DEFAULTS = { loadingText: 'loading...' } @@ -175,14 +204,14 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re var val = $el.is('input') ? 'val' : 'html' var data = $el.data() - state = state + 'Text' + state += 'Text' - if (!data.resetText) $el.data('resetText', $el[val]()) - - $el[val](data[state] || this.options[state]) + if (data.resetText == null) $el.data('resetText', $el[val]()) // push to event loop to allow forms to submit setTimeout($.proxy(function () { + $el[val](data[state] == null ? this.options[state] : data[state]) + if (state == 'loadingText') { this.isLoading = true $el.addClass(d).attr(d, d) @@ -200,22 +229,26 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re if ($parent.length) { var $input = this.$element.find('input') if ($input.prop('type') == 'radio') { - if ($input.prop('checked') && this.$element.hasClass('active')) changed = false - else $parent.find('.active').removeClass('active') + if ($input.prop('checked')) changed = false + $parent.find('.active').removeClass('active') + this.$element.addClass('active') + } else if ($input.prop('type') == 'checkbox') { + if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false + this.$element.toggleClass('active') } - if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') + $input.prop('checked', this.$element.hasClass('active')) + if (changed) $input.trigger('change') + } else { + this.$element.attr('aria-pressed', !this.$element.hasClass('active')) + this.$element.toggleClass('active') } - - if (changed) this.$element.toggleClass('active') } // BUTTON PLUGIN DEFINITION // ======================== - var old = $.fn.button - - $.fn.button = function (option) { + function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.button') @@ -228,6 +261,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re }) } + var old = $.fn.button + + $.fn.button = Plugin $.fn.button.Constructor = Button @@ -243,20 +279,24 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // BUTTON DATA-API // =============== - $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - $btn.button('toggle') - e.preventDefault() - }) + $(document) + .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + Plugin.call($btn, 'toggle') + if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() + }) + .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { + $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) + }) }(jQuery); /* ======================================================================== - * Bootstrap: carousel.js v3.1.1 + * Bootstrap: carousel.js v3.3.5 * http://getbootstrap.com/javascript/#carousel * ======================================================================== - * Copyright 2011-2014 Twitter, Inc. + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ @@ -271,24 +311,42 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') this.options = options - this.paused = - this.sliding = - this.interval = - this.$active = + this.paused = null + this.sliding = null + this.interval = null + this.$active = null this.$items = null - this.options.pause == 'hover' && this.$element - .on('mouseenter', $.proxy(this.pause, this)) - .on('mouseleave', $.proxy(this.cycle, this)) + this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + + this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } + Carousel.VERSION = '3.3.5' + + Carousel.TRANSITION_DURATION = 600 + Carousel.DEFAULTS = { interval: 5000, pause: 'hover', - wrap: true + wrap: true, + keyboard: true } - Carousel.prototype.cycle = function (e) { + Carousel.prototype.keydown = function (e) { + if (/input|textarea/i.test(e.target.tagName)) return + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + + Carousel.prototype.cycle = function (e) { e || (this.paused = false) this.interval && clearInterval(this.interval) @@ -300,23 +358,31 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re return this } - Carousel.prototype.getActiveIndex = function () { - this.$active = this.$element.find('.item.active') - this.$items = this.$active.parent().children() + Carousel.prototype.getItemIndex = function (item) { + this.$items = item.parent().children('.item') + return this.$items.index(item || this.$active) + } - return this.$items.index(this.$active) + Carousel.prototype.getItemForDirection = function (direction, active) { + var activeIndex = this.getItemIndex(active) + var willWrap = (direction == 'prev' && activeIndex === 0) + || (direction == 'next' && activeIndex == (this.$items.length - 1)) + if (willWrap && !this.options.wrap) return active + var delta = direction == 'prev' ? -1 : 1 + var itemIndex = (activeIndex + delta) % this.$items.length + return this.$items.eq(itemIndex) } Carousel.prototype.to = function (pos) { var that = this - var activeIndex = this.getActiveIndex() + var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) if (pos > (this.$items.length - 1) || pos < 0) return - if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) + if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" if (activeIndex == pos) return this.pause().cycle() - return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) } Carousel.prototype.pause = function (e) { @@ -344,22 +410,20 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re Carousel.prototype.slide = function (type, next) { var $active = this.$element.find('.item.active') - var $next = next || $active[type]() + var $next = next || this.getItemForDirection(type, $active) var isCycling = this.interval var direction = type == 'next' ? 'left' : 'right' - var fallback = type == 'next' ? 'first' : 'last' var that = this - if (!$next.length) { - if (!this.options.wrap) return - $next = this.$element.find('.item')[fallback]() - } + if ($next.hasClass('active')) return (this.sliding = false) - if ($next.hasClass('active')) return this.sliding = false - - var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) - this.$element.trigger(e) - if (e.isDefaultPrevented()) return + var relatedTarget = $next[0] + var slideEvent = $.Event('slide.bs.carousel', { + relatedTarget: relatedTarget, + direction: direction + }) + this.$element.trigger(slideEvent) + if (slideEvent.isDefaultPrevented()) return this.sliding = true @@ -367,30 +431,31 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') - this.$element.one('slid.bs.carousel', function () { - var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) - $nextIndicator && $nextIndicator.addClass('active') - }) + var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) + $nextIndicator && $nextIndicator.addClass('active') } + var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" if ($.support.transition && this.$element.hasClass('slide')) { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) $active - .one($.support.transition.end, function () { + .one('bsTransitionEnd', function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) that.sliding = false - setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0) + setTimeout(function () { + that.$element.trigger(slidEvent) + }, 0) }) - .emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000) + .emulateTransitionEnd(Carousel.TRANSITION_DURATION) } else { $active.removeClass('active') $next.addClass('active') this.sliding = false - this.$element.trigger('slid.bs.carousel') + this.$element.trigger(slidEvent) } isCycling && this.cycle() @@ -402,9 +467,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // CAROUSEL PLUGIN DEFINITION // ========================== - var old = $.fn.carousel - - $.fn.carousel = function (option) { + function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.carousel') @@ -418,6 +481,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re }) } + var old = $.fn.carousel + + $.fn.carousel = Plugin $.fn.carousel.Constructor = Carousel @@ -433,36 +499,42 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // CAROUSEL DATA-API // ================= - $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { - var $this = $(this), href - var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + var clickHandler = function (e) { + var href + var $this = $(this) + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + if (!$target.hasClass('carousel')) return var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false - $target.carousel(options) + Plugin.call($target, options) - if (slideIndex = $this.attr('data-slide-to')) { + if (slideIndex) { $target.data('bs.carousel').to(slideIndex) } e.preventDefault() - }) + } + + $(document) + .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) + .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) $(window).on('load', function () { $('[data-ride="carousel"]').each(function () { var $carousel = $(this) - $carousel.carousel($carousel.data()) + Plugin.call($carousel, $carousel.data()) }) }) }(jQuery); /* ======================================================================== - * Bootstrap: collapse.js v3.1.1 + * Bootstrap: collapse.js v3.3.5 * http://getbootstrap.com/javascript/#collapse * ======================================================================== - * Copyright 2011-2014 Twitter, Inc. + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ @@ -476,12 +548,23 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re var Collapse = function (element, options) { this.$element = $(element) this.options = $.extend({}, Collapse.DEFAULTS, options) + this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + + '[data-toggle="collapse"][data-target="#' + element.id + '"]') this.transitioning = null - if (this.options.parent) this.$parent = $(this.options.parent) + if (this.options.parent) { + this.$parent = this.getParent() + } else { + this.addAriaAndCollapsedClass(this.$element, this.$trigger) + } + if (this.options.toggle) this.toggle() } + Collapse.VERSION = '3.3.5' + + Collapse.TRANSITION_DURATION = 350 + Collapse.DEFAULTS = { toggle: true } @@ -494,35 +577,43 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re Collapse.prototype.show = function () { if (this.transitioning || this.$element.hasClass('in')) return + var activesData + var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') + + if (actives && actives.length) { + activesData = actives.data('bs.collapse') + if (activesData && activesData.transitioning) return + } + var startEvent = $.Event('show.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return - var actives = this.$parent && this.$parent.find('> .panel > .in') - if (actives && actives.length) { - var hasData = actives.data('bs.collapse') - if (hasData && hasData.transitioning) return - actives.collapse('hide') - hasData || actives.data('bs.collapse', null) + Plugin.call(actives, 'hide') + activesData || actives.data('bs.collapse', null) } var dimension = this.dimension() this.$element .removeClass('collapse') - .addClass('collapsing') - [dimension](0) + .addClass('collapsing')[dimension](0) + .attr('aria-expanded', true) + + this.$trigger + .removeClass('collapsed') + .attr('aria-expanded', true) this.transitioning = 1 var complete = function () { this.$element .removeClass('collapsing') - .addClass('collapse in') - [dimension]('auto') + .addClass('collapse in')[dimension]('') this.transitioning = 0 - this.$element.trigger('shown.bs.collapse') + this.$element + .trigger('shown.bs.collapse') } if (!$.support.transition) return complete.call(this) @@ -530,9 +621,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re var scrollSize = $.camelCase(['scroll', dimension].join('-')) this.$element - .one($.support.transition.end, $.proxy(complete, this)) - .emulateTransitionEnd(350) - [dimension](this.$element[0][scrollSize]) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) } Collapse.prototype.hide = function () { @@ -544,55 +634,85 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re var dimension = this.dimension() - this.$element - [dimension](this.$element[dimension]()) - [0].offsetHeight + this.$element[dimension](this.$element[dimension]())[0].offsetHeight this.$element .addClass('collapsing') - .removeClass('collapse') - .removeClass('in') + .removeClass('collapse in') + .attr('aria-expanded', false) + + this.$trigger + .addClass('collapsed') + .attr('aria-expanded', false) this.transitioning = 1 var complete = function () { this.transitioning = 0 this.$element - .trigger('hidden.bs.collapse') .removeClass('collapsing') .addClass('collapse') + .trigger('hidden.bs.collapse') } if (!$.support.transition) return complete.call(this) this.$element [dimension](0) - .one($.support.transition.end, $.proxy(complete, this)) - .emulateTransitionEnd(350) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION) } Collapse.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() } + Collapse.prototype.getParent = function () { + return $(this.options.parent) + .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') + .each($.proxy(function (i, element) { + var $element = $(element) + this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) + }, this)) + .end() + } + + Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { + var isOpen = $element.hasClass('in') + + $element.attr('aria-expanded', isOpen) + $trigger + .toggleClass('collapsed', !isOpen) + .attr('aria-expanded', isOpen) + } + + function getTargetFromTrigger($trigger) { + var href + var target = $trigger.attr('data-target') + || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + + return $(target) + } + // COLLAPSE PLUGIN DEFINITION // ========================== - var old = $.fn.collapse - - $.fn.collapse = function (option) { + function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - if (!data && options.toggle && option == 'show') option = !option + if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) } + var old = $.fn.collapse + + $.fn.collapse = Plugin $.fn.collapse.Constructor = Collapse @@ -608,32 +728,25 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // COLLAPSE DATA-API // ================= - $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - var target = $this.attr('data-target') - || e.preventDefault() - || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - var $target = $(target) + $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { + var $this = $(this) + + if (!$this.attr('data-target')) e.preventDefault() + + var $target = getTargetFromTrigger($this) var data = $target.data('bs.collapse') var option = data ? 'toggle' : $this.data() - var parent = $this.attr('data-parent') - var $parent = parent && $(parent) - if (!data || !data.transitioning) { - if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed') - $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed') - } - - $target.collapse(option) + Plugin.call($target, option) }) }(jQuery); /* ======================================================================== - * Bootstrap: dropdown.js v3.1.1 + * Bootstrap: dropdown.js v3.3.5 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== - * Copyright 2011-2014 Twitter, Inc. + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ @@ -645,11 +758,47 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // ========================= var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle=dropdown]' + var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } + Dropdown.VERSION = '3.3.5' + + function getParent($this) { + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = selector && $(selector) + + return $parent && $parent.length ? $parent : $this.parent() + } + + function clearMenus(e) { + if (e && e.which === 3) return + $(backdrop).remove() + $(toggle).each(function () { + var $this = $(this) + var $parent = getParent($this) + var relatedTarget = { relatedTarget: this } + + if (!$parent.hasClass('open')) return + + if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return + + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this.attr('aria-expanded', 'false') + $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) + }) + } + Dropdown.prototype.toggle = function (e) { var $this = $(this) @@ -663,7 +812,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re if (!isActive) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we use a backdrop because click events don't delegate - $('

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 DaT5db literal 0 HcmV?d00001 diff --git a/lib/Font-Awesome/src/assets/img/logo-themeisle.png b/lib/Font-Awesome/src/assets/img/logo-themeisle.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa5fb0c3e7e7e6c0ed8d5eb60c833f5e631317a GIT binary patch literal 5547 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 literal 0 HcmV?d00001 diff --git a/lib/Font-Awesome/src/assets/img/logo-wpbeginner.png b/lib/Font-Awesome/src/assets/img/logo-wpbeginner.png new file mode 100644 index 0000000000000000000000000000000000000000..7a2523f86a31de5fd14a6335018f6ed9b43261b7 GIT binary patch literal 7461 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 0) { + new SearchView({ el: $searchViewElement }); + } +}); diff --git a/lib/Font-Awesome/src/assets/js/site.js b/lib/Font-Awesome/src/assets/js/site.js index adacbdf98..75a7c7158 100644 --- a/lib/Font-Awesome/src/assets/js/site.js +++ b/lib/Font-Awesome/src/assets/js/site.js @@ -1,67 +1,56 @@ -$(function() { +$(function () { + $("#newsletter").validate(); + var ads = [ { quote: "Take your icon game to the next level. Check out Fonticons, from the maker of Font Awesome.", class: "fonticons", - url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_1_next_level&utm_campaign=promo_4.3_update", - btn_text: "Gimme Some!" - }, - { - quote: "Subset your icons, add your own, and serve up from a CDN. Check out Fonticons, from the maker of Font Awesome.", - class: "fonticons", - url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_2_all_value_add&utm_campaign=promo_4.3_update", + url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_1_next_level&utm_campaign=promo_4.4_update", btn_text: "Gimme Some!" }, { quote: "Make your icons load 10x faster! Check out Fonticons, from the maker of Font Awesome.", class: "fonticons", - url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_3_faster_loading&utm_campaign=promo_4.3_update", + url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_3_faster_loading&utm_campaign=promo_4.4_update", btn_text: "Gimme Some!" }, { quote: "Looking for other great icon sets? Check out Fonticons, from the maker of Font Awesome.", class: "fonticons", - url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_4_more_icons&utm_campaign=promo_4.3_update", + url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_4_more_icons&utm_campaign=promo_4.4_update", btn_text: "Gimme Some!" }, { - quote: "Need a custom icon in Font Awesome? Check out Fonticons, from the maker of Font Awesome.", + quote: "Want to add your own icon? Check out Fonticons, from the maker of Font Awesome.", class: "fonticons", - url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_5_custom_icons&utm_campaign=promo_4.3_update", + url: "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_6_your_own_icon&utm_campaign=promo_4.4_update", btn_text: "Gimme Some!" }, - - { - quote: "So hot right now: Black Tie, the new multi-weight icon font from the maker of Font Awesome.", - class: "black-tie", - url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_1_so_hot&utm_campaign=promo_4.3_update", - btn_text: "Buy it Now!" - }, { quote: "Black Tie, from the creator of Font Awesome. On sale at the Kickstarter price for a limited time.", class: "black-tie", - url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_2_kickstarter&utm_campaign=promo_4.3_update", - btn_text: "Buy it Now!" - }, - { - quote: "Get more Awesome: Black Tie, the new multi-weight icon font from the maker of Font Awesome.", - class: "black-tie", - url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_3_more_awesome&utm_campaign=promo_4.3_update", - btn_text: "Buy it Now!" - }, - { - quote: "The new hotness from the maker of Font Awesome: Black Tie, the multi-weight icon font.", - class: "black-tie", - url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_4_new_hotness&utm_campaign=promo_4.3_update", - btn_text: "Buy it Now!" + url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_2_kickstarter&utm_campaign=promo_4.4_update", + btn_text: "Check it Out!" }, { quote: "Want clean, minimalist icons? Check out Black Tie, the new multi-weight icon font from the maker of Font Awesome.", class: "black-tie", - url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_5_clean_minimalist&utm_campaign=promo_4.3_update", - btn_text: "Buy it Now!" + url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_5_clean_minimalist&utm_campaign=promo_4.4_update", + btn_text: "Check it Out!" + }, + { + quote: "Want a different icon look? Check out Black Tie, our new multi-weight icon set.", + class: "black-tie", + url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_6_different_look&utm_campaign=promo_4.4_update", + btn_text: "Check it Out!" + }, + { + quote: "Check out Black Tie, our new multi-weight icon set!", + class: "black-tie", + url: "http://blacktie.io/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=ad_7_our_new_multi_weight&utm_campaign=promo_4.4_update", + btn_text: "Check it Out!" } ]; @@ -72,86 +61,10 @@ $(function() { interval: 5000 }); - var $filter_by = $('#filter-by'); - - // Filter icons - if($filter_by.length) { - var $filter_val = $('#filter-val'); - var $filter = $('#filter'); - var $other = $('#new, #web-application, #transportation, #gender, #form-control, #medical, #currency, #text-editor, #directional, #video-player, #brand, #file-type, #spinner, #payment, #chart'); - var $clear = $('#filter-clear'); - var $no_results = $('#no-search-results'); - - var $icons = $('.filter-icon', $filter); - - // Add tab completion - $filter_by.tabcomplete(filterSet, { - arrowKeys: true - }); - - $clear.on('click', function(e) { - e.preventDefault(); - $filter_by - .val('') - .trigger('input') - .trigger('keyup') - .focus(); - - $clear.addClass('hide'); // Hide clear button - }); - - - $filter_by.on('keyup', function() { - var $this = $(this); - var val = $this.val().toLowerCase(); - $filter.toggle(!!val); - $other.toggle(!val); - $clear.toggleClass('hide', !val); - $filter_val.text(val); - - if(!val) return; - - var resultsCount = 0; - $icons.each(function() { - var filter = $(this).attr('data-filter').split('|'); - var show = inFilter(val, filter); - if (!show) { - if (val.slice(-1) === 's') { - // Try to be smart. Make plural terms singular. - show = inFilter(val.slice(0, -1), filter); - } - } - if (show) resultsCount++; - $(this).toggle(!!show); - }); - - if( resultsCount == 0 && val.length != 0 ) { - $no_results.find('span').text(val); - $no_results.show(); - } else { - $no_results.hide(); - } - }); - } - - function inFilter(val, filter) { - for (var i = 0; i < filter.length; i++) { - if (filter[i].match(val)) return true; - } - return false; - } - - $filter_by - .val('') - .trigger('input') - .trigger('keyup'); - - if ($clear) { - $clear.addClass('hide'); // Hide clear button - } + $('[data-toggle="popover"]').popover(); function selectFonticonsAd() { - random_number = Math.floor( Math.random() * ads.length ); + random_number = Math.floor(Math.random() * ads.length); random_ad = ads[random_number]; $('#banner').addClass(random_ad.class); diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/.csscomb.json b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/.csscomb.json new file mode 100644 index 000000000..40695a478 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/.csscomb.json @@ -0,0 +1,304 @@ +{ + "always-semicolon": true, + "block-indent": 2, + "color-case": "lower", + "color-shorthand": true, + "element-case": "lower", + "eof-newline": true, + "leading-zero": false, + "remove-empty-rulesets": true, + "space-after-colon": 1, + "space-after-combinator": 1, + "space-before-selector-delimiter": 0, + "space-between-declarations": "\n", + "space-after-opening-brace": "\n", + "space-before-closing-brace": "\n", + "space-before-colon": 0, + "space-before-combinator": 1, + "space-before-opening-brace": 1, + "strip-spaces": true, + "unitless-zero": true, + "vendor-prefix-align": true, + "sort-order": [ + [ + "position", + "top", + "right", + "bottom", + "left", + "z-index", + "display", + "float", + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "-webkit-box-sizing", + "-moz-box-sizing", + "box-sizing", + "-webkit-appearance", + "padding", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + "margin", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "overflow", + "overflow-x", + "overflow-y", + "-webkit-overflow-scrolling", + "-ms-overflow-x", + "-ms-overflow-y", + "-ms-overflow-style", + "clip", + "clear", + "font", + "font-family", + "font-size", + "font-style", + "font-weight", + "font-variant", + "font-size-adjust", + "font-stretch", + "font-effect", + "font-emphasize", + "font-emphasize-position", + "font-emphasize-style", + "font-smooth", + "-webkit-hyphens", + "-moz-hyphens", + "hyphens", + "line-height", + "color", + "text-align", + "-webkit-text-align-last", + "-moz-text-align-last", + "-ms-text-align-last", + "text-align-last", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-style", + "text-emphasis-position", + "text-decoration", + "text-indent", + "text-justify", + "text-outline", + "-ms-text-overflow", + "text-overflow", + "text-overflow-ellipsis", + "text-overflow-mode", + "text-shadow", + "text-transform", + "text-wrap", + "-webkit-text-size-adjust", + "-ms-text-size-adjust", + "letter-spacing", + "-ms-word-break", + "word-break", + "word-spacing", + "-ms-word-wrap", + "word-wrap", + "-moz-tab-size", + "-o-tab-size", + "tab-size", + "white-space", + "vertical-align", + "list-style", + "list-style-position", + "list-style-type", + "list-style-image", + "pointer-events", + "-ms-touch-action", + "touch-action", + "cursor", + "visibility", + "zoom", + "flex-direction", + "flex-order", + "flex-pack", + "flex-align", + "table-layout", + "empty-cells", + "caption-side", + "border-spacing", + "border-collapse", + "content", + "quotes", + "counter-reset", + "counter-increment", + "resize", + "-webkit-user-select", + "-moz-user-select", + "-ms-user-select", + "-o-user-select", + "user-select", + "nav-index", + "nav-up", + "nav-right", + "nav-down", + "nav-left", + "background", + "background-color", + "background-image", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader", + "filter", + "background-repeat", + "background-attachment", + "background-position", + "background-position-x", + "background-position-y", + "-webkit-background-clip", + "-moz-background-clip", + "background-clip", + "background-origin", + "-webkit-background-size", + "-moz-background-size", + "-o-background-size", + "background-size", + "border", + "border-color", + "border-style", + "border-width", + "border-top", + "border-top-color", + "border-top-style", + "border-top-width", + "border-right", + "border-right-color", + "border-right-style", + "border-right-width", + "border-bottom", + "border-bottom-color", + "border-bottom-style", + "border-bottom-width", + "border-left", + "border-left-color", + "border-left-style", + "border-left-width", + "border-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius", + "-webkit-border-image", + "-moz-border-image", + "-o-border-image", + "border-image", + "-webkit-border-image-source", + "-moz-border-image-source", + "-o-border-image-source", + "border-image-source", + "-webkit-border-image-slice", + "-moz-border-image-slice", + "-o-border-image-slice", + "border-image-slice", + "-webkit-border-image-width", + "-moz-border-image-width", + "-o-border-image-width", + "border-image-width", + "-webkit-border-image-outset", + "-moz-border-image-outset", + "-o-border-image-outset", + "border-image-outset", + "-webkit-border-image-repeat", + "-moz-border-image-repeat", + "-o-border-image-repeat", + "border-image-repeat", + "outline", + "outline-width", + "outline-style", + "outline-color", + "outline-offset", + "-webkit-box-shadow", + "-moz-box-shadow", + "box-shadow", + "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha", + "opacity", + "-ms-interpolation-mode", + "-webkit-transition", + "-moz-transition", + "-ms-transition", + "-o-transition", + "transition", + "-webkit-transition-delay", + "-moz-transition-delay", + "-ms-transition-delay", + "-o-transition-delay", + "transition-delay", + "-webkit-transition-timing-function", + "-moz-transition-timing-function", + "-ms-transition-timing-function", + "-o-transition-timing-function", + "transition-timing-function", + "-webkit-transition-duration", + "-moz-transition-duration", + "-ms-transition-duration", + "-o-transition-duration", + "transition-duration", + "-webkit-transition-property", + "-moz-transition-property", + "-ms-transition-property", + "-o-transition-property", + "transition-property", + "-webkit-transform", + "-moz-transform", + "-ms-transform", + "-o-transform", + "transform", + "-webkit-transform-origin", + "-moz-transform-origin", + "-ms-transform-origin", + "-o-transform-origin", + "transform-origin", + "-webkit-animation", + "-moz-animation", + "-ms-animation", + "-o-animation", + "animation", + "-webkit-animation-name", + "-moz-animation-name", + "-ms-animation-name", + "-o-animation-name", + "animation-name", + "-webkit-animation-duration", + "-moz-animation-duration", + "-ms-animation-duration", + "-o-animation-duration", + "animation-duration", + "-webkit-animation-play-state", + "-moz-animation-play-state", + "-ms-animation-play-state", + "-o-animation-play-state", + "animation-play-state", + "-webkit-animation-timing-function", + "-moz-animation-timing-function", + "-ms-animation-timing-function", + "-o-animation-timing-function", + "animation-timing-function", + "-webkit-animation-delay", + "-moz-animation-delay", + "-ms-animation-delay", + "-o-animation-delay", + "animation-delay", + "-webkit-animation-iteration-count", + "-moz-animation-iteration-count", + "-ms-animation-iteration-count", + "-o-animation-iteration-count", + "animation-iteration-count", + "-webkit-animation-direction", + "-moz-animation-direction", + "-ms-animation-direction", + "-o-animation-direction", + "animation-direction" + ] + ] +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/.csslintrc b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/.csslintrc new file mode 100644 index 000000000..005b86236 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/.csslintrc @@ -0,0 +1,19 @@ +{ + "adjoining-classes": false, + "box-sizing": false, + "box-model": false, + "compatible-vendor-prefixes": false, + "floats": false, + "font-sizes": false, + "gradients": false, + "important": false, + "known-properties": false, + "outline-none": false, + "qualified-headings": false, + "regex-selectors": false, + "shorthand": false, + "text-indent": false, + "unique-headings": false, + "universal-selector": false, + "unqualified-attributes": false +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/alerts.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/alerts.less new file mode 100644 index 000000000..c4199db92 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/alerts.less @@ -0,0 +1,73 @@ +// +// Alerts +// -------------------------------------------------- + + +// Base styles +// ------------------------- + +.alert { + padding: @alert-padding; + margin-bottom: @line-height-computed; + border: 1px solid transparent; + border-radius: @alert-border-radius; + + // Headings for larger alerts + h4 { + margin-top: 0; + // Specified for the h4 to prevent conflicts of changing @headings-color + color: inherit; + } + + // Provide class for links that match alerts + .alert-link { + font-weight: @alert-link-font-weight; + } + + // Improve alignment and spacing of inner content + > p, + > ul { + margin-bottom: 0; + } + + > p + p { + margin-top: 5px; + } +} + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. +.alert-dismissible { + padding-right: (@alert-padding + 20); + + // Adjust close link position + .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; + } +} + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +.alert-success { + .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); +} + +.alert-info { + .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); +} + +.alert-warning { + .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); +} + +.alert-danger { + .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/badges.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/badges.less new file mode 100644 index 000000000..6ee16dca4 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/badges.less @@ -0,0 +1,66 @@ +// +// Badges +// -------------------------------------------------- + + +// Base class +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: @font-size-small; + font-weight: @badge-font-weight; + color: @badge-color; + line-height: @badge-line-height; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: @badge-bg; + border-radius: @badge-border-radius; + + // Empty badges collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for badges in buttons + .btn & { + position: relative; + top: -1px; + } + + .btn-xs &, + .btn-group-xs > .btn & { + top: 0; + padding: 1px 5px; + } + + // Hover state, but only for links + a& { + &:hover, + &:focus { + color: @badge-link-hover-color; + text-decoration: none; + cursor: pointer; + } + } + + // Account for badges in navs + .list-group-item.active > &, + .nav-pills > .active > a > & { + color: @badge-active-color; + background-color: @badge-active-bg; + } + + .list-group-item > & { + float: right; + } + + .list-group-item > & + & { + margin-right: 5px; + } + + .nav-pills > li > a > & { + margin-left: 3px; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/bootstrap.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/bootstrap.less new file mode 100644 index 000000000..4b9916e6c --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/bootstrap.less @@ -0,0 +1,56 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// Core variables and mixins +@import "variables.less"; +@import "mixins.less"; + +// Reset and dependencies +@import "normalize.less"; +@import "print.less"; +@import "glyphicons.less"; + +// Core CSS +@import "scaffolding.less"; +@import "type.less"; +@import "code.less"; +@import "grid.less"; +@import "tables.less"; +@import "forms.less"; +@import "buttons.less"; + +// Components +@import "component-animations.less"; +@import "dropdowns.less"; +@import "button-groups.less"; +@import "input-groups.less"; +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; +@import "labels.less"; +@import "badges.less"; +@import "jumbotron.less"; +@import "thumbnails.less"; +@import "alerts.less"; +@import "progress-bars.less"; +@import "media.less"; +@import "list-group.less"; +@import "panels.less"; +@import "responsive-embed.less"; +@import "wells.less"; +@import "close.less"; + +// Components w/ JavaScript +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; +@import "carousel.less"; + +// Utility classes +@import "utilities.less"; +@import "responsive-utilities.less"; diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/breadcrumbs.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/breadcrumbs.less new file mode 100644 index 000000000..cb01d503f --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/breadcrumbs.less @@ -0,0 +1,26 @@ +// +// Breadcrumbs +// -------------------------------------------------- + + +.breadcrumb { + padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; + margin-bottom: @line-height-computed; + list-style: none; + background-color: @breadcrumb-bg; + border-radius: @border-radius-base; + + > li { + display: inline-block; + + + li:before { + content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space + padding: 0 5px; + color: @breadcrumb-color; + } + } + + > .active { + color: @breadcrumb-active-color; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/button-groups.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/button-groups.less new file mode 100644 index 000000000..6a0c5a865 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/button-groups.less @@ -0,0 +1,244 @@ +// +// Button groups +// -------------------------------------------------- + +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; // match .btn alignment given font-size hack above + > .btn { + position: relative; + float: left; + // Bring the "active" button to the front + &:hover, + &:focus, + &:active, + &.active { + z-index: 2; + } + } +} + +// Prevent double borders when buttons are next to each other +.btn-group { + .btn + .btn, + .btn + .btn-group, + .btn-group + .btn, + .btn-group + .btn-group { + margin-left: -1px; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-left: -5px; // Offset the first child's margin + &:extend(.clearfix all); + + .btn, + .btn-group, + .input-group { + float: left; + } + > .btn, + > .btn-group, + > .input-group { + margin-left: 5px; + } +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +.btn-group > .btn:first-child { + margin-left: 0; + &:not(:last-child):not(.dropdown-toggle) { + .border-right-radius(0); + } +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + .border-left-radius(0); +} + +// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + .border-right-radius(0); + } +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + .border-left-radius(0); +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-xs > .btn { &:extend(.btn-xs); } +.btn-group-sm > .btn { &:extend(.btn-sm); } +.btn-group-lg > .btn { &:extend(.btn-lg); } + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +// The clickable button for toggling the menu +// Remove the gradient and set the same inset shadow as the :active state +.btn-group.open .dropdown-toggle { + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + .box-shadow(none); + } +} + + +// Reposition the caret +.btn .caret { + margin-left: 0; +} +// Carets in other button sizes +.btn-lg .caret { + border-width: @caret-width-large @caret-width-large 0; + border-bottom-width: 0; +} +// Upside down carets for .dropup +.dropup .btn-lg .caret { + border-width: 0 @caret-width-large @caret-width-large; +} + + +// Vertical button groups +// ---------------------- + +.btn-group-vertical { + > .btn, + > .btn-group, + > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + } + + // Clear floats so dropdown menus can be properly placed + > .btn-group { + &:extend(.clearfix all); + > .btn { + float: none; + } + } + + > .btn + .btn, + > .btn + .btn-group, + > .btn-group + .btn, + > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; + } +} + +.btn-group-vertical > .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:first-child:not(:last-child) { + border-top-right-radius: @btn-border-radius-base; + .border-bottom-radius(0); + } + &:last-child:not(:first-child) { + border-bottom-left-radius: @btn-border-radius-base; + .border-top-radius(0); + } +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + .border-bottom-radius(0); + } +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + .border-top-radius(0); +} + + +// Justified button groups +// ---------------------- + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; + > .btn, + > .btn-group { + float: none; + display: table-cell; + width: 1%; + } + > .btn-group .btn { + width: 100%; + } + + > .btn-group .dropdown-menu { + left: auto; + } +} + + +// Checkbox and radio options +// +// In order to support the browser's form validation feedback, powered by the +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. +// This way, we ensure a DOM element is visible to position the popover from. +// +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. + +[data-toggle="buttons"] { + > .btn, + > .btn-group > .btn { + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none; + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/buttons.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/buttons.less new file mode 100644 index 000000000..9cbb8f416 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/buttons.less @@ -0,0 +1,166 @@ +// +// Buttons +// -------------------------------------------------- + + +// Base styles +// -------------------------------------------------- + +.btn { + display: inline-block; + margin-bottom: 0; // For input.btn + font-weight: @btn-font-weight; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + white-space: nowrap; + .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base); + .user-select(none); + + &, + &:active, + &.active { + &:focus, + &.focus { + .tab-focus(); + } + } + + &:hover, + &:focus, + &.focus { + color: @btn-default-color; + text-decoration: none; + } + + &:active, + &.active { + outline: 0; + background-image: none; + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + cursor: @cursor-disabled; + .opacity(.65); + .box-shadow(none); + } + + a& { + &.disabled, + fieldset[disabled] & { + pointer-events: none; // Future-proof disabling of clicks on `` elements + } + } +} + + +// Alternate buttons +// -------------------------------------------------- + +.btn-default { + .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); +} +.btn-primary { + .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); +} +// Success appears as green +.btn-success { + .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); +} +// Info appears as blue-green +.btn-info { + .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); +} +// Warning appears as orange +.btn-warning { + .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); +} +// Danger and error appear as red +.btn-danger { + .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); +} + + +// Link buttons +// ------------------------- + +// Make a button look and behave like a link +.btn-link { + color: @link-color; + font-weight: normal; + border-radius: 0; + + &, + &:active, + &.active, + &[disabled], + fieldset[disabled] & { + background-color: transparent; + .box-shadow(none); + } + &, + &:hover, + &:focus, + &:active { + border-color: transparent; + } + &:hover, + &:focus { + color: @link-hover-color; + text-decoration: @link-hover-decoration; + background-color: transparent; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @btn-link-disabled-color; + text-decoration: none; + } + } +} + + +// Button Sizes +// -------------------------------------------------- + +.btn-lg { + // line-height: ensure even-numbered height of button next to large input + .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large); +} +.btn-sm { + // line-height: ensure proper height of button next to small input + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); +} +.btn-xs { + .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); +} + + +// Block button +// -------------------------------------------------- + +.btn-block { + display: block; + width: 100%; +} + +// Vertically space out multiple block buttons +.btn-block + .btn-block { + margin-top: 5px; +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/carousel.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/carousel.less new file mode 100644 index 000000000..87ed6961d --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/carousel.less @@ -0,0 +1,269 @@ +// +// Carousel +// -------------------------------------------------- + + +// Wrapper for the slide container and indicators +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; + + > .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + + // Account for jankitude on images + > img, + > a > img { + &:extend(.img-responsive); + line-height: 1; + } + + // WebKit CSS3 transforms for supported devices + @media all and (transform-3d), (-webkit-transform-3d) { + .transition-transform(~'0.6s ease-in-out'); + .backface-visibility(~'hidden'); + .perspective(1000px); + + &.next, + &.active.right { + .translate3d(100%, 0, 0); + left: 0; + } + &.prev, + &.active.left { + .translate3d(-100%, 0, 0); + left: 0; + } + &.next.left, + &.prev.right, + &.active { + .translate3d(0, 0, 0); + left: 0; + } + } + } + + > .active, + > .next, + > .prev { + display: block; + } + + > .active { + left: 0; + } + + > .next, + > .prev { + position: absolute; + top: 0; + width: 100%; + } + + > .next { + left: 100%; + } + > .prev { + left: -100%; + } + > .next.left, + > .prev.right { + left: 0; + } + + > .active.left { + left: -100%; + } + > .active.right { + left: 100%; + } + +} + +// Left/right controls for nav +// --------------------------- + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: @carousel-control-width; + .opacity(@carousel-control-opacity); + font-size: @carousel-control-font-size; + color: @carousel-control-color; + text-align: center; + text-shadow: @carousel-text-shadow; + // We can't have this transition here because WebKit cancels the carousel + // animation if you trip this while in the middle of another animation. + + // Set gradients for backgrounds + &.left { + #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001)); + } + &.right { + left: auto; + right: 0; + #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5)); + } + + // Hover/focus state + &:hover, + &:focus { + outline: 0; + color: @carousel-control-color; + text-decoration: none; + .opacity(.9); + } + + // Toggles + .icon-prev, + .icon-next, + .glyphicon-chevron-left, + .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; + } + .icon-prev, + .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; + } + .icon-next, + .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; + } + .icon-prev, + .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; + } + + + .icon-prev { + &:before { + content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) + } + } + .icon-next { + &:before { + content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) + } + } +} + +// Optional indicator pips +// +// Add an unordered list with the following class and add a list item for each +// slide your carousel holds. + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; + + li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid @carousel-indicator-border-color; + border-radius: 10px; + cursor: pointer; + + // IE8-9 hack for event handling + // + // Internet Explorer 8-9 does not support clicks on elements without a set + // `background-color`. We cannot use `filter` since that's not viewed as a + // background color by the browser. Thus, a hack is needed. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer + // + // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we + // set alpha transparency for the best results possible. + background-color: #000 \9; // IE8 + background-color: rgba(0,0,0,0); // IE9 + } + .active { + margin: 0; + width: 12px; + height: 12px; + background-color: @carousel-indicator-active-bg; + } +} + +// Optional captions +// ----------------------------- +// Hidden by default for smaller viewports +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: @carousel-caption-color; + text-align: center; + text-shadow: @carousel-text-shadow; + & .btn { + text-shadow: none; // No shadow for button elements in carousel-caption + } +} + + +// Scale up controls for tablets and up +@media screen and (min-width: @screen-sm-min) { + + // Scale up the controls a smidge + .carousel-control { + .glyphicon-chevron-left, + .glyphicon-chevron-right, + .icon-prev, + .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .glyphicon-chevron-left, + .icon-prev { + margin-left: -15px; + } + .glyphicon-chevron-right, + .icon-next { + margin-right: -15px; + } + } + + // Show and left align the captions + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + + // Move up the indicators + .carousel-indicators { + bottom: 20px; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/close.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/close.less new file mode 100644 index 000000000..6d5bfe087 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/close.less @@ -0,0 +1,34 @@ +// +// Close icons +// -------------------------------------------------- + + +.close { + float: right; + font-size: (@font-size-base * 1.5); + font-weight: @close-font-weight; + line-height: 1; + color: @close-color; + text-shadow: @close-text-shadow; + .opacity(.2); + + &:hover, + &:focus { + color: @close-color; + text-decoration: none; + cursor: pointer; + .opacity(.5); + } + + // Additional properties for button version + // iOS requires the button element instead of an anchor tag. + // If you want the anchor version, it requires `href="#"`. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + button& { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/code.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/code.less new file mode 100644 index 000000000..a08b4d48c --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/code.less @@ -0,0 +1,69 @@ +// +// Code (inline and block) +// -------------------------------------------------- + + +// Inline and block code styles +code, +kbd, +pre, +samp { + font-family: @font-family-monospace; +} + +// Inline code +code { + padding: 2px 4px; + font-size: 90%; + color: @code-color; + background-color: @code-bg; + border-radius: @border-radius-base; +} + +// User input typically entered via keyboard +kbd { + padding: 2px 4px; + font-size: 90%; + color: @kbd-color; + background-color: @kbd-bg; + border-radius: @border-radius-small; + box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); + + kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; + } +} + +// Blocks of code +pre { + display: block; + padding: ((@line-height-computed - 1) / 2); + margin: 0 0 (@line-height-computed / 2); + font-size: (@font-size-base - 1); // 14px to 13px + line-height: @line-height-base; + word-break: break-all; + word-wrap: break-word; + color: @pre-color; + background-color: @pre-bg; + border: 1px solid @pre-border-color; + border-radius: @border-radius-base; + + // Account for some code outputs that place code tags in pre tags + code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; + } +} + +// Enable scrollable blocks of code +.pre-scrollable { + max-height: @pre-scrollable-max-height; + overflow-y: scroll; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/component-animations.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/component-animations.less new file mode 100644 index 000000000..0bcee910a --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/component-animations.less @@ -0,0 +1,33 @@ +// +// Component animations +// -------------------------------------------------- + +// Heads up! +// +// We don't use the `.opacity()` mixin here since it causes a bug with text +// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. + +.fade { + opacity: 0; + .transition(opacity .15s linear); + &.in { + opacity: 1; + } +} + +.collapse { + display: none; + + &.in { display: block; } + tr&.in { display: table-row; } + tbody&.in { display: table-row-group; } +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + .transition-property(~"height, visibility"); + .transition-duration(.35s); + .transition-timing-function(ease); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/dropdowns.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/dropdowns.less new file mode 100644 index 000000000..f6876c1a9 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/dropdowns.less @@ -0,0 +1,216 @@ +// +// Dropdown menus +// -------------------------------------------------- + + +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: @caret-width-base dashed; + border-top: @caret-width-base solid ~"\9"; // IE8 + border-right: @caret-width-base solid transparent; + border-left: @caret-width-base solid transparent; +} + +// The dropdown wrapper (div) +.dropup, +.dropdown { + position: relative; +} + +// Prevent the focus on the dropdown toggle when closing dropdowns +.dropdown-toggle:focus { + outline: 0; +} + +// The dropdown menu (ul) +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; // override default ul + list-style: none; + font-size: @font-size-base; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + background-color: @dropdown-bg; + border: 1px solid @dropdown-fallback-border; // IE8 fallback + border: 1px solid @dropdown-border; + border-radius: @border-radius-base; + .box-shadow(0 6px 12px rgba(0,0,0,.175)); + background-clip: padding-box; + + // Aligns the dropdown menu to right + // + // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + .nav-divider(@dropdown-divider-bg); + } + + // Links within the dropdown menu + > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: @line-height-base; + color: @dropdown-link-color; + white-space: nowrap; // prevent links from randomly breaking onto new lines + } +} + +// Hover/Focus state +.dropdown-menu > li > a { + &:hover, + &:focus { + text-decoration: none; + color: @dropdown-link-hover-color; + background-color: @dropdown-link-hover-bg; + } +} + +// Active state +.dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: @dropdown-link-active-color; + text-decoration: none; + outline: 0; + background-color: @dropdown-link-active-bg; + } +} + +// Disabled state +// +// Gray out text and ensure the hover/focus state remains gray + +.dropdown-menu > .disabled > a { + &, + &:hover, + &:focus { + color: @dropdown-link-disabled-color; + } + + // Nuke hover/focus effects + &:hover, + &:focus { + text-decoration: none; + background-color: transparent; + background-image: none; // Remove CSS gradient + .reset-filter(); + cursor: @cursor-disabled; + } +} + +// Open state for the dropdown +.open { + // Show the menu + > .dropdown-menu { + display: block; + } + + // Remove the outline when :focus is triggered + > a { + outline: 0; + } +} + +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + left: auto; // Reset the default from `.dropdown-menu` + right: 0; +} +// With v3, we enabled auto-flipping if you have a dropdown within a right +// aligned nav component. To enable the undoing of that, we provide an override +// to restore the default dropdown menu alignment. +// +// This is only for left-aligning a dropdown menu within a `.navbar-right` or +// `.pull-right` nav component. +.dropdown-menu-left { + left: 0; + right: auto; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: @font-size-small; + line-height: @line-height-base; + color: @dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Backdrop to catch body clicks on mobile, etc. +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: (@zindex-dropdown - 10); +} + +// Right aligned dropdowns +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// +// Just add .dropup after the standard .dropdown class and you're set, bro. +// TODO: abstract this so that the navbar fixed styles are not placed here? + +.dropup, +.navbar-fixed-bottom .dropdown { + // Reverse the caret + .caret { + border-top: 0; + border-bottom: @caret-width-base dashed; + border-bottom: @caret-width-base solid ~"\9"; // IE8 + content: ""; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; + } +} + + +// Component alignment +// +// Reiterate per navbar.less and the modified component alignment there. + +@media (min-width: @grid-float-breakpoint) { + .navbar-right { + .dropdown-menu { + .dropdown-menu-right(); + } + // Necessary for overrides of the default right aligned menu. + // Will remove come v4 in all likelihood. + .dropdown-menu-left { + .dropdown-menu-left(); + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/forms.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/forms.less new file mode 100644 index 000000000..910c1e13b --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/forms.less @@ -0,0 +1,613 @@ +// +// Forms +// -------------------------------------------------- + + +// Normalize non-controls +// +// Restyle and baseline non-control form elements. + +fieldset { + padding: 0; + margin: 0; + border: 0; + // Chrome and Firefox set a `min-width: min-content;` on fieldsets, + // so we reset that to ensure it behaves more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359. + min-width: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: @line-height-computed; + font-size: (@font-size-base * 1.5); + line-height: inherit; + color: @legend-color; + border: 0; + border-bottom: 1px solid @legend-border-color; +} + +label { + display: inline-block; + max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) + margin-bottom: 5px; + font-weight: bold; +} + + +// Normalize form controls +// +// While most of our form styles require extra classes, some basic normalization +// is required to ensure optimum display with or without those classes to better +// address browser inconsistencies. + +// Override content-box in Normalize (* isn't specific enough) +input[type="search"] { + .box-sizing(border-box); +} + +// Position radios and checkboxes better +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; // IE8-9 + line-height: normal; +} + +input[type="file"] { + display: block; +} + +// Make range inputs behave like textual form controls +input[type="range"] { + display: block; + width: 100%; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Focus for file, radio, and checkbox +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + .tab-focus(); +} + +// Adjust output element +output { + display: block; + padding-top: (@padding-base-vertical + 1); + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; +} + + +// Common form controls +// +// Shared size and type resets for form controls. Apply `.form-control` to any +// of the following form controls: +// +// 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"] + +.form-control { + display: block; + width: 100%; + height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) + padding: @padding-base-vertical @padding-base-horizontal; + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; + background-color: @input-bg; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid @input-border; + border-radius: @input-border-radius; // Note: This has no effect on s in CSS. + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); + + // Customize the `:focus` state to imitate native WebKit styles. + .form-control-focus(); + + // Placeholder + .placeholder(); + + // Unstyle the caret on `` +// element gets special love because it's special, and that's a fact! +.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { + height: @input-height; + padding: @padding-vertical @padding-horizontal; + font-size: @font-size; + line-height: @line-height; + border-radius: @border-radius; + + select& { + height: @input-height; + line-height: @input-height; + } + + textarea&, + select[multiple]& { + height: auto; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/gradients.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/gradients.less new file mode 100644 index 000000000..0b88a89cc --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/gradients.less @@ -0,0 +1,59 @@ +// Gradients + +#gradient { + + // Horizontal gradient, from left to right + // + // Creates two color stops, start and end, by specifying a color and position for each color stop. + // Color stops are not available in IE9 and below. + .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { + background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+ + background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12 + background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down + } + + // Vertical gradient, from top to bottom + // + // Creates two color stops, start and end, by specifying a color and position for each color stop. + // Color stops are not available in IE9 and below. + .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { + background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+ + background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12 + background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down + } + + .directional(@start-color: #555; @end-color: #333; @deg: 45deg) { + background-repeat: repeat-x; + background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+ + background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12 + background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + } + .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { + background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); + background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); + background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback + } + .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { + background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback + } + .radial(@inner-color: #555; @outer-color: #333) { + background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color); + background-image: radial-gradient(circle, @inner-color, @outer-color); + background-repeat: no-repeat; + } + .striped(@color: rgba(255,255,255,.15); @angle: 45deg) { + background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/grid-framework.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/grid-framework.less new file mode 100644 index 000000000..8c23eed24 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/grid-framework.less @@ -0,0 +1,91 @@ +// Framework grid generation +// +// Used only by Bootstrap to generate the correct number of grid classes given +// any value of `@grid-columns`. + +.make-grid-columns() { + // Common styles for all sizes of grid columns, widths 1-12 + .col(@index) { // initial + @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; + .col((@index + 1), @item); + } + .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo + @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; + .col((@index + 1), ~"@{list}, @{item}"); + } + .col(@index, @list) when (@index > @grid-columns) { // terminal + @{list} { + position: relative; + // Prevent columns from collapsing when empty + min-height: 1px; + // Inner gutter via padding + padding-left: ceil((@grid-gutter-width / 2)); + padding-right: floor((@grid-gutter-width / 2)); + } + } + .col(1); // kickstart it +} + +.float-grid-columns(@class) { + .col(@index) { // initial + @item: ~".col-@{class}-@{index}"; + .col((@index + 1), @item); + } + .col(@index, @list) when (@index =< @grid-columns) { // general + @item: ~".col-@{class}-@{index}"; + .col((@index + 1), ~"@{list}, @{item}"); + } + .col(@index, @list) when (@index > @grid-columns) { // terminal + @{list} { + float: left; + } + } + .col(1); // kickstart it +} + +.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { + .col-@{class}-@{index} { + width: percentage((@index / @grid-columns)); + } +} +.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) { + .col-@{class}-push-@{index} { + left: percentage((@index / @grid-columns)); + } +} +.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) { + .col-@{class}-push-0 { + left: auto; + } +} +.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) { + .col-@{class}-pull-@{index} { + right: percentage((@index / @grid-columns)); + } +} +.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) { + .col-@{class}-pull-0 { + right: auto; + } +} +.calc-grid-column(@index, @class, @type) when (@type = offset) { + .col-@{class}-offset-@{index} { + margin-left: percentage((@index / @grid-columns)); + } +} + +// Basic looping in LESS +.loop-grid-columns(@index, @class, @type) when (@index >= 0) { + .calc-grid-column(@index, @class, @type); + // next iteration + .loop-grid-columns((@index - 1), @class, @type); +} + +// Create grid for specific class +.make-grid(@class) { + .float-grid-columns(@class); + .loop-grid-columns(@grid-columns, @class, width); + .loop-grid-columns(@grid-columns, @class, pull); + .loop-grid-columns(@grid-columns, @class, push); + .loop-grid-columns(@grid-columns, @class, offset); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/grid.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/grid.less new file mode 100644 index 000000000..f144c15f4 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/grid.less @@ -0,0 +1,122 @@ +// Grid system +// +// Generate semantic grid columns with these mixins. + +// Centered container element +.container-fixed(@gutter: @grid-gutter-width) { + margin-right: auto; + margin-left: auto; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + &:extend(.clearfix all); +} + +// Creates a wrapper for a series of columns +.make-row(@gutter: @grid-gutter-width) { + margin-left: ceil((@gutter / -2)); + margin-right: floor((@gutter / -2)); + &:extend(.clearfix all); +} + +// Generate the extra small columns +.make-xs-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + float: left; + width: percentage((@columns / @grid-columns)); + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); +} +.make-xs-column-offset(@columns) { + margin-left: percentage((@columns / @grid-columns)); +} +.make-xs-column-push(@columns) { + left: percentage((@columns / @grid-columns)); +} +.make-xs-column-pull(@columns) { + right: percentage((@columns / @grid-columns)); +} + +// Generate the small columns +.make-sm-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-sm-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-offset(@columns) { + @media (min-width: @screen-sm-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-push(@columns) { + @media (min-width: @screen-sm-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-pull(@columns) { + @media (min-width: @screen-sm-min) { + right: percentage((@columns / @grid-columns)); + } +} + +// Generate the medium columns +.make-md-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-md-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-md-column-offset(@columns) { + @media (min-width: @screen-md-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-push(@columns) { + @media (min-width: @screen-md-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-pull(@columns) { + @media (min-width: @screen-md-min) { + right: percentage((@columns / @grid-columns)); + } +} + +// Generate the large columns +.make-lg-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-lg-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-offset(@columns) { + @media (min-width: @screen-lg-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-push(@columns) { + @media (min-width: @screen-lg-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-pull(@columns) { + @media (min-width: @screen-lg-min) { + right: percentage((@columns / @grid-columns)); + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/hide-text.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/hide-text.less new file mode 100644 index 000000000..bc7011850 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/hide-text.less @@ -0,0 +1,21 @@ +// CSS image replacement +// +// Heads up! v3 launched with only `.hide-text()`, but per our pattern for +// mixins being reused as classes with the same name, this doesn't hold up. As +// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. +// +// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 + +// Deprecated as of v3.0.1 (will be removed in v4) +.hide-text() { + font: ~"0/0" a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +// New mixin to use as of v3.0.1 +.text-hide() { + .hide-text(); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/image.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/image.less new file mode 100644 index 000000000..f233cb3e1 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/image.less @@ -0,0 +1,33 @@ +// Image Mixins +// - Responsive image +// - Retina image + + +// Responsive image +// +// Keep images from scaling beyond the width of their parents. +.img-responsive(@display: block) { + display: @display; + max-width: 100%; // Part 1: Set a maximum relative to the parent + height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching +} + + +// Retina image +// +// Short retina mixin for setting background-image and -size. Note that the +// spelling of `min--moz-device-pixel-ratio` is intentional. +.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { + background-image: url("@{file-1x}"); + + @media + only screen and (-webkit-min-device-pixel-ratio: 2), + only screen and ( min--moz-device-pixel-ratio: 2), + only screen and ( -o-min-device-pixel-ratio: 2/1), + only screen and ( min-device-pixel-ratio: 2), + only screen and ( min-resolution: 192dpi), + only screen and ( min-resolution: 2dppx) { + background-image: url("@{file-2x}"); + background-size: @width-1x @height-1x; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/labels.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/labels.less new file mode 100644 index 000000000..9f7a67ee3 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/labels.less @@ -0,0 +1,12 @@ +// Labels + +.label-variant(@color) { + background-color: @color; + + &[href] { + &:hover, + &:focus { + background-color: darken(@color, 10%); + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/list-group.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/list-group.less new file mode 100644 index 000000000..03aa19069 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/list-group.less @@ -0,0 +1,30 @@ +// List Groups + +.list-group-item-variant(@state; @background; @color) { + .list-group-item-@{state} { + color: @color; + background-color: @background; + + a&, + button& { + color: @color; + + .list-group-item-heading { + color: inherit; + } + + &:hover, + &:focus { + color: @color; + background-color: darken(@background, 5%); + } + &.active, + &.active:hover, + &.active:focus { + color: #fff; + background-color: @color; + border-color: @color; + } + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/nav-divider.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/nav-divider.less new file mode 100644 index 000000000..feb1e9ed0 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/nav-divider.less @@ -0,0 +1,10 @@ +// Horizontal dividers +// +// Dividers (basically an hr) within dropdowns and nav lists + +.nav-divider(@color: #e5e5e5) { + height: 1px; + margin: ((@line-height-computed / 2) - 1) 0; + overflow: hidden; + background-color: @color; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/nav-vertical-align.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/nav-vertical-align.less new file mode 100644 index 000000000..d458c7861 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/nav-vertical-align.less @@ -0,0 +1,9 @@ +// Navbar vertical align +// +// Vertically center elements in the navbar. +// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. + +.navbar-vertical-align(@element-height) { + margin-top: ((@navbar-height - @element-height) / 2); + margin-bottom: ((@navbar-height - @element-height) / 2); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/opacity.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/opacity.less new file mode 100644 index 000000000..33ed25ce6 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/opacity.less @@ -0,0 +1,8 @@ +// Opacity + +.opacity(@opacity) { + opacity: @opacity; + // IE8 filter + @opacity-ie: (@opacity * 100); + filter: ~"alpha(opacity=@{opacity-ie})"; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/pagination.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/pagination.less new file mode 100644 index 000000000..618804f2d --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/pagination.less @@ -0,0 +1,24 @@ +// Pagination + +.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { + > li { + > a, + > span { + padding: @padding-vertical @padding-horizontal; + font-size: @font-size; + line-height: @line-height; + } + &:first-child { + > a, + > span { + .border-left-radius(@border-radius); + } + } + &:last-child { + > a, + > span { + .border-right-radius(@border-radius); + } + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/panels.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/panels.less new file mode 100644 index 000000000..49ee10d4a --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/panels.less @@ -0,0 +1,24 @@ +// Panels + +.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { + border-color: @border; + + & > .panel-heading { + color: @heading-text-color; + background-color: @heading-bg-color; + border-color: @heading-border; + + + .panel-collapse > .panel-body { + border-top-color: @border; + } + .badge { + color: @heading-bg-color; + background-color: @heading-text-color; + } + } + & > .panel-footer { + + .panel-collapse > .panel-body { + border-bottom-color: @border; + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/progress-bar.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/progress-bar.less new file mode 100644 index 000000000..f07996a34 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/progress-bar.less @@ -0,0 +1,10 @@ +// Progress bars + +.progress-bar-variant(@color) { + background-color: @color; + + // Deprecated parent class requirement as of v3.2.0 + .progress-striped & { + #gradient > .striped(); + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/reset-filter.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/reset-filter.less new file mode 100644 index 000000000..68cdb5e18 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/reset-filter.less @@ -0,0 +1,8 @@ +// Reset filters for IE +// +// When you need to remove a gradient background, do not forget to use this to reset +// the IE filter for IE9 and below. + +.reset-filter() { + filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/reset-text.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/reset-text.less new file mode 100644 index 000000000..58dd4d19b --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/reset-text.less @@ -0,0 +1,18 @@ +.reset-text() { + font-family: @font-family-base; + // We deliberately do NOT reset font-size. + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: @line-height-base; + text-align: left; // Fallback for where `start` is not supported + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/resize.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/resize.less new file mode 100644 index 000000000..3acd3afdb --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/resize.less @@ -0,0 +1,6 @@ +// Resize anything + +.resizable(@direction) { + resize: @direction; // Options: horizontal, vertical, both + overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/responsive-visibility.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/responsive-visibility.less new file mode 100644 index 000000000..ecf1e979f --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/responsive-visibility.less @@ -0,0 +1,15 @@ +// Responsive utilities + +// +// More easily include all the states for responsive-utilities.less. +.responsive-visibility() { + display: block !important; + table& { display: table !important; } + tr& { display: table-row !important; } + th&, + td& { display: table-cell !important; } +} + +.responsive-invisibility() { + display: none !important; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/size.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/size.less new file mode 100644 index 000000000..a8be65089 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/size.less @@ -0,0 +1,10 @@ +// Sizing shortcuts + +.size(@width; @height) { + width: @width; + height: @height; +} + +.square(@size) { + .size(@size; @size); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/tab-focus.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/tab-focus.less new file mode 100644 index 000000000..1f1f05ab0 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/tab-focus.less @@ -0,0 +1,9 @@ +// WebKit-style focus + +.tab-focus() { + // Default + outline: thin dotted; + // WebKit + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/table-row.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/table-row.less new file mode 100644 index 000000000..0f287f1a8 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/table-row.less @@ -0,0 +1,28 @@ +// Tables + +.table-row-variant(@state; @background) { + // Exact selectors below required to override `.table-striped` and prevent + // inheritance to nested tables. + .table > thead > tr, + .table > tbody > tr, + .table > tfoot > tr { + > td.@{state}, + > th.@{state}, + &.@{state} > td, + &.@{state} > th { + background-color: @background; + } + } + + // Hover states for `.table-hover` + // Note: this is not available for cells or rows within `thead` or `tfoot`. + .table-hover > tbody > tr { + > td.@{state}:hover, + > th.@{state}:hover, + &.@{state}:hover > td, + &:hover > .@{state}, + &.@{state}:hover > th { + background-color: darken(@background, 5%); + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/text-emphasis.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/text-emphasis.less new file mode 100644 index 000000000..9e8a77a69 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/text-emphasis.less @@ -0,0 +1,9 @@ +// Typography + +.text-emphasis-variant(@color) { + color: @color; + a&:hover, + a&:focus { + color: darken(@color, 10%); + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/text-overflow.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/text-overflow.less new file mode 100644 index 000000000..c11ad2fb7 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/text-overflow.less @@ -0,0 +1,8 @@ +// Text overflow +// Requires inline-block or block for proper styling + +.text-overflow() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/vendor-prefixes.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/vendor-prefixes.less new file mode 100644 index 000000000..afd3331c3 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/mixins/vendor-prefixes.less @@ -0,0 +1,227 @@ +// Vendor Prefixes +// +// All vendor mixins are deprecated as of v3.2.0 due to the introduction of +// Autoprefixer in our Gruntfile. They will be removed in v4. + +// - Animations +// - Backface visibility +// - Box shadow +// - Box sizing +// - Content columns +// - Hyphens +// - Placeholder text +// - Transformations +// - Transitions +// - User Select + + +// Animations +.animation(@animation) { + -webkit-animation: @animation; + -o-animation: @animation; + animation: @animation; +} +.animation-name(@name) { + -webkit-animation-name: @name; + animation-name: @name; +} +.animation-duration(@duration) { + -webkit-animation-duration: @duration; + animation-duration: @duration; +} +.animation-timing-function(@timing-function) { + -webkit-animation-timing-function: @timing-function; + animation-timing-function: @timing-function; +} +.animation-delay(@delay) { + -webkit-animation-delay: @delay; + animation-delay: @delay; +} +.animation-iteration-count(@iteration-count) { + -webkit-animation-iteration-count: @iteration-count; + animation-iteration-count: @iteration-count; +} +.animation-direction(@direction) { + -webkit-animation-direction: @direction; + animation-direction: @direction; +} +.animation-fill-mode(@fill-mode) { + -webkit-animation-fill-mode: @fill-mode; + animation-fill-mode: @fill-mode; +} + +// Backface visibility +// Prevent browsers from flickering when using CSS 3D transforms. +// Default value is `visible`, but can be changed to `hidden` + +.backface-visibility(@visibility){ + -webkit-backface-visibility: @visibility; + -moz-backface-visibility: @visibility; + backface-visibility: @visibility; +} + +// Drop shadows +// +// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's +// supported browsers that have box shadow capabilities now support it. + +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1 + box-shadow: @shadow; +} + +// Box sizing +.box-sizing(@boxmodel) { + -webkit-box-sizing: @boxmodel; + -moz-box-sizing: @boxmodel; + box-sizing: @boxmodel; +} + +// CSS3 Content Columns +.content-columns(@column-count; @column-gap: @grid-gutter-width) { + -webkit-column-count: @column-count; + -moz-column-count: @column-count; + column-count: @column-count; + -webkit-column-gap: @column-gap; + -moz-column-gap: @column-gap; + column-gap: @column-gap; +} + +// Optional hyphenation +.hyphens(@mode: auto) { + word-wrap: break-word; + -webkit-hyphens: @mode; + -moz-hyphens: @mode; + -ms-hyphens: @mode; // IE10+ + -o-hyphens: @mode; + hyphens: @mode; +} + +// Placeholder text +.placeholder(@color: @input-color-placeholder) { + // Firefox + &::-moz-placeholder { + color: @color; + opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526 + } + &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+ + &::-webkit-input-placeholder { color: @color; } // Safari and Chrome +} + +// Transformations +.scale(@ratio) { + -webkit-transform: scale(@ratio); + -ms-transform: scale(@ratio); // IE9 only + -o-transform: scale(@ratio); + transform: scale(@ratio); +} +.scale(@ratioX; @ratioY) { + -webkit-transform: scale(@ratioX, @ratioY); + -ms-transform: scale(@ratioX, @ratioY); // IE9 only + -o-transform: scale(@ratioX, @ratioY); + transform: scale(@ratioX, @ratioY); +} +.scaleX(@ratio) { + -webkit-transform: scaleX(@ratio); + -ms-transform: scaleX(@ratio); // IE9 only + -o-transform: scaleX(@ratio); + transform: scaleX(@ratio); +} +.scaleY(@ratio) { + -webkit-transform: scaleY(@ratio); + -ms-transform: scaleY(@ratio); // IE9 only + -o-transform: scaleY(@ratio); + transform: scaleY(@ratio); +} +.skew(@x; @y) { + -webkit-transform: skewX(@x) skewY(@y); + -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ + -o-transform: skewX(@x) skewY(@y); + transform: skewX(@x) skewY(@y); +} +.translate(@x; @y) { + -webkit-transform: translate(@x, @y); + -ms-transform: translate(@x, @y); // IE9 only + -o-transform: translate(@x, @y); + transform: translate(@x, @y); +} +.translate3d(@x; @y; @z) { + -webkit-transform: translate3d(@x, @y, @z); + transform: translate3d(@x, @y, @z); +} +.rotate(@degrees) { + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); // IE9 only + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} +.rotateX(@degrees) { + -webkit-transform: rotateX(@degrees); + -ms-transform: rotateX(@degrees); // IE9 only + -o-transform: rotateX(@degrees); + transform: rotateX(@degrees); +} +.rotateY(@degrees) { + -webkit-transform: rotateY(@degrees); + -ms-transform: rotateY(@degrees); // IE9 only + -o-transform: rotateY(@degrees); + transform: rotateY(@degrees); +} +.perspective(@perspective) { + -webkit-perspective: @perspective; + -moz-perspective: @perspective; + perspective: @perspective; +} +.perspective-origin(@perspective) { + -webkit-perspective-origin: @perspective; + -moz-perspective-origin: @perspective; + perspective-origin: @perspective; +} +.transform-origin(@origin) { + -webkit-transform-origin: @origin; + -moz-transform-origin: @origin; + -ms-transform-origin: @origin; // IE9 only + transform-origin: @origin; +} + + +// Transitions + +.transition(@transition) { + -webkit-transition: @transition; + -o-transition: @transition; + transition: @transition; +} +.transition-property(@transition-property) { + -webkit-transition-property: @transition-property; + transition-property: @transition-property; +} +.transition-delay(@transition-delay) { + -webkit-transition-delay: @transition-delay; + transition-delay: @transition-delay; +} +.transition-duration(@transition-duration) { + -webkit-transition-duration: @transition-duration; + transition-duration: @transition-duration; +} +.transition-timing-function(@timing-function) { + -webkit-transition-timing-function: @timing-function; + transition-timing-function: @timing-function; +} +.transition-transform(@transition) { + -webkit-transition: -webkit-transform @transition; + -moz-transition: -moz-transform @transition; + -o-transition: -o-transform @transition; + transition: transform @transition; +} + + +// User select +// For selecting text on the page + +.user-select(@select) { + -webkit-user-select: @select; + -moz-user-select: @select; + -ms-user-select: @select; // IE10+ + user-select: @select; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/modals.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/modals.less new file mode 100644 index 000000000..1de622050 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/modals.less @@ -0,0 +1,150 @@ +// +// Modals +// -------------------------------------------------- + +// .modal-open - body class for killing the scroll +// .modal - container to scroll within +// .modal-dialog - positioning shell for the actual modal +// .modal-content - actual modal w/ bg and corners and shit + +// Kill the scroll on the body +.modal-open { + overflow: hidden; +} + +// Container that the modal scrolls within +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindex-modal; + -webkit-overflow-scrolling: touch; + + // Prevent Chrome on Windows from adding a focus outline. For details, see + // https://github.com/twbs/bootstrap/pull/10951. + outline: 0; + + // When fading in the modal, animate it to slide down + &.fade .modal-dialog { + .translate(0, -25%); + .transition-transform(~"0.3s ease-out"); + } + &.in .modal-dialog { .translate(0, 0) } +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +// Shell div to position the modal with bottom padding +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} + +// Actual modal +.modal-content { + position: relative; + background-color: @modal-content-bg; + border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc) + border: 1px solid @modal-content-border-color; + border-radius: @border-radius-large; + .box-shadow(0 3px 9px rgba(0,0,0,.5)); + background-clip: padding-box; + // Remove focus outline from opened modal + outline: 0; +} + +// Modal background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindex-modal-background; + background-color: @modal-backdrop-bg; + // Fade for backdrop + &.fade { .opacity(0); } + &.in { .opacity(@modal-backdrop-opacity); } +} + +// Modal header +// Top section of the modal w/ title and dismiss +.modal-header { + padding: @modal-title-padding; + border-bottom: 1px solid @modal-header-border-color; + min-height: (@modal-title-padding + @modal-title-line-height); +} +// Close icon +.modal-header .close { + margin-top: -2px; +} + +// Title text within header +.modal-title { + margin: 0; + line-height: @modal-title-line-height; +} + +// Modal body +// Where all modal content resides (sibling of .modal-header and .modal-footer) +.modal-body { + position: relative; + padding: @modal-inner-padding; +} + +// Footer (for actions) +.modal-footer { + padding: @modal-inner-padding; + text-align: right; // right align buttons + border-top: 1px solid @modal-footer-border-color; + &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons + + // Properly space out buttons + .btn + .btn { + margin-left: 5px; + margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs + } + // but override that for button groups + .btn-group .btn + .btn { + margin-left: -1px; + } + // and override it for block buttons as well + .btn-block + .btn-block { + margin-left: 0; + } +} + +// Measure scrollbar width for padding body during modal show/hide +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +// Scale up the modal +@media (min-width: @screen-sm-min) { + // Automatically set modal's width for larger viewports + .modal-dialog { + width: @modal-md; + margin: 30px auto; + } + .modal-content { + .box-shadow(0 5px 15px rgba(0,0,0,.5)); + } + + // Modal sizes + .modal-sm { width: @modal-sm; } +} + +@media (min-width: @screen-md-min) { + .modal-lg { width: @modal-lg; } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/navbar.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/navbar.less new file mode 100644 index 000000000..6d751bb9c --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/navbar.less @@ -0,0 +1,660 @@ +// +// Navbars +// -------------------------------------------------- + + +// Wrapper and base class +// +// Provide a static navbar from which we expand to create full-width, fixed, and +// other navbar variations. + +.navbar { + position: relative; + min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode) + margin-bottom: @navbar-margin-bottom; + border: 1px solid transparent; + + // Prevent floats from breaking the navbar + &:extend(.clearfix all); + + @media (min-width: @grid-float-breakpoint) { + border-radius: @navbar-border-radius; + } +} + + +// Navbar heading +// +// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy +// styling of responsive aspects. + +.navbar-header { + &:extend(.clearfix all); + + @media (min-width: @grid-float-breakpoint) { + float: left; + } +} + + +// Navbar collapse (body) +// +// Group your navbar content into this for easy collapsing and expanding across +// various device sizes. By default, this content is collapsed when <768px, but +// will expand past that for a horizontal display. +// +// To start (on mobile devices) the navbar links, forms, and buttons are stacked +// vertically and include a `max-height` to overflow in case you have too much +// content for the user's viewport. + +.navbar-collapse { + overflow-x: visible; + padding-right: @navbar-padding-horizontal; + padding-left: @navbar-padding-horizontal; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255,255,255,.1); + &:extend(.clearfix all); + -webkit-overflow-scrolling: touch; + + &.in { + overflow-y: auto; + } + + @media (min-width: @grid-float-breakpoint) { + width: auto; + border-top: 0; + box-shadow: none; + + &.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; // Override default setting + overflow: visible !important; + } + + &.in { + overflow-y: visible; + } + + // Undo the collapse side padding for navbars with containers to ensure + // alignment of right-aligned contents. + .navbar-fixed-top &, + .navbar-static-top &, + .navbar-fixed-bottom & { + padding-left: 0; + padding-right: 0; + } + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + .navbar-collapse { + max-height: @navbar-collapse-max-height; + + @media (max-device-width: @screen-xs-min) and (orientation: landscape) { + max-height: 200px; + } + } +} + + +// Both navbar header and collapse +// +// When a container is present, change the behavior of the header and collapse. + +.container, +.container-fluid { + > .navbar-header, + > .navbar-collapse { + margin-right: -@navbar-padding-horizontal; + margin-left: -@navbar-padding-horizontal; + + @media (min-width: @grid-float-breakpoint) { + margin-right: 0; + margin-left: 0; + } + } +} + + +// +// Navbar alignment options +// +// Display the navbar across the entirety of the page or fixed it to the top or +// bottom of the page. + +// Static top (unfixed, but 100% wide) navbar +.navbar-static-top { + z-index: @zindex-navbar; + border-width: 0 0 1px; + + @media (min-width: @grid-float-breakpoint) { + border-radius: 0; + } +} + +// Fix the top/bottom navbars when screen real estate supports it +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: @zindex-navbar-fixed; + + // Undo the rounded corners + @media (min-width: @grid-float-breakpoint) { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; // override .navbar defaults + border-width: 1px 0 0; +} + + +// Brand/project name + +.navbar-brand { + float: left; + padding: @navbar-padding-vertical @navbar-padding-horizontal; + font-size: @font-size-large; + line-height: @line-height-computed; + height: @navbar-height; + + &:hover, + &:focus { + text-decoration: none; + } + + > img { + display: block; + } + + @media (min-width: @grid-float-breakpoint) { + .navbar > .container &, + .navbar > .container-fluid & { + margin-left: -@navbar-padding-horizontal; + } + } +} + + +// Navbar toggle +// +// Custom button for toggling the `.navbar-collapse`, powered by the collapse +// JavaScript plugin. + +.navbar-toggle { + position: relative; + float: right; + margin-right: @navbar-padding-horizontal; + padding: 9px 10px; + .navbar-vertical-align(34px); + background-color: transparent; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + border-radius: @border-radius-base; + + // We remove the `outline` here, but later compensate by attaching `:hover` + // styles to `:focus`. + &:focus { + outline: 0; + } + + // Bars + .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; + } + .icon-bar + .icon-bar { + margin-top: 4px; + } + + @media (min-width: @grid-float-breakpoint) { + display: none; + } +} + + +// Navbar nav links +// +// Builds on top of the `.nav` components with its own modifier class to make +// the nav the full height of the horizontal nav (above 768px). + +.navbar-nav { + margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal; + + > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: @line-height-computed; + } + + @media (max-width: @grid-float-breakpoint-max) { + // Dropdowns get custom display when collapsed + .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + > li > a, + .dropdown-header { + padding: 5px 15px 5px 25px; + } + > li > a { + line-height: @line-height-computed; + &:hover, + &:focus { + background-image: none; + } + } + } + } + + // Uncollapse the nav + @media (min-width: @grid-float-breakpoint) { + float: left; + margin: 0; + + > li { + float: left; + > a { + padding-top: @navbar-padding-vertical; + padding-bottom: @navbar-padding-vertical; + } + } + } +} + + +// Navbar form +// +// Extension of the `.form-inline` with some extra flavor for optimum display in +// our navbars. + +.navbar-form { + margin-left: -@navbar-padding-horizontal; + margin-right: -@navbar-padding-horizontal; + padding: 10px @navbar-padding-horizontal; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + .box-shadow(@shadow); + + // Mixin behavior for optimum display + .form-inline(); + + .form-group { + @media (max-width: @grid-float-breakpoint-max) { + margin-bottom: 5px; + + &:last-child { + margin-bottom: 0; + } + } + } + + // Vertically center in expanded, horizontal navbar + .navbar-vertical-align(@input-height-base); + + // Undo 100% width for pull classes + @media (min-width: @grid-float-breakpoint) { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + .box-shadow(none); + } +} + + +// Dropdown menus + +// Menu position and menu carets +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + .border-top-radius(0); +} +// Menu position and menu caret support for dropups via extra dropup class +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + .border-top-radius(@navbar-border-radius); + .border-bottom-radius(0); +} + + +// Buttons in navbars +// +// Vertically center a button within a navbar (when *not* in a form). + +.navbar-btn { + .navbar-vertical-align(@input-height-base); + + &.btn-sm { + .navbar-vertical-align(@input-height-small); + } + &.btn-xs { + .navbar-vertical-align(22); + } +} + + +// Text in navbars +// +// Add a class to make any element properly align itself vertically within the navbars. + +.navbar-text { + .navbar-vertical-align(@line-height-computed); + + @media (min-width: @grid-float-breakpoint) { + float: left; + margin-left: @navbar-padding-horizontal; + margin-right: @navbar-padding-horizontal; + } +} + + +// Component alignment +// +// Repurpose the pull utilities as their own navbar utilities to avoid specificity +// issues with parents and chaining. Only do this when the navbar is uncollapsed +// though so that navbar contents properly stack and align in mobile. +// +// Declared after the navbar components to ensure more specificity on the margins. + +@media (min-width: @grid-float-breakpoint) { + .navbar-left { .pull-left(); } + .navbar-right { + .pull-right(); + margin-right: -@navbar-padding-horizontal; + + ~ .navbar-right { + margin-right: 0; + } + } +} + + +// Alternate navbars +// -------------------------------------------------- + +// Default navbar +.navbar-default { + background-color: @navbar-default-bg; + border-color: @navbar-default-border; + + .navbar-brand { + color: @navbar-default-brand-color; + &:hover, + &:focus { + color: @navbar-default-brand-hover-color; + background-color: @navbar-default-brand-hover-bg; + } + } + + .navbar-text { + color: @navbar-default-color; + } + + .navbar-nav { + > li > a { + color: @navbar-default-link-color; + + &:hover, + &:focus { + color: @navbar-default-link-hover-color; + background-color: @navbar-default-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-active-color; + background-color: @navbar-default-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-disabled-color; + background-color: @navbar-default-link-disabled-bg; + } + } + } + + .navbar-toggle { + border-color: @navbar-default-toggle-border-color; + &:hover, + &:focus { + background-color: @navbar-default-toggle-hover-bg; + } + .icon-bar { + background-color: @navbar-default-toggle-icon-bar-bg; + } + } + + .navbar-collapse, + .navbar-form { + border-color: @navbar-default-border; + } + + // Dropdown menu items + .navbar-nav { + // Remove background color from open dropdown + > .open > a { + &, + &:hover, + &:focus { + background-color: @navbar-default-link-active-bg; + color: @navbar-default-link-active-color; + } + } + + @media (max-width: @grid-float-breakpoint-max) { + // Dropdowns get custom display when collapsed + .open .dropdown-menu { + > li > a { + color: @navbar-default-link-color; + &:hover, + &:focus { + color: @navbar-default-link-hover-color; + background-color: @navbar-default-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-active-color; + background-color: @navbar-default-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-disabled-color; + background-color: @navbar-default-link-disabled-bg; + } + } + } + } + } + + + // Links in navbars + // + // Add a class to ensure links outside the navbar nav are colored correctly. + + .navbar-link { + color: @navbar-default-link-color; + &:hover { + color: @navbar-default-link-hover-color; + } + } + + .btn-link { + color: @navbar-default-link-color; + &:hover, + &:focus { + color: @navbar-default-link-hover-color; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @navbar-default-link-disabled-color; + } + } + } +} + +// Inverse navbar + +.navbar-inverse { + background-color: @navbar-inverse-bg; + border-color: @navbar-inverse-border; + + .navbar-brand { + color: @navbar-inverse-brand-color; + &:hover, + &:focus { + color: @navbar-inverse-brand-hover-color; + background-color: @navbar-inverse-brand-hover-bg; + } + } + + .navbar-text { + color: @navbar-inverse-color; + } + + .navbar-nav { + > li > a { + color: @navbar-inverse-link-color; + + &:hover, + &:focus { + color: @navbar-inverse-link-hover-color; + background-color: @navbar-inverse-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-active-color; + background-color: @navbar-inverse-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-disabled-color; + background-color: @navbar-inverse-link-disabled-bg; + } + } + } + + // Darken the responsive nav toggle + .navbar-toggle { + border-color: @navbar-inverse-toggle-border-color; + &:hover, + &:focus { + background-color: @navbar-inverse-toggle-hover-bg; + } + .icon-bar { + background-color: @navbar-inverse-toggle-icon-bar-bg; + } + } + + .navbar-collapse, + .navbar-form { + border-color: darken(@navbar-inverse-bg, 7%); + } + + // Dropdowns + .navbar-nav { + > .open > a { + &, + &:hover, + &:focus { + background-color: @navbar-inverse-link-active-bg; + color: @navbar-inverse-link-active-color; + } + } + + @media (max-width: @grid-float-breakpoint-max) { + // Dropdowns get custom display + .open .dropdown-menu { + > .dropdown-header { + border-color: @navbar-inverse-border; + } + .divider { + background-color: @navbar-inverse-border; + } + > li > a { + color: @navbar-inverse-link-color; + &:hover, + &:focus { + color: @navbar-inverse-link-hover-color; + background-color: @navbar-inverse-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-active-color; + background-color: @navbar-inverse-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-disabled-color; + background-color: @navbar-inverse-link-disabled-bg; + } + } + } + } + } + + .navbar-link { + color: @navbar-inverse-link-color; + &:hover { + color: @navbar-inverse-link-hover-color; + } + } + + .btn-link { + color: @navbar-inverse-link-color; + &:hover, + &:focus { + color: @navbar-inverse-link-hover-color; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @navbar-inverse-link-disabled-color; + } + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/navs.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/navs.less new file mode 100644 index 000000000..a3d11b136 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/navs.less @@ -0,0 +1,242 @@ +// +// Navs +// -------------------------------------------------- + + +// Base class +// -------------------------------------------------- + +.nav { + margin-bottom: 0; + padding-left: 0; // Override default ul/ol + list-style: none; + &:extend(.clearfix all); + + > li { + position: relative; + display: block; + + > a { + position: relative; + display: block; + padding: @nav-link-padding; + &:hover, + &:focus { + text-decoration: none; + background-color: @nav-link-hover-bg; + } + } + + // Disabled state sets text to gray and nukes hover/tab effects + &.disabled > a { + color: @nav-disabled-link-color; + + &:hover, + &:focus { + color: @nav-disabled-link-hover-color; + text-decoration: none; + background-color: transparent; + cursor: @cursor-disabled; + } + } + } + + // Open dropdowns + .open > a { + &, + &:hover, + &:focus { + background-color: @nav-link-hover-bg; + border-color: @link-color; + } + } + + // Nav dividers (deprecated with v3.0.1) + // + // This should have been removed in v3 with the dropping of `.nav-list`, but + // we missed it. We don't currently support this anywhere, but in the interest + // of maintaining backward compatibility in case you use it, it's deprecated. + .nav-divider { + .nav-divider(); + } + + // Prevent IE8 from misplacing imgs + // + // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 + > li > a > img { + max-width: none; + } +} + + +// Tabs +// ------------------------- + +// Give the tabs something to sit on +.nav-tabs { + border-bottom: 1px solid @nav-tabs-border-color; + > li { + float: left; + // Make the list-items overlay the bottom border + margin-bottom: -1px; + + // Actual tabs (as links) + > a { + margin-right: 2px; + line-height: @line-height-base; + border: 1px solid transparent; + border-radius: @border-radius-base @border-radius-base 0 0; + &:hover { + border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color; + } + } + + // Active state, and its :hover to override normal :hover + &.active > a { + &, + &:hover, + &:focus { + color: @nav-tabs-active-link-hover-color; + background-color: @nav-tabs-active-link-hover-bg; + border: 1px solid @nav-tabs-active-link-hover-border-color; + border-bottom-color: transparent; + cursor: default; + } + } + } + // pulling this in mainly for less shorthand + &.nav-justified { + .nav-justified(); + .nav-tabs-justified(); + } +} + + +// Pills +// ------------------------- +.nav-pills { + > li { + float: left; + + // Links rendered as pills + > a { + border-radius: @nav-pills-border-radius; + } + + li { + margin-left: 2px; + } + + // Active state + &.active > a { + &, + &:hover, + &:focus { + color: @nav-pills-active-link-hover-color; + background-color: @nav-pills-active-link-hover-bg; + } + } + } +} + + +// Stacked pills +.nav-stacked { + > li { + float: none; + + li { + margin-top: 2px; + margin-left: 0; // no need for this gap between nav items + } + } +} + + +// Nav variations +// -------------------------------------------------- + +// Justified nav links +// ------------------------- + +.nav-justified { + width: 100%; + + > li { + float: none; + > a { + text-align: center; + margin-bottom: 5px; + } + } + + > .dropdown .dropdown-menu { + top: auto; + left: auto; + } + + @media (min-width: @screen-sm-min) { + > li { + display: table-cell; + width: 1%; + > a { + margin-bottom: 0; + } + } + } +} + +// Move borders to anchors instead of bottom of list +// +// Mixin for adding on top the shared `.nav-justified` styles for our tabs +.nav-tabs-justified { + border-bottom: 0; + + > li > a { + // Override margin from .nav-tabs + margin-right: 0; + border-radius: @border-radius-base; + } + + > .active > a, + > .active > a:hover, + > .active > a:focus { + border: 1px solid @nav-tabs-justified-link-border-color; + } + + @media (min-width: @screen-sm-min) { + > li > a { + border-bottom: 1px solid @nav-tabs-justified-link-border-color; + border-radius: @border-radius-base @border-radius-base 0 0; + } + > .active > a, + > .active > a:hover, + > .active > a:focus { + border-bottom-color: @nav-tabs-justified-active-link-border-color; + } + } +} + + +// Tabbable tabs +// ------------------------- + +// Hide tabbable panes to start, show them when `.active` +.tab-content { + > .tab-pane { + display: none; + } + > .active { + display: block; + } +} + + +// Dropdowns +// ------------------------- + +// Specific dropdowns +.nav-tabs .dropdown-menu { + // make dropdown border overlap tab border + margin-top: -1px; + // Remove the top rounded corners here since there is a hard edge above the menu + .border-top-radius(0); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/normalize.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/normalize.less new file mode 100644 index 000000000..9dddf73ad --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/normalize.less @@ -0,0 +1,424 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ + +// +// 1. Set default font family to sans-serif. +// 2. Prevent iOS and IE text size adjust after device orientation change, +// without disabling user zoom. +// + +html { + font-family: sans-serif; // 1 + -ms-text-size-adjust: 100%; // 2 + -webkit-text-size-adjust: 100%; // 2 +} + +// +// Remove default margin. +// + +body { + margin: 0; +} + +// HTML5 display definitions +// ========================================================================== + +// +// Correct `block` display not defined for any HTML5 element in IE 8/9. +// Correct `block` display not defined for `details` or `summary` in IE 10/11 +// and Firefox. +// Correct `block` display not defined for `main` in IE 11. +// + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +// +// 1. Correct `inline-block` display not defined in IE 8/9. +// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. +// + +audio, +canvas, +progress, +video { + display: inline-block; // 1 + vertical-align: baseline; // 2 +} + +// +// Prevent modern browsers from displaying `audio` without controls. +// Remove excess height in iOS 5 devices. +// + +audio:not([controls]) { + display: none; + height: 0; +} + +// +// Address `[hidden]` styling not present in IE 8/9/10. +// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. +// + +[hidden], +template { + display: none; +} + +// Links +// ========================================================================== + +// +// Remove the gray background color from active links in IE 10. +// + +a { + background-color: transparent; +} + +// +// Improve readability of focused elements when they are also in an +// active/hover state. +// + +a:active, +a:hover { + outline: 0; +} + +// Text-level semantics +// ========================================================================== + +// +// Address styling not present in IE 8/9/10/11, Safari, and Chrome. +// + +abbr[title] { + border-bottom: 1px dotted; +} + +// +// Address style set to `bolder` in Firefox 4+, Safari, and Chrome. +// + +b, +strong { + font-weight: bold; +} + +// +// Address styling not present in Safari and Chrome. +// + +dfn { + font-style: italic; +} + +// +// Address variable `h1` font-size and margin within `section` and `article` +// contexts in Firefox 4+, Safari, and Chrome. +// + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +// +// Address styling not present in IE 8/9. +// + +mark { + background: #ff0; + color: #000; +} + +// +// Address inconsistent and variable font size in all browsers. +// + +small { + font-size: 80%; +} + +// +// Prevent `sub` and `sup` affecting `line-height` in all browsers. +// + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +// Embedded content +// ========================================================================== + +// +// Remove border when inside `a` element in IE 8/9/10. +// + +img { + border: 0; +} + +// +// Correct overflow not hidden in IE 9/10/11. +// + +svg:not(:root) { + overflow: hidden; +} + +// Grouping content +// ========================================================================== + +// +// Address margin not present in IE 8/9 and Safari. +// + +figure { + margin: 1em 40px; +} + +// +// Address differences between Firefox and other browsers. +// + +hr { + box-sizing: content-box; + height: 0; +} + +// +// Contain overflow in all browsers. +// + +pre { + overflow: auto; +} + +// +// Address odd `em`-unit font size rendering in all browsers. +// + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +// Forms +// ========================================================================== + +// +// Known limitation: by default, Chrome and Safari on OS X allow very limited +// styling of `select`, unless a `border` property is set. +// + +// +// 1. Correct color not being inherited. +// Known issue: affects color of disabled elements. +// 2. Correct font properties not being inherited. +// 3. Address margins set differently in Firefox 4+, Safari, and Chrome. +// + +button, +input, +optgroup, +select, +textarea { + color: inherit; // 1 + font: inherit; // 2 + margin: 0; // 3 +} + +// +// Address `overflow` set to `hidden` in IE 8/9/10/11. +// + +button { + overflow: visible; +} + +// +// Address inconsistent `text-transform` inheritance for `button` and `select`. +// All other form control elements do not inherit `text-transform` values. +// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. +// Correct `select` style inheritance in Firefox. +// + +button, +select { + text-transform: none; +} + +// +// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` +// and `video` controls. +// 2. Correct inability to style clickable `input` types in iOS. +// 3. Improve usability and consistency of cursor style between image-type +// `input` and others. +// + +button, +html input[type="button"], // 1 +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; // 2 + cursor: pointer; // 3 +} + +// +// Re-set default cursor for disabled elements. +// + +button[disabled], +html input[disabled] { + cursor: default; +} + +// +// Remove inner padding and border in Firefox 4+. +// + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +// +// Address Firefox 4+ setting `line-height` on `input` using `!important` in +// the UA stylesheet. +// + +input { + line-height: normal; +} + +// +// It's recommended that you don't attempt to style these elements. +// Firefox's implementation doesn't respect box-sizing, padding, or width. +// +// 1. Address box sizing set to `content-box` in IE 8/9/10. +// 2. Remove excess padding in IE 8/9/10. +// + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; // 1 + padding: 0; // 2 +} + +// +// Fix the cursor style for Chrome's increment/decrement buttons. For certain +// `font-size` values of the `input`, it causes the cursor style of the +// decrement button to change from `default` to `text`. +// + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +// +// 1. Address `appearance` set to `searchfield` in Safari and Chrome. +// 2. Address `box-sizing` set to `border-box` in Safari and Chrome. +// + +input[type="search"] { + -webkit-appearance: textfield; // 1 + box-sizing: content-box; //2 +} + +// +// Remove inner padding and search cancel button in Safari and Chrome on OS X. +// Safari (but not Chrome) clips the cancel button when the search input has +// padding (and `textfield` appearance). +// + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +// +// Define consistent border, margin, and padding. +// + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +// +// 1. Correct `color` not being inherited in IE 8/9/10/11. +// 2. Remove padding so people aren't caught out if they zero out fieldsets. +// + +legend { + border: 0; // 1 + padding: 0; // 2 +} + +// +// Remove default vertical scrollbar in IE 8/9/10/11. +// + +textarea { + overflow: auto; +} + +// +// Don't inherit the `font-weight` (applied by a rule above). +// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. +// + +optgroup { + font-weight: bold; +} + +// Tables +// ========================================================================== + +// +// Remove most spacing between table cells. +// + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/pager.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/pager.less new file mode 100644 index 000000000..41abaaadc --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/pager.less @@ -0,0 +1,54 @@ +// +// Pager pagination +// -------------------------------------------------- + + +.pager { + padding-left: 0; + margin: @line-height-computed 0; + list-style: none; + text-align: center; + &:extend(.clearfix all); + li { + display: inline; + > a, + > span { + display: inline-block; + padding: 5px 14px; + background-color: @pager-bg; + border: 1px solid @pager-border; + border-radius: @pager-border-radius; + } + + > a:hover, + > a:focus { + text-decoration: none; + background-color: @pager-hover-bg; + } + } + + .next { + > a, + > span { + float: right; + } + } + + .previous { + > a, + > span { + float: left; + } + } + + .disabled { + > a, + > a:hover, + > a:focus, + > span { + color: @pager-disabled-color; + background-color: @pager-bg; + cursor: @cursor-disabled; + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/pagination.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/pagination.less new file mode 100644 index 000000000..31f77aae4 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/pagination.less @@ -0,0 +1,89 @@ +// +// Pagination (multiple pages) +// -------------------------------------------------- +.pagination { + display: inline-block; + padding-left: 0; + margin: @line-height-computed 0; + border-radius: @border-radius-base; + + > li { + display: inline; // Remove list-style and block-level defaults + > a, + > span { + position: relative; + float: left; // Collapse white-space + padding: @padding-base-vertical @padding-base-horizontal; + line-height: @line-height-base; + text-decoration: none; + color: @pagination-color; + background-color: @pagination-bg; + border: 1px solid @pagination-border; + margin-left: -1px; + } + &:first-child { + > a, + > span { + margin-left: 0; + .border-left-radius(@border-radius-base); + } + } + &:last-child { + > a, + > span { + .border-right-radius(@border-radius-base); + } + } + } + + > li > a, + > li > span { + &:hover, + &:focus { + z-index: 2; + color: @pagination-hover-color; + background-color: @pagination-hover-bg; + border-color: @pagination-hover-border; + } + } + + > .active > a, + > .active > span { + &, + &:hover, + &:focus { + z-index: 3; + color: @pagination-active-color; + background-color: @pagination-active-bg; + border-color: @pagination-active-border; + cursor: default; + } + } + + > .disabled { + > span, + > span:hover, + > span:focus, + > a, + > a:hover, + > a:focus { + color: @pagination-disabled-color; + background-color: @pagination-disabled-bg; + border-color: @pagination-disabled-border; + cursor: @cursor-disabled; + } + } +} + +// Sizing +// -------------------------------------------------- + +// Large +.pagination-lg { + .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); +} + +// Small +.pagination-sm { + .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/panels.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/panels.less new file mode 100644 index 000000000..425eb5e64 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/panels.less @@ -0,0 +1,271 @@ +// +// Panels +// -------------------------------------------------- + + +// Base class +.panel { + margin-bottom: @line-height-computed; + background-color: @panel-bg; + border: 1px solid transparent; + border-radius: @panel-border-radius; + .box-shadow(0 1px 1px rgba(0,0,0,.05)); +} + +// Panel contents +.panel-body { + padding: @panel-body-padding; + &:extend(.clearfix all); +} + +// Optional heading +.panel-heading { + padding: @panel-heading-padding; + border-bottom: 1px solid transparent; + .border-top-radius((@panel-border-radius - 1)); + + > .dropdown .dropdown-toggle { + color: inherit; + } +} + +// Within heading, strip any `h*` tag of its default margins for spacing. +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: ceil((@font-size-base * 1.125)); + color: inherit; + + > a, + > small, + > .small, + > small > a, + > .small > a { + color: inherit; + } +} + +// Optional footer (stays gray in every modifier class) +.panel-footer { + padding: @panel-footer-padding; + background-color: @panel-footer-bg; + border-top: 1px solid @panel-inner-border; + .border-bottom-radius((@panel-border-radius - 1)); +} + + +// List groups in panels +// +// By default, space out list group content from panel headings to account for +// any kind of custom content between the two. + +.panel { + > .list-group, + > .panel-collapse > .list-group { + margin-bottom: 0; + + .list-group-item { + border-width: 1px 0; + border-radius: 0; + } + + // Add border top radius for first one + &:first-child { + .list-group-item:first-child { + border-top: 0; + .border-top-radius((@panel-border-radius - 1)); + } + } + + // Add border bottom radius for last one + &:last-child { + .list-group-item:last-child { + border-bottom: 0; + .border-bottom-radius((@panel-border-radius - 1)); + } + } + } + > .panel-heading + .panel-collapse > .list-group { + .list-group-item:first-child { + .border-top-radius(0); + } + } +} +// Collapse space between when there's no additional content. +.panel-heading + .list-group { + .list-group-item:first-child { + border-top-width: 0; + } +} +.list-group + .panel-footer { + border-top-width: 0; +} + +// Tables in panels +// +// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and +// watch it go full width. + +.panel { + > .table, + > .table-responsive > .table, + > .panel-collapse > .table { + margin-bottom: 0; + + caption { + padding-left: @panel-body-padding; + padding-right: @panel-body-padding; + } + } + // Add border top radius for first one + > .table:first-child, + > .table-responsive:first-child > .table:first-child { + .border-top-radius((@panel-border-radius - 1)); + + > thead:first-child, + > tbody:first-child { + > tr:first-child { + border-top-left-radius: (@panel-border-radius - 1); + border-top-right-radius: (@panel-border-radius - 1); + + td:first-child, + th:first-child { + border-top-left-radius: (@panel-border-radius - 1); + } + td:last-child, + th:last-child { + border-top-right-radius: (@panel-border-radius - 1); + } + } + } + } + // Add border bottom radius for last one + > .table:last-child, + > .table-responsive:last-child > .table:last-child { + .border-bottom-radius((@panel-border-radius - 1)); + + > tbody:last-child, + > tfoot:last-child { + > tr:last-child { + border-bottom-left-radius: (@panel-border-radius - 1); + border-bottom-right-radius: (@panel-border-radius - 1); + + td:first-child, + th:first-child { + border-bottom-left-radius: (@panel-border-radius - 1); + } + td:last-child, + th:last-child { + border-bottom-right-radius: (@panel-border-radius - 1); + } + } + } + } + > .panel-body + .table, + > .panel-body + .table-responsive, + > .table + .panel-body, + > .table-responsive + .panel-body { + border-top: 1px solid @table-border-color; + } + > .table > tbody:first-child > tr:first-child th, + > .table > tbody:first-child > tr:first-child td { + border-top: 0; + } + > .table-bordered, + > .table-responsive > .table-bordered { + border: 0; + > thead, + > tbody, + > tfoot { + > tr { + > th:first-child, + > td:first-child { + border-left: 0; + } + > th:last-child, + > td:last-child { + border-right: 0; + } + } + } + > thead, + > tbody { + > tr:first-child { + > td, + > th { + border-bottom: 0; + } + } + } + > tbody, + > tfoot { + > tr:last-child { + > td, + > th { + border-bottom: 0; + } + } + } + } + > .table-responsive { + border: 0; + margin-bottom: 0; + } +} + + +// Collapsable panels (aka, accordion) +// +// Wrap a series of panels in `.panel-group` to turn them into an accordion with +// the help of our collapse JavaScript plugin. + +.panel-group { + margin-bottom: @line-height-computed; + + // Tighten up margin so it's only between panels + .panel { + margin-bottom: 0; + border-radius: @panel-border-radius; + + + .panel { + margin-top: 5px; + } + } + + .panel-heading { + border-bottom: 0; + + + .panel-collapse > .panel-body, + + .panel-collapse > .list-group { + border-top: 1px solid @panel-inner-border; + } + } + + .panel-footer { + border-top: 0; + + .panel-collapse .panel-body { + border-bottom: 1px solid @panel-inner-border; + } + } +} + + +// Contextual variations +.panel-default { + .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border); +} +.panel-primary { + .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border); +} +.panel-success { + .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border); +} +.panel-info { + .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border); +} +.panel-warning { + .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border); +} +.panel-danger { + .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/popovers.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/popovers.less new file mode 100644 index 000000000..3a62a6455 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/popovers.less @@ -0,0 +1,131 @@ +// +// Popovers +// -------------------------------------------------- + + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: @zindex-popover; + display: none; + max-width: @popover-max-width; + padding: 1px; + // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + .reset-text(); + font-size: @font-size-base; + + background-color: @popover-bg; + background-clip: padding-box; + border: 1px solid @popover-fallback-border-color; + border: 1px solid @popover-border-color; + border-radius: @border-radius-large; + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + + // Offset the popover to account for the popover arrow + &.top { margin-top: -@popover-arrow-width; } + &.right { margin-left: @popover-arrow-width; } + &.bottom { margin-top: @popover-arrow-width; } + &.left { margin-left: -@popover-arrow-width; } +} + +.popover-title { + margin: 0; // reset heading margin + padding: 8px 14px; + font-size: @font-size-base; + background-color: @popover-title-bg; + border-bottom: 1px solid darken(@popover-title-bg, 5%); + border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +// Arrows +// +// .arrow is outer, .arrow:after is inner + +.popover > .arrow { + &, + &:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } +} +.popover > .arrow { + border-width: @popover-arrow-outer-width; +} +.popover > .arrow:after { + border-width: @popover-arrow-width; + content: ""; +} + +.popover { + &.top > .arrow { + left: 50%; + margin-left: -@popover-arrow-outer-width; + border-bottom-width: 0; + border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-top-color: @popover-arrow-outer-color; + bottom: -@popover-arrow-outer-width; + &:after { + content: " "; + bottom: 1px; + margin-left: -@popover-arrow-width; + border-bottom-width: 0; + border-top-color: @popover-arrow-color; + } + } + &.right > .arrow { + top: 50%; + left: -@popover-arrow-outer-width; + margin-top: -@popover-arrow-outer-width; + border-left-width: 0; + border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-right-color: @popover-arrow-outer-color; + &:after { + content: " "; + left: 1px; + bottom: -@popover-arrow-width; + border-left-width: 0; + border-right-color: @popover-arrow-color; + } + } + &.bottom > .arrow { + left: 50%; + margin-left: -@popover-arrow-outer-width; + border-top-width: 0; + border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-bottom-color: @popover-arrow-outer-color; + top: -@popover-arrow-outer-width; + &:after { + content: " "; + top: 1px; + margin-left: -@popover-arrow-width; + border-top-width: 0; + border-bottom-color: @popover-arrow-color; + } + } + + &.left > .arrow { + top: 50%; + right: -@popover-arrow-outer-width; + margin-top: -@popover-arrow-outer-width; + border-right-width: 0; + border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-left-color: @popover-arrow-outer-color; + &:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: @popover-arrow-color; + bottom: -@popover-arrow-width; + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/print.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/print.less new file mode 100644 index 000000000..66e54ab48 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/print.less @@ -0,0 +1,101 @@ +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ + +// ========================================================================== +// Print styles. +// Inlined to avoid the additional HTTP request: h5bp.com/r +// ========================================================================== + +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; // Black prints faster: h5bp.com/s + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + // Don't show links that are fragment identifiers, + // or use the `javascript:` pseudo protocol + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; // h5bp.com/t + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + // Bootstrap specific changes start + + // Bootstrap components + .navbar { + display: none; + } + .btn, + .dropup > .btn { + > .caret { + border-top-color: #000 !important; + } + } + .label { + border: 1px solid #000; + } + + .table { + border-collapse: collapse !important; + + td, + th { + background-color: #fff !important; + } + } + .table-bordered { + th, + td { + border: 1px solid #ddd !important; + } + } + + // Bootstrap specific changes end +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/progress-bars.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/progress-bars.less new file mode 100644 index 000000000..8868a1fee --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/progress-bars.less @@ -0,0 +1,87 @@ +// +// Progress bars +// -------------------------------------------------- + + +// Bar animations +// ------------------------- + +// WebKit +@-webkit-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// Spec and IE10+ +@keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + + +// Bar itself +// ------------------------- + +// Outer container +.progress { + overflow: hidden; + height: @line-height-computed; + margin-bottom: @line-height-computed; + background-color: @progress-bg; + border-radius: @progress-border-radius; + .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); +} + +// Bar of progress +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: @font-size-small; + line-height: @line-height-computed; + color: @progress-bar-color; + text-align: center; + background-color: @progress-bar-bg; + .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); + .transition(width .6s ease); +} + +// Striped bars +// +// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the +// `.progress-bar-striped` class, which you just add to an existing +// `.progress-bar`. +.progress-striped .progress-bar, +.progress-bar-striped { + #gradient > .striped(); + background-size: 40px 40px; +} + +// Call animation for the active one +// +// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the +// `.progress-bar.active` approach. +.progress.active .progress-bar, +.progress-bar.active { + .animation(progress-bar-stripes 2s linear infinite); +} + + +// Variations +// ------------------------- + +.progress-bar-success { + .progress-bar-variant(@progress-bar-success-bg); +} + +.progress-bar-info { + .progress-bar-variant(@progress-bar-info-bg); +} + +.progress-bar-warning { + .progress-bar-variant(@progress-bar-warning-bg); +} + +.progress-bar-danger { + .progress-bar-variant(@progress-bar-danger-bg); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/responsive-embed.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/responsive-embed.less new file mode 100644 index 000000000..080a5118f --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/responsive-embed.less @@ -0,0 +1,35 @@ +// Embeds responsive +// +// Credit: Nicolas Gallagher and SUIT CSS. + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; + + .embed-responsive-item, + iframe, + embed, + object, + video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; + } +} + +// Modifier class for 16:9 aspect ratio +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} + +// Modifier class for 4:3 aspect ratio +.embed-responsive-4by3 { + padding-bottom: 75%; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/responsive-utilities.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/responsive-utilities.less new file mode 100644 index 000000000..b1db31d7b --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/responsive-utilities.less @@ -0,0 +1,194 @@ +// +// Responsive: Utility classes +// -------------------------------------------------- + + +// IE10 in Windows (Phone) 8 +// +// Support for responsive views via media queries is kind of borked in IE10, for +// Surface/desktop in split view and for Windows Phone 8. This particular fix +// must be accompanied by a snippet of JavaScript to sniff the user agent and +// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at +// our Getting Started page for more information on this bug. +// +// For more information, see the following: +// +// Issue: https://github.com/twbs/bootstrap/issues/10497 +// Docs: http://getbootstrap.com/getting-started/#support-ie10-width +// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ +// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ + +@-ms-viewport { + width: device-width; +} + + +// Visibility utilities +// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0 +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + .responsive-invisibility(); +} + +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} + +.visible-xs { + @media (max-width: @screen-xs-max) { + .responsive-visibility(); + } +} +.visible-xs-block { + @media (max-width: @screen-xs-max) { + display: block !important; + } +} +.visible-xs-inline { + @media (max-width: @screen-xs-max) { + display: inline !important; + } +} +.visible-xs-inline-block { + @media (max-width: @screen-xs-max) { + display: inline-block !important; + } +} + +.visible-sm { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + .responsive-visibility(); + } +} +.visible-sm-block { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + display: block !important; + } +} +.visible-sm-inline { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + display: inline !important; + } +} +.visible-sm-inline-block { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + display: inline-block !important; + } +} + +.visible-md { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + .responsive-visibility(); + } +} +.visible-md-block { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + display: block !important; + } +} +.visible-md-inline { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + display: inline !important; + } +} +.visible-md-inline-block { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + display: inline-block !important; + } +} + +.visible-lg { + @media (min-width: @screen-lg-min) { + .responsive-visibility(); + } +} +.visible-lg-block { + @media (min-width: @screen-lg-min) { + display: block !important; + } +} +.visible-lg-inline { + @media (min-width: @screen-lg-min) { + display: inline !important; + } +} +.visible-lg-inline-block { + @media (min-width: @screen-lg-min) { + display: inline-block !important; + } +} + +.hidden-xs { + @media (max-width: @screen-xs-max) { + .responsive-invisibility(); + } +} +.hidden-sm { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + .responsive-invisibility(); + } +} +.hidden-md { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + .responsive-invisibility(); + } +} +.hidden-lg { + @media (min-width: @screen-lg-min) { + .responsive-invisibility(); + } +} + + +// Print utilities +// +// Media queries are placed on the inside to be mixin-friendly. + +// Note: Deprecated .visible-print as of v3.2.0 +.visible-print { + .responsive-invisibility(); + + @media print { + .responsive-visibility(); + } +} +.visible-print-block { + display: none !important; + + @media print { + display: block !important; + } +} +.visible-print-inline { + display: none !important; + + @media print { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; + + @media print { + display: inline-block !important; + } +} + +.hidden-print { + @media print { + .responsive-invisibility(); + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/scaffolding.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/scaffolding.less new file mode 100644 index 000000000..1929bfc5c --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/scaffolding.less @@ -0,0 +1,161 @@ +// +// Scaffolding +// -------------------------------------------------- + + +// Reset the box-sizing +// +// Heads up! This reset may cause conflicts with some third-party widgets. +// For recommendations on resolving such conflicts, see +// http://getbootstrap.com/getting-started/#third-box-sizing +* { + .box-sizing(border-box); +} +*:before, +*:after { + .box-sizing(border-box); +} + + +// Body reset + +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +body { + font-family: @font-family-base; + font-size: @font-size-base; + line-height: @line-height-base; + color: @text-color; + background-color: @body-bg; +} + +// Reset fonts for relevant elements +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + + +// Links + +a { + color: @link-color; + text-decoration: none; + + &:hover, + &:focus { + color: @link-hover-color; + text-decoration: @link-hover-decoration; + } + + &:focus { + .tab-focus(); + } +} + + +// Figures +// +// We reset this here because previously Normalize had no `figure` margins. This +// ensures we don't break anyone's use of the element. + +figure { + margin: 0; +} + + +// Images + +img { + vertical-align: middle; +} + +// Responsive images (ensure images don't scale beyond their parents) +.img-responsive { + .img-responsive(); +} + +// Rounded corners +.img-rounded { + border-radius: @border-radius-large; +} + +// Image thumbnails +// +// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`. +.img-thumbnail { + padding: @thumbnail-padding; + line-height: @line-height-base; + background-color: @thumbnail-bg; + border: 1px solid @thumbnail-border; + border-radius: @thumbnail-border-radius; + .transition(all .2s ease-in-out); + + // Keep them at most 100% wide + .img-responsive(inline-block); +} + +// Perfect circle +.img-circle { + border-radius: 50%; // set radius in percents +} + + +// Horizontal rules + +hr { + margin-top: @line-height-computed; + margin-bottom: @line-height-computed; + border: 0; + border-top: 1px solid @hr-border; +} + + +// Only display content to screen readers +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// Credit: HTML5 Boilerplate + +.sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} + + +// iOS "clickable elements" fix for role="button" +// +// Fixes "clickability" issue (and more generally, the firing of events such as focus as well) +// for traditionally non-focusable elements with role="button" +// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +[role="button"] { + cursor: pointer; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/tables.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/tables.less new file mode 100644 index 000000000..2242c0368 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/tables.less @@ -0,0 +1,234 @@ +// +// Tables +// -------------------------------------------------- + + +table { + background-color: @table-bg; +} +caption { + padding-top: @table-cell-padding; + padding-bottom: @table-cell-padding; + color: @text-muted; + text-align: left; +} +th { + text-align: left; +} + + +// Baseline styles + +.table { + width: 100%; + max-width: 100%; + margin-bottom: @line-height-computed; + // Cells + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + padding: @table-cell-padding; + line-height: @line-height-base; + vertical-align: top; + border-top: 1px solid @table-border-color; + } + } + } + // Bottom align for column headings + > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid @table-border-color; + } + // Remove top border from thead by default + > caption + thead, + > colgroup + thead, + > thead:first-child { + > tr:first-child { + > th, + > td { + border-top: 0; + } + } + } + // Account for multiple tbody instances + > tbody + tbody { + border-top: 2px solid @table-border-color; + } + + // Nesting + .table { + background-color: @body-bg; + } +} + + +// Condensed table w/ half padding + +.table-condensed { + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + padding: @table-condensed-cell-padding; + } + } + } +} + + +// Bordered version +// +// Add borders all around the table and between all the columns. + +.table-bordered { + border: 1px solid @table-border-color; + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + border: 1px solid @table-border-color; + } + } + } + > thead > tr { + > th, + > td { + border-bottom-width: 2px; + } + } +} + + +// Zebra-striping +// +// Default zebra-stripe styles (alternating gray and transparent backgrounds) + +.table-striped { + > tbody > tr:nth-of-type(odd) { + background-color: @table-bg-accent; + } +} + + +// Hover effect +// +// Placed here since it has to come after the potential zebra striping + +.table-hover { + > tbody > tr:hover { + background-color: @table-bg-hover; + } +} + + +// Table cell sizing +// +// Reset default table behavior + +table col[class*="col-"] { + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) + float: none; + display: table-column; +} +table { + td, + th { + &[class*="col-"] { + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) + float: none; + display: table-cell; + } + } +} + + +// Table backgrounds +// +// Exact selectors below required to override `.table-striped` and prevent +// inheritance to nested tables. + +// Generate the contextual variants +.table-row-variant(active; @table-bg-active); +.table-row-variant(success; @state-success-bg); +.table-row-variant(info; @state-info-bg); +.table-row-variant(warning; @state-warning-bg); +.table-row-variant(danger; @state-danger-bg); + + +// Responsive tables +// +// Wrap your tables in `.table-responsive` and we'll make them mobile friendly +// by enabling horizontal scrolling. Only applies <768px. Everything above that +// will display normally. + +.table-responsive { + overflow-x: auto; + min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837) + + @media screen and (max-width: @screen-xs-max) { + width: 100%; + margin-bottom: (@line-height-computed * 0.75); + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid @table-border-color; + + // Tighten up spacing + > .table { + margin-bottom: 0; + + // Ensure the content doesn't wrap + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + white-space: nowrap; + } + } + } + } + + // Special overrides for the bordered tables + > .table-bordered { + border: 0; + + // Nuke the appropriate borders so that the parent can handle them + > thead, + > tbody, + > tfoot { + > tr { + > th:first-child, + > td:first-child { + border-left: 0; + } + > th:last-child, + > td:last-child { + border-right: 0; + } + } + } + + // Only nuke the last row's bottom-border in `tbody` and `tfoot` since + // chances are there will be only one `tr` in a `thead` and that would + // remove the border altogether. + > tbody, + > tfoot { + > tr:last-child { + > th, + > td { + border-bottom: 0; + } + } + } + + } + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/theme.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/theme.less new file mode 100644 index 000000000..8371872b0 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/theme.less @@ -0,0 +1,291 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// +// Load core variables and mixins +// -------------------------------------------------- + +@import "variables.less"; +@import "mixins.less"; + + +// +// Buttons +// -------------------------------------------------- + +// Common styles +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0,0,0,.2); + @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075); + .box-shadow(@shadow); + + // Reset the shadow + &:active, + &.active { + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + .box-shadow(none); + } + + .badge { + text-shadow: none; + } +} + +// Mixin for generating new styles +.btn-styles(@btn-color: #555) { + #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%)); + .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620 + background-repeat: repeat-x; + border-color: darken(@btn-color, 14%); + + &:hover, + &:focus { + background-color: darken(@btn-color, 12%); + background-position: 0 -15px; + } + + &:active, + &.active { + background-color: darken(@btn-color, 12%); + border-color: darken(@btn-color, 14%); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &.focus, + &:active, + &.active { + background-color: darken(@btn-color, 12%); + background-image: none; + } + } +} + +// Common styles +.btn { + // Remove the gradient for the pressed/active state + &:active, + &.active { + background-image: none; + } +} + +// Apply the mixin to the buttons +.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; } +.btn-primary { .btn-styles(@btn-primary-bg); } +.btn-success { .btn-styles(@btn-success-bg); } +.btn-info { .btn-styles(@btn-info-bg); } +.btn-warning { .btn-styles(@btn-warning-bg); } +.btn-danger { .btn-styles(@btn-danger-bg); } + + +// +// Images +// -------------------------------------------------- + +.thumbnail, +.img-thumbnail { + .box-shadow(0 1px 2px rgba(0,0,0,.075)); +} + + +// +// Dropdowns +// -------------------------------------------------- + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%)); + background-color: darken(@dropdown-link-hover-bg, 5%); +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%)); + background-color: darken(@dropdown-link-active-bg, 5%); +} + + +// +// Navbar +// -------------------------------------------------- + +// Default navbar +.navbar-default { + #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg); + .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered + border-radius: @navbar-border-radius; + @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); + .box-shadow(@shadow); + + .navbar-nav > .open > a, + .navbar-nav > .active > a { + #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%)); + .box-shadow(inset 0 3px 9px rgba(0,0,0,.075)); + } +} +.navbar-brand, +.navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255,255,255,.25); +} + +// Inverted navbar +.navbar-inverse { + #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg); + .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257 + border-radius: @navbar-border-radius; + .navbar-nav > .open > a, + .navbar-nav > .active > a { + #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%)); + .box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); + } + + .navbar-brand, + .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } +} + +// Undo rounded corners in static and fixed navbars +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} + +// Fix active state of dropdown items in collapsed mode +@media (max-width: @grid-float-breakpoint-max) { + .navbar .navbar-nav .open .dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: #fff; + #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%)); + } + } +} + + +// +// Alerts +// -------------------------------------------------- + +// Common styles +.alert { + text-shadow: 0 1px 0 rgba(255,255,255,.2); + @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); +} + +// Mixin for generating new styles +.alert-styles(@color) { + #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%)); + border-color: darken(@color, 15%); +} + +// Apply the mixin to the alerts +.alert-success { .alert-styles(@alert-success-bg); } +.alert-info { .alert-styles(@alert-info-bg); } +.alert-warning { .alert-styles(@alert-warning-bg); } +.alert-danger { .alert-styles(@alert-danger-bg); } + + +// +// Progress bars +// -------------------------------------------------- + +// Give the progress background some depth +.progress { + #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg) +} + +// Mixin for generating new styles +.progress-bar-styles(@color) { + #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%)); +} + +// Apply the mixin to the progress bars +.progress-bar { .progress-bar-styles(@progress-bar-bg); } +.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); } +.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); } +.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); } +.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); } + +// Reset the striped class because our mixins don't do multiple gradients and +// the above custom styles override the new `.progress-bar-striped` in v3.2.0. +.progress-bar-striped { + #gradient > .striped(); +} + + +// +// List groups +// -------------------------------------------------- + +.list-group { + border-radius: @border-radius-base; + .box-shadow(0 1px 2px rgba(0,0,0,.075)); +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%); + #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%)); + border-color: darken(@list-group-active-border, 7.5%); + + .badge { + text-shadow: none; + } +} + + +// +// Panels +// -------------------------------------------------- + +// Common styles +.panel { + .box-shadow(0 1px 2px rgba(0,0,0,.05)); +} + +// Mixin for generating new styles +.panel-heading-styles(@color) { + #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%)); +} + +// Apply the mixin to the panel headings only +.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); } +.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); } +.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); } +.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); } +.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); } +.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); } + + +// +// Wells +// -------------------------------------------------- + +.well { + #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg); + border-color: darken(@well-bg, 10%); + @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1); + .box-shadow(@shadow); +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/thumbnails.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/thumbnails.less new file mode 100644 index 000000000..0713e67d0 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/thumbnails.less @@ -0,0 +1,36 @@ +// +// Thumbnails +// -------------------------------------------------- + + +// Mixin and adjust the regular image class +.thumbnail { + display: block; + padding: @thumbnail-padding; + margin-bottom: @line-height-computed; + line-height: @line-height-base; + background-color: @thumbnail-bg; + border: 1px solid @thumbnail-border; + border-radius: @thumbnail-border-radius; + .transition(border .2s ease-in-out); + + > img, + a > img { + &:extend(.img-responsive); + margin-left: auto; + margin-right: auto; + } + + // Add a hover state for linked versions only + a&:hover, + a&:focus, + a&.active { + border-color: @link-color; + } + + // Image captions + .caption { + padding: @thumbnail-caption-padding; + color: @thumbnail-caption-color; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/tooltip.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/tooltip.less new file mode 100644 index 000000000..b48d63e07 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/tooltip.less @@ -0,0 +1,101 @@ +// +// Tooltips +// -------------------------------------------------- + + +// Base class +.tooltip { + position: absolute; + z-index: @zindex-tooltip; + display: block; + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + .reset-text(); + font-size: @font-size-small; + + .opacity(0); + + &.in { .opacity(@tooltip-opacity); } + &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; } + &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; } + &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; } + &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; } +} + +// Wrapper for the tooltip content +.tooltip-inner { + max-width: @tooltip-max-width; + padding: 3px 8px; + color: @tooltip-color; + text-align: center; + background-color: @tooltip-bg; + border-radius: @border-radius-base; +} + +// Arrows +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1 +.tooltip { + &.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width 0; + border-top-color: @tooltip-arrow-color; + } + &.top-left .tooltip-arrow { + bottom: 0; + right: @tooltip-arrow-width; + margin-bottom: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width 0; + border-top-color: @tooltip-arrow-color; + } + &.top-right .tooltip-arrow { + bottom: 0; + left: @tooltip-arrow-width; + margin-bottom: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width 0; + border-top-color: @tooltip-arrow-color; + } + &.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0; + border-right-color: @tooltip-arrow-color; + } + &.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width; + border-left-color: @tooltip-arrow-color; + } + &.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -@tooltip-arrow-width; + border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; + border-bottom-color: @tooltip-arrow-color; + } + &.bottom-left .tooltip-arrow { + top: 0; + right: @tooltip-arrow-width; + margin-top: -@tooltip-arrow-width; + border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; + border-bottom-color: @tooltip-arrow-color; + } + &.bottom-right .tooltip-arrow { + top: 0; + left: @tooltip-arrow-width; + margin-top: -@tooltip-arrow-width; + border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; + border-bottom-color: @tooltip-arrow-color; + } +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/type.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/type.less new file mode 100644 index 000000000..0d4fee484 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/type.less @@ -0,0 +1,302 @@ +// +// Typography +// -------------------------------------------------- + + +// Headings +// ------------------------- + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-family: @headings-font-family; + font-weight: @headings-font-weight; + line-height: @headings-line-height; + color: @headings-color; + + small, + .small { + font-weight: normal; + line-height: 1; + color: @headings-small-color; + } +} + +h1, .h1, +h2, .h2, +h3, .h3 { + margin-top: @line-height-computed; + margin-bottom: (@line-height-computed / 2); + + small, + .small { + font-size: 65%; + } +} +h4, .h4, +h5, .h5, +h6, .h6 { + margin-top: (@line-height-computed / 2); + margin-bottom: (@line-height-computed / 2); + + small, + .small { + font-size: 75%; + } +} + +h1, .h1 { font-size: @font-size-h1; } +h2, .h2 { font-size: @font-size-h2; } +h3, .h3 { font-size: @font-size-h3; } +h4, .h4 { font-size: @font-size-h4; } +h5, .h5 { font-size: @font-size-h5; } +h6, .h6 { font-size: @font-size-h6; } + + +// Body text +// ------------------------- + +p { + margin: 0 0 (@line-height-computed / 2); +} + +.lead { + margin-bottom: @line-height-computed; + font-size: floor((@font-size-base * 1.15)); + font-weight: 300; + line-height: 1.4; + + @media (min-width: @screen-sm-min) { + font-size: (@font-size-base * 1.5); + } +} + + +// Emphasis & misc +// ------------------------- + +// Ex: (12px small font / 14px base font) * 100% = about 85% +small, +.small { + font-size: floor((100% * @font-size-small / @font-size-base)); +} + +mark, +.mark { + background-color: @state-warning-bg; + padding: .2em; +} + +// Alignment +.text-left { text-align: left; } +.text-right { text-align: right; } +.text-center { text-align: center; } +.text-justify { text-align: justify; } +.text-nowrap { white-space: nowrap; } + +// Transformation +.text-lowercase { text-transform: lowercase; } +.text-uppercase { text-transform: uppercase; } +.text-capitalize { text-transform: capitalize; } + +// Contextual colors +.text-muted { + color: @text-muted; +} +.text-primary { + .text-emphasis-variant(@brand-primary); +} +.text-success { + .text-emphasis-variant(@state-success-text); +} +.text-info { + .text-emphasis-variant(@state-info-text); +} +.text-warning { + .text-emphasis-variant(@state-warning-text); +} +.text-danger { + .text-emphasis-variant(@state-danger-text); +} + +// Contextual backgrounds +// For now we'll leave these alongside the text classes until v4 when we can +// safely shift things around (per SemVer rules). +.bg-primary { + // Given the contrast here, this is the only class to have its color inverted + // automatically. + color: #fff; + .bg-variant(@brand-primary); +} +.bg-success { + .bg-variant(@state-success-bg); +} +.bg-info { + .bg-variant(@state-info-bg); +} +.bg-warning { + .bg-variant(@state-warning-bg); +} +.bg-danger { + .bg-variant(@state-danger-bg); +} + + +// Page header +// ------------------------- + +.page-header { + padding-bottom: ((@line-height-computed / 2) - 1); + margin: (@line-height-computed * 2) 0 @line-height-computed; + border-bottom: 1px solid @page-header-border-color; +} + + +// Lists +// ------------------------- + +// Unordered and Ordered lists +ul, +ol { + margin-top: 0; + margin-bottom: (@line-height-computed / 2); + ul, + ol { + margin-bottom: 0; + } +} + +// List options + +// Unstyled keeps list items block level, just removes default browser padding and list-style +.list-unstyled { + padding-left: 0; + list-style: none; +} + +// Inline turns list items into inline-block +.list-inline { + .list-unstyled(); + margin-left: -5px; + + > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; + } +} + +// Description Lists +dl { + margin-top: 0; // Remove browser default + margin-bottom: @line-height-computed; +} +dt, +dd { + line-height: @line-height-base; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; // Undo browser default +} + +// Horizontal description lists +// +// Defaults to being stacked without any of the below styles applied, until the +// grid breakpoint is reached (default of ~768px). + +.dl-horizontal { + dd { + &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present + } + + @media (min-width: @dl-horizontal-breakpoint) { + dt { + float: left; + width: (@dl-horizontal-offset - 20); + clear: left; + text-align: right; + .text-overflow(); + } + dd { + margin-left: @dl-horizontal-offset; + } + } +} + + +// Misc +// ------------------------- + +// Abbreviations and acronyms +abbr[title], +// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257 +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted @abbr-border-color; +} +.initialism { + font-size: 90%; + .text-uppercase(); +} + +// Blockquotes +blockquote { + padding: (@line-height-computed / 2) @line-height-computed; + margin: 0 0 @line-height-computed; + font-size: @blockquote-font-size; + border-left: 5px solid @blockquote-border-color; + + p, + ul, + ol { + &:last-child { + margin-bottom: 0; + } + } + + // Note: Deprecated small and .small as of v3.1.0 + // Context: https://github.com/twbs/bootstrap/issues/11660 + footer, + small, + .small { + display: block; + font-size: 80%; // back to default font-size + line-height: @line-height-base; + color: @blockquote-small-color; + + &:before { + content: '\2014 \00A0'; // em dash, nbsp + } + } +} + +// Opposite alignment of blockquote +// +// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0. +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid @blockquote-border-color; + border-left: 0; + text-align: right; + + // Account for citation + footer, + small, + .small { + &:before { content: ''; } + &:after { + content: '\00A0 \2014'; // nbsp, em dash + } + } +} + +// Addresses +address { + margin-bottom: @line-height-computed; + font-style: normal; + line-height: @line-height-base; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/utilities.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/utilities.less new file mode 100644 index 000000000..7a8ca27a8 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/utilities.less @@ -0,0 +1,55 @@ +// +// Utility classes +// -------------------------------------------------- + + +// Floats +// ------------------------- + +.clearfix { + .clearfix(); +} +.center-block { + .center-block(); +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} + + +// Toggling content +// ------------------------- + +// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + .text-hide(); +} + + +// Hide from screenreaders and browsers +// +// Credit: HTML5 Boilerplate + +.hidden { + display: none !important; +} + + +// For Affix plugin +// ------------------------- + +.affix { + position: fixed; +} diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/variables.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/variables.less new file mode 100644 index 000000000..b057ef5bf --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/variables.less @@ -0,0 +1,869 @@ +// +// Variables +// -------------------------------------------------- + + +//== Colors +// +//## Gray and brand colors for use across Bootstrap. + +@gray-base: #000; +@gray-darker: lighten(@gray-base, 13.5%); // #222 +@gray-dark: lighten(@gray-base, 20%); // #333 +@gray: lighten(@gray-base, 33.5%); // #555 +@gray-light: lighten(@gray-base, 46.7%); // #777 +@gray-lighter: lighten(@gray-base, 93.5%); // #eee + +@brand-primary: darken(#428bca, 6.5%); // #337ab7 +@brand-success: #5cb85c; +@brand-info: #5bc0de; +@brand-warning: #f0ad4e; +@brand-danger: #d9534f; + + +//== Scaffolding +// +//## Settings for some of the most global styles. + +//** Background color for ``. +@body-bg: #fff; +//** Global text color on ``. +@text-color: @gray-dark; + +//** Global textual link color. +@link-color: @brand-primary; +//** Link hover color set via `darken()` function. +@link-hover-color: darken(@link-color, 15%); +//** Link hover decoration. +@link-hover-decoration: underline; + + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. + +@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif; +@font-family-serif: Georgia, "Times New Roman", Times, serif; +//** Default monospace fonts for ``, ``, and `
`.
+@font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace;
+@font-family-base:        @font-family-sans-serif;
+
+@font-size-base:          14px;
+@font-size-large:         ceil((@font-size-base * 1.25)); // ~18px
+@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
+
+@font-size-h1:            floor((@font-size-base * 2.6)); // ~36px
+@font-size-h2:            floor((@font-size-base * 2.15)); // ~30px
+@font-size-h3:            ceil((@font-size-base * 1.7)); // ~24px
+@font-size-h4:            ceil((@font-size-base * 1.25)); // ~18px
+@font-size-h5:            @font-size-base;
+@font-size-h6:            ceil((@font-size-base * 0.85)); // ~12px
+
+//** Unit-less `line-height` for use in components like buttons.
+@line-height-base:        1.428571429; // 20/14
+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+@line-height-computed:    floor((@font-size-base * @line-height-base)); // ~20px
+
+//** By default, this inherits from the ``.
+@headings-font-family:    inherit;
+@headings-font-weight:    500;
+@headings-line-height:    1.1;
+@headings-color:          inherit;
+
+
+//== Iconography
+//
+//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
+
+//** Load fonts from this directory.
+@icon-font-path:          "../fonts/";
+//** File name for all font files.
+@icon-font-name:          "glyphicons-halflings-regular";
+//** Element ID within SVG icon file.
+@icon-font-svg-id:        "glyphicons_halflingsregular";
+
+
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+
+@padding-base-vertical:     6px;
+@padding-base-horizontal:   12px;
+
+@padding-large-vertical:    10px;
+@padding-large-horizontal:  16px;
+
+@padding-small-vertical:    5px;
+@padding-small-horizontal:  10px;
+
+@padding-xs-vertical:       1px;
+@padding-xs-horizontal:     5px;
+
+@line-height-large:         1.3333333; // extra decimals for Win 8.1 Chrome
+@line-height-small:         1.5;
+
+@border-radius-base:        4px;
+@border-radius-large:       6px;
+@border-radius-small:       3px;
+
+//** Global color for active items (e.g., navs or dropdowns).
+@component-active-color:    #fff;
+//** Global background color for active items (e.g., navs or dropdowns).
+@component-active-bg:       @brand-primary;
+
+//** Width of the `border` for generating carets that indicator dropdowns.
+@caret-width-base:          4px;
+//** Carets increase slightly in size for larger components.
+@caret-width-large:         5px;
+
+
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
+
+//** Padding for `

 TotalUpDownIgnoredDisabledTotalUpDownIgnoredDisabledErrored
TotalTotal '. $devices['count'] .' '. $ports['count'] .'
`s and ``s. +@table-cell-padding: 8px; +//** Padding for cells in `.table-condensed`. +@table-condensed-cell-padding: 5px; + +//** Default background color used for all tables. +@table-bg: transparent; +//** Background color used for `.table-striped`. +@table-bg-accent: #f9f9f9; +//** Background color used for `.table-hover`. +@table-bg-hover: #f5f5f5; +@table-bg-active: @table-bg-hover; + +//** Border color for table and cell borders. +@table-border-color: #ddd; + + +//== Buttons +// +//## For each of Bootstrap's buttons, define text, background and border color. + +@btn-font-weight: normal; + +@btn-default-color: #333; +@btn-default-bg: #fff; +@btn-default-border: #ccc; + +@btn-primary-color: #fff; +@btn-primary-bg: @brand-primary; +@btn-primary-border: darken(@btn-primary-bg, 5%); + +@btn-success-color: #fff; +@btn-success-bg: @brand-success; +@btn-success-border: darken(@btn-success-bg, 5%); + +@btn-info-color: #fff; +@btn-info-bg: @brand-info; +@btn-info-border: darken(@btn-info-bg, 5%); + +@btn-warning-color: #fff; +@btn-warning-bg: @brand-warning; +@btn-warning-border: darken(@btn-warning-bg, 5%); + +@btn-danger-color: #fff; +@btn-danger-bg: @brand-danger; +@btn-danger-border: darken(@btn-danger-bg, 5%); + +@btn-link-disabled-color: @gray-light; + +// Allows for customizing button radius independently from global border radius +@btn-border-radius-base: @border-radius-base; +@btn-border-radius-large: @border-radius-large; +@btn-border-radius-small: @border-radius-small; + + +//== Forms +// +//## + +//** `` background color +@input-bg: #fff; +//** `` background color +@input-bg-disabled: @gray-lighter; + +//** Text color for ``s +@input-color: @gray; +//** `` border color +@input-border: #ccc; + +// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4 +//** Default `.form-control` border radius +// This has no effect on ``s in CSS. +@input-border-radius: @border-radius-base; +//** Large `.form-control` border radius +@input-border-radius-large: @border-radius-large; +//** Small `.form-control` border radius +@input-border-radius-small: @border-radius-small; + +//** Border color for inputs on focus +@input-border-focus: #66afe9; + +//** Placeholder text color +@input-color-placeholder: #999; + +//** Default `.form-control` height +@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2); +//** Large `.form-control` height +@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2); +//** Small `.form-control` height +@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); + +//** `.form-group` margin +@form-group-margin-bottom: 15px; + +@legend-color: @gray-dark; +@legend-border-color: #e5e5e5; + +//** Background color for textual input addons +@input-group-addon-bg: @gray-lighter; +//** Border color for textual input addons +@input-group-addon-border-color: @input-border; + +//** Disabled cursor for form controls and buttons. +@cursor-disabled: not-allowed; + + +//== Dropdowns +// +//## Dropdown menu container and contents. + +//** Background for the dropdown menu. +@dropdown-bg: #fff; +//** Dropdown menu `border-color`. +@dropdown-border: rgba(0,0,0,.15); +//** Dropdown menu `border-color` **for IE8**. +@dropdown-fallback-border: #ccc; +//** Divider color for between dropdown items. +@dropdown-divider-bg: #e5e5e5; + +//** Dropdown link text color. +@dropdown-link-color: @gray-dark; +//** Hover color for dropdown links. +@dropdown-link-hover-color: darken(@gray-dark, 5%); +//** Hover background for dropdown links. +@dropdown-link-hover-bg: #f5f5f5; + +//** Active dropdown menu item text color. +@dropdown-link-active-color: @component-active-color; +//** Active dropdown menu item background color. +@dropdown-link-active-bg: @component-active-bg; + +//** Disabled dropdown menu item background color. +@dropdown-link-disabled-color: @gray-light; + +//** Text color for headers within dropdown menus. +@dropdown-header-color: @gray-light; + +//** Deprecated `@dropdown-caret-color` as of v3.1.0 +@dropdown-caret-color: #000; + + +//-- Z-index master list +// +// Warning: Avoid customizing these values. They're used for a bird's eye view +// of components dependent on the z-axis and are designed to all work together. +// +// Note: These variables are not generated into the Customizer. + +@zindex-navbar: 1000; +@zindex-dropdown: 1000; +@zindex-popover: 1060; +@zindex-tooltip: 1070; +@zindex-navbar-fixed: 1030; +@zindex-modal-background: 1040; +@zindex-modal: 1050; + + +//== Media queries breakpoints +// +//## Define the breakpoints at which your layout will change, adapting to different screen sizes. + +// Extra small screen / phone +//** Deprecated `@screen-xs` as of v3.0.1 +@screen-xs: 480px; +//** Deprecated `@screen-xs-min` as of v3.2.0 +@screen-xs-min: @screen-xs; +//** Deprecated `@screen-phone` as of v3.0.1 +@screen-phone: @screen-xs-min; + +// Small screen / tablet +//** Deprecated `@screen-sm` as of v3.0.1 +@screen-sm: 768px; +@screen-sm-min: @screen-sm; +//** Deprecated `@screen-tablet` as of v3.0.1 +@screen-tablet: @screen-sm-min; + +// Medium screen / desktop +//** Deprecated `@screen-md` as of v3.0.1 +@screen-md: 992px; +@screen-md-min: @screen-md; +//** Deprecated `@screen-desktop` as of v3.0.1 +@screen-desktop: @screen-md-min; + +// Large screen / wide desktop +//** Deprecated `@screen-lg` as of v3.0.1 +@screen-lg: 1200px; +@screen-lg-min: @screen-lg; +//** Deprecated `@screen-lg-desktop` as of v3.0.1 +@screen-lg-desktop: @screen-lg-min; + +// So media queries don't overlap when required, provide a maximum +@screen-xs-max: (@screen-sm-min - 1); +@screen-sm-max: (@screen-md-min - 1); +@screen-md-max: (@screen-lg-min - 1); + + +//== Grid system +// +//## Define your custom responsive grid. + +//** Number of columns in the grid. +@grid-columns: 12; +//** Padding between columns. Gets divided in half for the left and right. +@grid-gutter-width: 30px; +// Navbar collapse +//** Point at which the navbar becomes uncollapsed. +@grid-float-breakpoint: @screen-sm-min; +//** Point at which the navbar begins collapsing. +@grid-float-breakpoint-max: (@grid-float-breakpoint - 1); + + +//== Container sizes +// +//## Define the maximum width of `.container` for different screen sizes. + +// Small screen / tablet +@container-tablet: (720px + @grid-gutter-width); +//** For `@screen-sm-min` and up. +@container-sm: @container-tablet; + +// Medium screen / desktop +@container-desktop: (940px + @grid-gutter-width); +//** For `@screen-md-min` and up. +@container-md: @container-desktop; + +// Large screen / wide desktop +@container-large-desktop: (1140px + @grid-gutter-width); +//** For `@screen-lg-min` and up. +@container-lg: @container-large-desktop; + + +//== Navbar +// +//## + +// Basics of a navbar +@navbar-height: 50px; +@navbar-margin-bottom: @line-height-computed; +@navbar-border-radius: @border-radius-base; +@navbar-padding-horizontal: floor((@grid-gutter-width / 2)); +@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2); +@navbar-collapse-max-height: 340px; + +@navbar-default-color: #777; +@navbar-default-bg: #f8f8f8; +@navbar-default-border: darken(@navbar-default-bg, 6.5%); + +// Navbar links +@navbar-default-link-color: #777; +@navbar-default-link-hover-color: #333; +@navbar-default-link-hover-bg: transparent; +@navbar-default-link-active-color: #555; +@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%); +@navbar-default-link-disabled-color: #ccc; +@navbar-default-link-disabled-bg: transparent; + +// Navbar brand label +@navbar-default-brand-color: @navbar-default-link-color; +@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%); +@navbar-default-brand-hover-bg: transparent; + +// Navbar toggle +@navbar-default-toggle-hover-bg: #ddd; +@navbar-default-toggle-icon-bar-bg: #888; +@navbar-default-toggle-border-color: #ddd; + + +//=== Inverted navbar +// Reset inverted navbar basics +@navbar-inverse-color: lighten(@gray-light, 15%); +@navbar-inverse-bg: #222; +@navbar-inverse-border: darken(@navbar-inverse-bg, 10%); + +// Inverted navbar links +@navbar-inverse-link-color: lighten(@gray-light, 15%); +@navbar-inverse-link-hover-color: #fff; +@navbar-inverse-link-hover-bg: transparent; +@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color; +@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%); +@navbar-inverse-link-disabled-color: #444; +@navbar-inverse-link-disabled-bg: transparent; + +// Inverted navbar brand label +@navbar-inverse-brand-color: @navbar-inverse-link-color; +@navbar-inverse-brand-hover-color: #fff; +@navbar-inverse-brand-hover-bg: transparent; + +// Inverted navbar toggle +@navbar-inverse-toggle-hover-bg: #333; +@navbar-inverse-toggle-icon-bar-bg: #fff; +@navbar-inverse-toggle-border-color: #333; + + +//== Navs +// +//## + +//=== Shared nav styles +@nav-link-padding: 10px 15px; +@nav-link-hover-bg: @gray-lighter; + +@nav-disabled-link-color: @gray-light; +@nav-disabled-link-hover-color: @gray-light; + +//== Tabs +@nav-tabs-border-color: #ddd; + +@nav-tabs-link-hover-border-color: @gray-lighter; + +@nav-tabs-active-link-hover-bg: @body-bg; +@nav-tabs-active-link-hover-color: @gray; +@nav-tabs-active-link-hover-border-color: #ddd; + +@nav-tabs-justified-link-border-color: #ddd; +@nav-tabs-justified-active-link-border-color: @body-bg; + +//== Pills +@nav-pills-border-radius: @border-radius-base; +@nav-pills-active-link-hover-bg: @component-active-bg; +@nav-pills-active-link-hover-color: @component-active-color; + + +//== Pagination +// +//## + +@pagination-color: @link-color; +@pagination-bg: #fff; +@pagination-border: #ddd; + +@pagination-hover-color: @link-hover-color; +@pagination-hover-bg: @gray-lighter; +@pagination-hover-border: #ddd; + +@pagination-active-color: #fff; +@pagination-active-bg: @brand-primary; +@pagination-active-border: @brand-primary; + +@pagination-disabled-color: @gray-light; +@pagination-disabled-bg: #fff; +@pagination-disabled-border: #ddd; + + +//== Pager +// +//## + +@pager-bg: @pagination-bg; +@pager-border: @pagination-border; +@pager-border-radius: 15px; + +@pager-hover-bg: @pagination-hover-bg; + +@pager-active-bg: @pagination-active-bg; +@pager-active-color: @pagination-active-color; + +@pager-disabled-color: @pagination-disabled-color; + + +//== Jumbotron +// +//## + +@jumbotron-padding: 30px; +@jumbotron-color: inherit; +@jumbotron-bg: @gray-lighter; +@jumbotron-heading-color: inherit; +@jumbotron-font-size: ceil((@font-size-base * 1.5)); +@jumbotron-heading-font-size: ceil((@font-size-base * 4.5)); + + +//== Form states and alerts +// +//## Define colors for form feedback states and, by default, alerts. + +@state-success-text: #3c763d; +@state-success-bg: #dff0d8; +@state-success-border: darken(spin(@state-success-bg, -10), 5%); + +@state-info-text: #31708f; +@state-info-bg: #d9edf7; +@state-info-border: darken(spin(@state-info-bg, -10), 7%); + +@state-warning-text: #8a6d3b; +@state-warning-bg: #fcf8e3; +@state-warning-border: darken(spin(@state-warning-bg, -10), 5%); + +@state-danger-text: #a94442; +@state-danger-bg: #f2dede; +@state-danger-border: darken(spin(@state-danger-bg, -10), 5%); + + +//== Tooltips +// +//## + +//** Tooltip max width +@tooltip-max-width: 200px; +//** Tooltip text color +@tooltip-color: #fff; +//** Tooltip background color +@tooltip-bg: #000; +@tooltip-opacity: .9; + +//** Tooltip arrow width +@tooltip-arrow-width: 5px; +//** Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; + + +//== Popovers +// +//## + +//** Popover body background color +@popover-bg: #fff; +//** Popover maximum width +@popover-max-width: 276px; +//** Popover border color +@popover-border-color: rgba(0,0,0,.2); +//** Popover fallback border color +@popover-fallback-border-color: #ccc; + +//** Popover title background color +@popover-title-bg: darken(@popover-bg, 3%); + +//** Popover arrow width +@popover-arrow-width: 10px; +//** Popover arrow color +@popover-arrow-color: @popover-bg; + +//** Popover outer arrow width +@popover-arrow-outer-width: (@popover-arrow-width + 1); +//** Popover outer arrow color +@popover-arrow-outer-color: fadein(@popover-border-color, 5%); +//** Popover outer arrow fallback color +@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%); + + +//== Labels +// +//## + +//** Default label background color +@label-default-bg: @gray-light; +//** Primary label background color +@label-primary-bg: @brand-primary; +//** Success label background color +@label-success-bg: @brand-success; +//** Info label background color +@label-info-bg: @brand-info; +//** Warning label background color +@label-warning-bg: @brand-warning; +//** Danger label background color +@label-danger-bg: @brand-danger; + +//** Default label text color +@label-color: #fff; +//** Default text color of a linked label +@label-link-hover-color: #fff; + + +//== Modals +// +//## + +//** Padding applied to the modal body +@modal-inner-padding: 15px; + +//** Padding applied to the modal title +@modal-title-padding: 15px; +//** Modal title line-height +@modal-title-line-height: @line-height-base; + +//** Background color of modal content area +@modal-content-bg: #fff; +//** Modal content border color +@modal-content-border-color: rgba(0,0,0,.2); +//** Modal content border color **for IE8** +@modal-content-fallback-border-color: #999; + +//** Modal backdrop background color +@modal-backdrop-bg: #000; +//** Modal backdrop opacity +@modal-backdrop-opacity: .5; +//** Modal header border color +@modal-header-border-color: #e5e5e5; +//** Modal footer border color +@modal-footer-border-color: @modal-header-border-color; + +@modal-lg: 900px; +@modal-md: 600px; +@modal-sm: 300px; + + +//== Alerts +// +//## Define alert colors, border radius, and padding. + +@alert-padding: 15px; +@alert-border-radius: @border-radius-base; +@alert-link-font-weight: bold; + +@alert-success-bg: @state-success-bg; +@alert-success-text: @state-success-text; +@alert-success-border: @state-success-border; + +@alert-info-bg: @state-info-bg; +@alert-info-text: @state-info-text; +@alert-info-border: @state-info-border; + +@alert-warning-bg: @state-warning-bg; +@alert-warning-text: @state-warning-text; +@alert-warning-border: @state-warning-border; + +@alert-danger-bg: @state-danger-bg; +@alert-danger-text: @state-danger-text; +@alert-danger-border: @state-danger-border; + + +//== Progress bars +// +//## + +//** Background color of the whole progress component +@progress-bg: #f5f5f5; +//** Progress bar text color +@progress-bar-color: #fff; +//** Variable for setting rounded corners on progress bar. +@progress-border-radius: @border-radius-base; + +//** Default progress bar color +@progress-bar-bg: @brand-primary; +//** Success progress bar color +@progress-bar-success-bg: @brand-success; +//** Warning progress bar color +@progress-bar-warning-bg: @brand-warning; +//** Danger progress bar color +@progress-bar-danger-bg: @brand-danger; +//** Info progress bar color +@progress-bar-info-bg: @brand-info; + + +//== List group +// +//## + +//** Background color on `.list-group-item` +@list-group-bg: #fff; +//** `.list-group-item` border color +@list-group-border: #ddd; +//** List group border radius +@list-group-border-radius: @border-radius-base; + +//** Background color of single list items on hover +@list-group-hover-bg: #f5f5f5; +//** Text color of active list items +@list-group-active-color: @component-active-color; +//** Background color of active list items +@list-group-active-bg: @component-active-bg; +//** Border color of active list elements +@list-group-active-border: @list-group-active-bg; +//** Text color for content within active list items +@list-group-active-text-color: lighten(@list-group-active-bg, 40%); + +//** Text color of disabled list items +@list-group-disabled-color: @gray-light; +//** Background color of disabled list items +@list-group-disabled-bg: @gray-lighter; +//** Text color for content within disabled list items +@list-group-disabled-text-color: @list-group-disabled-color; + +@list-group-link-color: #555; +@list-group-link-hover-color: @list-group-link-color; +@list-group-link-heading-color: #333; + + +//== Panels +// +//## + +@panel-bg: #fff; +@panel-body-padding: 15px; +@panel-heading-padding: 10px 15px; +@panel-footer-padding: @panel-heading-padding; +@panel-border-radius: @border-radius-base; + +//** Border color for elements within panels +@panel-inner-border: #ddd; +@panel-footer-bg: #f5f5f5; + +@panel-default-text: @gray-dark; +@panel-default-border: #ddd; +@panel-default-heading-bg: #f5f5f5; + +@panel-primary-text: #fff; +@panel-primary-border: @brand-primary; +@panel-primary-heading-bg: @brand-primary; + +@panel-success-text: @state-success-text; +@panel-success-border: @state-success-border; +@panel-success-heading-bg: @state-success-bg; + +@panel-info-text: @state-info-text; +@panel-info-border: @state-info-border; +@panel-info-heading-bg: @state-info-bg; + +@panel-warning-text: @state-warning-text; +@panel-warning-border: @state-warning-border; +@panel-warning-heading-bg: @state-warning-bg; + +@panel-danger-text: @state-danger-text; +@panel-danger-border: @state-danger-border; +@panel-danger-heading-bg: @state-danger-bg; + + +//== Thumbnails +// +//## + +//** Padding around the thumbnail image +@thumbnail-padding: 4px; +//** Thumbnail background color +@thumbnail-bg: @body-bg; +//** Thumbnail border color +@thumbnail-border: #ddd; +//** Thumbnail border radius +@thumbnail-border-radius: @border-radius-base; + +//** Custom text color for thumbnail captions +@thumbnail-caption-color: @text-color; +//** Padding around the thumbnail caption +@thumbnail-caption-padding: 9px; + + +//== Wells +// +//## + +@well-bg: #f5f5f5; +@well-border: darken(@well-bg, 7%); + + +//== Badges +// +//## + +@badge-color: #fff; +//** Linked badge text color on hover +@badge-link-hover-color: #fff; +@badge-bg: @gray-light; + +//** Badge text color in active nav link +@badge-active-color: @link-color; +//** Badge background color in active nav link +@badge-active-bg: #fff; + +@badge-font-weight: bold; +@badge-line-height: 1; +@badge-border-radius: 10px; + + +//== Breadcrumbs +// +//## + +@breadcrumb-padding-vertical: 8px; +@breadcrumb-padding-horizontal: 15px; +//** Breadcrumb background color +@breadcrumb-bg: #f5f5f5; +//** Breadcrumb text color +@breadcrumb-color: #ccc; +//** Text color of current page in the breadcrumb +@breadcrumb-active-color: @gray-light; +//** Textual separator for between breadcrumb elements +@breadcrumb-separator: "/"; + + +//== Carousel +// +//## + +@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6); + +@carousel-control-color: #fff; +@carousel-control-width: 15%; +@carousel-control-opacity: .5; +@carousel-control-font-size: 20px; + +@carousel-indicator-active-bg: #fff; +@carousel-indicator-border-color: #fff; + +@carousel-caption-color: #fff; + + +//== Close +// +//## + +@close-font-weight: bold; +@close-color: #000; +@close-text-shadow: 0 1px 0 #fff; + + +//== Code +// +//## + +@code-color: #c7254e; +@code-bg: #f9f2f4; + +@kbd-color: #fff; +@kbd-bg: #333; + +@pre-bg: #f5f5f5; +@pre-color: @gray-dark; +@pre-border-color: #ccc; +@pre-scrollable-max-height: 340px; + + +//== Type +// +//## + +//** Horizontal offset for forms and lists. +@component-offset-horizontal: 180px; +//** Text muted color +@text-muted: @gray-light; +//** Abbreviations and acronyms border color +@abbr-border-color: @gray-light; +//** Headings small color +@headings-small-color: @gray-light; +//** Blockquote small color +@blockquote-small-color: @gray-light; +//** Blockquote font size +@blockquote-font-size: (@font-size-base * 1.25); +//** Blockquote border color +@blockquote-border-color: @gray-lighter; +//** Page header border color +@page-header-border-color: @gray-lighter; +//** Width of horizontal description list titles +@dl-horizontal-offset: @component-offset-horizontal; +//** Point at which .dl-horizontal becomes horizontal +@dl-horizontal-breakpoint: @grid-float-breakpoint; +//** Horizontal line color. +@hr-border: @gray-lighter; diff --git a/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/wells.less b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/wells.less new file mode 100644 index 000000000..15d072b0c --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/bootstrap-3.3.5/wells.less @@ -0,0 +1,29 @@ +// +// Wells +// -------------------------------------------------- + + +// Base class +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: @well-bg; + border: 1px solid @well-border; + border-radius: @border-radius-base; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); + blockquote { + border-color: #ddd; + border-color: rgba(0,0,0,.15); + } +} + +// Sizes +.well-lg { + padding: 24px; + border-radius: @border-radius-large; +} +.well-sm { + padding: 9px; + border-radius: @border-radius-small; +} diff --git a/lib/Font-Awesome/src/assets/less/site.less b/lib/Font-Awesome/src/assets/less/site.less index 4e40a6a3c..f31be8dbb 100644 --- a/lib/Font-Awesome/src/assets/less/site.less +++ b/lib/Font-Awesome/src/assets/less/site.less @@ -8,6 +8,8 @@ @import "site/bootstrap/jumbotron"; @import "site/bootstrap/wells"; @import "site/bootstrap/type"; +@import "site/bootstrap/alerts"; +@import "site/bootstrap/modals"; @import "site/layout"; @import "site/social-buttons"; @@ -24,6 +26,7 @@ @import "site/fusion-ad"; @import "site/bsap-ad"; @import "site/sumome"; +@import "site/algolia"; @import "site/responsive/screen-lg"; @import "site/responsive/screen-md"; diff --git a/lib/Font-Awesome/src/assets/less/site/algolia.less b/lib/Font-Awesome/src/assets/less/site/algolia.less new file mode 100644 index 000000000..d97fe5950 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/site/algolia.less @@ -0,0 +1,12 @@ +.algolia { + margin-top: -20px; + padding-top: 49px; + a { + color: @text-color; + &:hover { color: @link-hover-color; } + } + .fas-algolia { + font-size: 32px; + vertical-align: middle; + } +} diff --git a/lib/Font-Awesome/src/assets/less/site/bootstrap/alerts.less b/lib/Font-Awesome/src/assets/less/site/bootstrap/alerts.less new file mode 100644 index 000000000..a82f5ef47 --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/site/bootstrap/alerts.less @@ -0,0 +1 @@ +.alert-link { text-decoration: underline; } diff --git a/lib/Font-Awesome/src/assets/less/site/bootstrap/jumbotron.less b/lib/Font-Awesome/src/assets/less/site/bootstrap/jumbotron.less index 2cf28bb50..9b666fbb0 100644 --- a/lib/Font-Awesome/src/assets/less/site/bootstrap/jumbotron.less +++ b/lib/Font-Awesome/src/assets/less/site/bootstrap/jumbotron.less @@ -10,19 +10,27 @@ font-size: 80px; letter-spacing: -2px; line-height: 1; - text-shadow: 4px 3px 0px @jumbotron-bg, 9px 8px 0px rgba(0,0,0,0.15); // double text shadow margin: 0 0 15px; } p { font-family: @font-family-alt; - color: mix(@jumbotron-color, @jumbotron-bg, 75%); margin-top: 15px; margin-bottom: 15px; font-size: 24px; line-height: 1.3; font-weight: lighter; + } +} + +.jumbotron-ad, .jumbotron-carousel { + h1 { + text-shadow: 4px 3px 0px @jumbotron-bg, 9px 8px 0px rgba(0,0,0,0.15); // double text shadow + } + p { + color: mix(@jumbotron-color, @jumbotron-bg, 75%); text-shadow: 0 1px 0 rgba(0,0,0,0.15); } + } .jumbotron-icon { @@ -34,7 +42,6 @@ border-top-color: mix(#fff, @gray-lighter, 50%); h1 { color: @gray-darker; - font-size: 30px; margin-top: @buffer-lg; small { letter-spacing: normal; @@ -66,3 +73,7 @@ .fa-1, .fa-2, .fa-3, .fa-4, .fa-5, .fa-6 { margin-right: 1/14em; } } + +h1.info-class { + font-size: 30px; +} \ No newline at end of file diff --git a/lib/Font-Awesome/src/assets/less/site/bootstrap/modals.less b/lib/Font-Awesome/src/assets/less/site/bootstrap/modals.less new file mode 100644 index 000000000..275e40c8a --- /dev/null +++ b/lib/Font-Awesome/src/assets/less/site/bootstrap/modals.less @@ -0,0 +1,6 @@ + +// Scale up the modal +@media (min-width: @screen-sm-min) { + // Modal sizes + .modal-md { width: ((@modal-md + @modal-sm) / 2); } +} diff --git a/lib/Font-Awesome/src/assets/less/site/bootstrap/variables.less b/lib/Font-Awesome/src/assets/less/site/bootstrap/variables.less index da534a919..655866484 100644 --- a/lib/Font-Awesome/src/assets/less/site/bootstrap/variables.less +++ b/lib/Font-Awesome/src/assets/less/site/bootstrap/variables.less @@ -49,14 +49,14 @@ @fa-green-dark: darken(@fa-green, 10%); @jumbotron-border: mix(@fa-green, @fa-green-dark, 75%); -@font-family-alt: proxima-nova-sc-osf, "Helvetica Neue", Helvetica, Arial, sans-serif; +@font-family-alt: proxima-nova-sc, "Helvetica Neue", Helvetica, Arial, sans-serif; // BOOTSTRAP OVERRIDES // ------------------- // Brand colors -@brand-success: mix(@fa-green, #fff, 70%); +@brand-success: @fa-green; // Links @@ -107,6 +107,10 @@ @state-info-bg: @blue-lighter; @state-info-border: darken(spin(@state-info-bg, -10), 7%); +@state-danger-text: @brand-danger; +@state-danger-bg: mix(@state-danger-text,#fff,10%); +@state-danger-border: darken(spin(@state-danger-bg, -10), 5%); + // Carousel @carousel-text-shadow: 0 1px 0 rgba(255,255,255,0.25); diff --git a/lib/Font-Awesome/src/assets/less/site/bootstrap/wells.less b/lib/Font-Awesome/src/assets/less/site/bootstrap/wells.less index c090802a0..cd2b24ebd 100644 --- a/lib/Font-Awesome/src/assets/less/site/bootstrap/wells.less +++ b/lib/Font-Awesome/src/assets/less/site/bootstrap/wells.less @@ -1 +1,10 @@ .well-transparent { background-color: transparent; } + +.well-lg { + padding: @buffer-xl; + font-size: @font-size-large + 3; + h1 { font-size: 3em; } + h2 { font-size: 2em; } + h1, h2 { margin-top: 0; } + p { margin-bottom: 30px; } +} diff --git a/lib/Font-Awesome/src/assets/less/site/bsap-ad.less b/lib/Font-Awesome/src/assets/less/site/bsap-ad.less index 36fbef386..387f98e04 100644 --- a/lib/Font-Awesome/src/assets/less/site/bsap-ad.less +++ b/lib/Font-Awesome/src/assets/less/site/bsap-ad.less @@ -3,6 +3,7 @@ div.bsap { a { display: inline-block !important; border-bottom: inherit !important; + margin: 0 15px 20px !important; } a.adhere { background: inherit !important; diff --git a/lib/Font-Awesome/src/assets/less/site/fontawesome-icon-list.less b/lib/Font-Awesome/src/assets/less/site/fontawesome-icon-list.less index 981bdd002..49dc1b003 100644 --- a/lib/Font-Awesome/src/assets/less/site/fontawesome-icon-list.less +++ b/lib/Font-Awesome/src/assets/less/site/fontawesome-icon-list.less @@ -2,6 +2,7 @@ margin-top: 22px; .fa-hover { a { + .text-ellipsis; display: block; color: @gray-darker; line-height: 32px; diff --git a/lib/Font-Awesome/src/assets/less/site/footer.less b/lib/Font-Awesome/src/assets/less/site/footer.less index 936737b0f..92c12b2a8 100644 --- a/lib/Font-Awesome/src/assets/less/site/footer.less +++ b/lib/Font-Awesome/src/assets/less/site/footer.less @@ -1,9 +1,9 @@ #footer { - // #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground); background-color: lighten(@fa-green, 2%); border-top: 1px solid @jumbotron-border; color: mix(@jumbotron-color, @fa-green, 60%); text-shadow: 0 1px 0 rgba(0,0,0,0.15); + margin-top: 60px; a { color: mix(@jumbotron-color, @fa-green, 80%); border-bottom: dotted 1px mix(@jumbotron-color, @fa-green, 60%); @@ -13,7 +13,10 @@ border-bottom: solid 1px @jumbotron-color; } } - .container { padding-top: 40px; } + .container { + padding-top: 50px; + padding-bottom: 55px; + } .project { margin-top: 10px; } } @@ -21,20 +24,20 @@ // Sticky Footer Styles // -------------------- -html, body { height: 100%; } - -#wrap { - min-height: 100%; - height: auto !important; - height: 100%; -} - -.sticky-footer(); - -.sticky-footer(@footer-height: 251px, @footer-margin: 60px) { - #wrap { - margin: 0 auto -(@footer-height); - padding: 0 0 (@footer-height + @footer-margin); - } - #footer { height: @footer-height; } -} \ No newline at end of file +//html, body { height: 100%; } +// +//#wrap { +// min-height: 100%; +// height: auto !important; +// height: 100%; +//} +// +//.sticky-footer(); +// +//.sticky-footer(@footer-height: 356px, @footer-margin: 60px) { +// #wrap { +// margin: 0 auto -(@footer-height); +// padding: 0 0 (@footer-height + @footer-margin); +// } +// #footer { height: @footer-height; } +//} diff --git a/lib/Font-Awesome/src/assets/less/site/lazy.less b/lib/Font-Awesome/src/assets/less/site/lazy.less index 7207aaeea..8f9e45ced 100644 --- a/lib/Font-Awesome/src/assets/less/site/lazy.less +++ b/lib/Font-Awesome/src/assets/less/site/lazy.less @@ -1,63 +1,80 @@ -@buffer-none: 0px; -@buffer-sm: 5px; -@buffer-md: 10px; -@buffer-lg: 22px; +@buffer-none: 0px; +@buffer-sm: 5px; +@buffer-md: 10px; +@buffer-lg: 22px; +@buffer-xl: 40px; .padding-none { padding: @buffer-none !important; } .padding { padding: @buffer-md !important; } .padding-sm { padding: @buffer-sm !important; } .padding-lg { padding: @buffer-lg !important; } +.padding-xl { padding: @buffer-xl !important; } .padding-top-none { padding-top: @buffer-none !important; } .padding-top { padding-top: @buffer-md !important; } .padding-top-sm { padding-top: @buffer-sm !important; } .padding-top-lg { padding-top: @buffer-lg !important; } +.padding-top-xl { padding-top: @buffer-xl !important; } .padding-right-none { padding-right: @buffer-none !important; } .padding-right { padding-right: @buffer-md !important; } .padding-right-sm { padding-right: @buffer-sm !important; } .padding-right-lg { padding-right: @buffer-lg !important; } +.padding-right-xl { padding-right: @buffer-xl !important; } .padding-bottom-none { padding-bottom: @buffer-none !important; } .padding-bottom { padding-bottom: @buffer-md !important; } .padding-bottom-sm { padding-bottom: @buffer-sm !important; } .padding-bottom-lg { padding-bottom: @buffer-lg !important; } +.padding-bottom-xl { padding-bottom: @buffer-xl !important; } .padding-left-none { padding-left: @buffer-none !important; } .padding-left { padding-left: @buffer-md !important; } .padding-left-sm { padding-left: @buffer-sm !important; } .padding-left-lg { padding-left: @buffer-lg !important; } +.padding-left-xl { padding-left: @buffer-xl !important; } .margin-none { margin: @buffer-none !important; } .margin { margin: @buffer-md !important; } .margin-sm { margin: @buffer-sm !important; } .margin-lg { margin: @buffer-lg !important; } +.margin-xl { margin: @buffer-xl !important; } .margin-top-none { margin-top: @buffer-none !important; } .margin-top { margin-top: @buffer-md !important; } -.margin-top-lg { margin-top: @buffer-lg !important; } .margin-top-sm { margin-top: @buffer-sm !important; } +.margin-top-lg { margin-top: @buffer-lg !important; } +.margin-top-xl { margin-top: @buffer-xl !important; } .margin-right-none { margin-right: @buffer-none !important; } .margin-right { margin-right: @buffer-md !important; } -.margin-right-lg { margin-right: @buffer-lg !important; } .margin-right-sm { margin-right: @buffer-sm !important; } +.margin-right-lg { margin-right: @buffer-lg !important; } +.margin-right-xl { margin-right: @buffer-xl !important; } .margin-bottom-none { margin-bottom: @buffer-none !important; } .margin-bottom { margin-bottom: @buffer-md !important; } -.margin-bottom-lg { margin-bottom: @buffer-lg !important; } .margin-bottom-sm { margin-bottom: @buffer-sm !important; } +.margin-bottom-lg { margin-bottom: @buffer-lg !important; } +.margin-bottom-xl { margin-bottom: @buffer-xl !important; } .margin-left-none { margin-left: @buffer-none !important; } .margin-left { margin-left: @buffer-md !important; } -.margin-left-lg { margin-left: @buffer-lg !important; } .margin-left-sm { margin-left: @buffer-sm !important; } +.margin-left-lg { margin-left: @buffer-lg !important; } +.margin-left-xl { margin-left: @buffer-xl !important; } .border-left-none { border-left: none !important; } .border-right-none { border-right: none !important; } .border-bottom-none { border-bottom: none !important; } .border-top-none { border-top: none !important; } +.text-sm { font-size: @font-size-small !important; } +.text-base { font-size: @font-size-base !important; } +.text-md { font-size: @font-size-base + 2 !important; } +.text-lg { font-size: @font-size-large !important; } + + .display-block { display: block; } // use to swap an anchor tag to span a whole row to make click target larger .no-underline:hover { text-decoration: none; } .clickable { cursor: pointer; } diff --git a/lib/Font-Awesome/src/assets/less/site/responsive/screen-sm.less b/lib/Font-Awesome/src/assets/less/site/responsive/screen-sm.less index 199894e9a..083d35f1d 100644 --- a/lib/Font-Awesome/src/assets/less/site/responsive/screen-sm.less +++ b/lib/Font-Awesome/src/assets/less/site/responsive/screen-sm.less @@ -43,7 +43,5 @@ .action { width: 33%; } } - .sticky-footer(271px, 60px); - .hide-sm { display: none; } } diff --git a/lib/Font-Awesome/src/assets/less/site/responsive/screen-xs.less b/lib/Font-Awesome/src/assets/less/site/responsive/screen-xs.less index b3a43593a..052638c28 100644 --- a/lib/Font-Awesome/src/assets/less/site/responsive/screen-xs.less +++ b/lib/Font-Awesome/src/assets/less/site/responsive/screen-xs.less @@ -71,8 +71,12 @@ .tagline { margin-bottom: 10px; } } - - .sticky-footer(331px, 60px); - .hide-xs { display: none; } -} \ No newline at end of file + + .block-xs { display: block; } + + .modal-footer .block-xs + .block-xs { + margin-left: 0; + margin-top: 10px; + } +} diff --git a/lib/Font-Awesome/src/assets/less/site/search.less b/lib/Font-Awesome/src/assets/less/site/search.less index 79a00d860..a9c8bb686 100644 --- a/lib/Font-Awesome/src/assets/less/site/search.less +++ b/lib/Font-Awesome/src/assets/less/site/search.less @@ -1,25 +1,40 @@ -.filter-parent { +#search { position: relative; font-size: 18px; padding-top: 40px; - margin: -20px auto 50px; + margin: -20px auto 0px; + label { position: absolute; left: 17px; - top: 50px; + top: 51px; } - #filter-by, .hint { + + #search-input, .hint { padding-left: 43px; padding-right: 43px; border-radius: 23px; } + .hint { color: #aaa; } - #filter-clear { + + #search-clear { text-decoration: none; position: absolute; right: 18px; - top: 53px; + top: 54px; + color: @text-muted; + &:hover { + color: mix(#000, @text-muted, 20%); + } + } +} + +#search-results { + em { + font-style: normal; + text-decoration: underline; } } diff --git a/lib/Font-Awesome/src/assets/less/site/social-buttons.less b/lib/Font-Awesome/src/assets/less/site/social-buttons.less index 7409c99d0..5b84d60d0 100644 --- a/lib/Font-Awesome/src/assets/less/site/social-buttons.less +++ b/lib/Font-Awesome/src/assets/less/site/social-buttons.less @@ -7,3 +7,13 @@ border-top: 1px solid #fff; border-bottom: 1px solid #eee; } + +#subscribe { + padding: 22px 0 17px; + text-align: center; +} + +label.error { + color: @state-danger-text; + margin-top: 5px; +} diff --git a/lib/Font-Awesome/src/cheatsheet.html b/lib/Font-Awesome/src/cheatsheet.html index dfd6d13c3..1dd202ca0 100644 --- a/lib/Font-Awesome/src/cheatsheet.html +++ b/lib/Font-Awesome/src/cheatsheet.html @@ -24,10 +24,11 @@ relative_path: ../ {% for icon in sorted_icons %}
+ {% if icon.created >= site.fontawesome.major_version %}{{ icon.created }}{% endif %} &#x{{ icon.unicode }} fa-{{ icon.class }} {% if icon.alias_of %} (alias){% endif %} - [&#x{{ icon.unicode }};] + [&#x{{ icon.unicode }};]
{% endfor %} diff --git a/lib/Font-Awesome/src/get-started.html b/lib/Font-Awesome/src/get-started.html index 3184a2328..22e11e109 100644 --- a/lib/Font-Awesome/src/get-started.html +++ b/lib/Font-Awesome/src/get-started.html @@ -21,13 +21,13 @@ relative_path: ../ {% include stripe-ad.html %}
- -

Thanks to the generous folks at MaxCDN, you can use Bootstrap CDN to add Font Awesome into your website with a single line of code. You don't even have to download or install anything!

+ +

Thanks to the generous folks at MaxCDN, you can use Bootstrap CDN to add Font Awesome into your website with a single line of code. You don't even have to download or install anything!

  1. Paste the following code into the <head> section of your site's HTML. {% highlight html %} - + {% endhighlight %}

    Immediately after release, it takes a bit of time for BootstrapCDN to catch up and get the newest version live on their CDN.

  2. @@ -146,9 +146,22 @@ $ gem install font-awesome-sass

    In order to provide the best possible experience to old and buggy browsers, Font Awesome uses CSS browser hacks in several places to target special CSS to certain browser versions in order to work around bugs in the browsers themselves. These hacks understandably cause CSS validators to complain that they are invalid. In a couple places, we also use bleeding-edge CSS features that aren't yet fully standardized, but these are used purely for progressive enhancement.

    These validation warnings don't matter in practice since the non-hacky portion of our CSS does fully validate and the hacky portions don't interfere with the proper functioning of the non-hacky portion, hence why we deliberately ignore these particular warnings.

    +

    Getting started - Validators by Bootstrap Team is licensed under CC BY 3.0

    -
    +
    + +

    + IE8 has some issues with @font-face when combined with :before. + Font Awesome uses that combination. If a page is cached, and loaded without the mouse over the window + (i.e. hit the refresh button or load something in an iframe) then the page gets rendered before the font loads. + Hovering over the page (body) will show some of the icons and hovering over the remaining icons will show those as well. + See issue #954 for details. +

    +

    Getting started - Internet Explorer 8 and @font-face by Bootstrap Team is licensed under CC BY 3.0

    +
    + +

    If you need IE7 support, you have my condolences. Really. Font Awesome {{ site.fontawesome.version }} diff --git a/lib/Font-Awesome/src/icons.html b/lib/Font-Awesome/src/icons.html index becbb0299..d91963096 100644 --- a/lib/Font-Awesome/src/icons.html +++ b/lib/Font-Awesome/src/icons.html @@ -10,7 +10,7 @@ relative_path: ../ {% include jumbotron.html %} {% include stripe-social.html %} -

    +
    {% capture stripe_ad_content %}

    You asked, Font Awesome delivers with {{ icons | version:site.fontawesome.minor_version | size }} shiny new icons in version {{ site.fontawesome.minor_version }}. @@ -21,21 +21,77 @@ relative_path: ../ {% endcapture %} {% include stripe-ad.html %} - {% include icons/filter.html %} +

    +
    + +
    + +
    - {% include icons/new.html %} - {% include icons/web-application.html %} - {% include icons/transportation.html %} - {% include icons/gender.html %} - {% include icons/file-type.html %} - {% include icons/spinner.html %} - {% include icons/form-control.html %} - {% include icons/payment.html %} - {% include icons/chart.html %} - {% include icons/currency.html %} - {% include icons/text-editor.html %} - {% include icons/directional.html %} - {% include icons/video-player.html %} - {% include icons/brand.html %} - {% include icons/medical.html %} +
    +
    + {% include icons/new.html %} + {% include icons/web-application.html %} + {% include icons/hand.html %} + {% include icons/transportation.html %} + {% include icons/gender.html %} + {% include icons/file-type.html %} + {% include icons/spinner.html %} + {% include icons/form-control.html %} + {% include icons/payment.html %} + {% include icons/chart.html %} + {% include icons/currency.html %} + {% include icons/text-editor.html %} + {% include icons/directional.html %} + {% include icons/video-player.html %} + {% include icons/brand.html %} + {% include icons/medical.html %} +
    + +
    diff --git a/lib/Font-Awesome/src/icons.yml b/lib/Font-Awesome/src/icons.yml index 538472fa4..a304ee5cd 100644 --- a/lib/Font-Awesome/src/icons.yml +++ b/lib/Font-Awesome/src/icons.yml @@ -155,6 +155,7 @@ icons: - agree - accept - confirm + - tick categories: - Web Application Icons @@ -169,6 +170,7 @@ icons: - close - exit - x + - cross categories: - Web Application Icons @@ -340,6 +342,7 @@ icons: created: 1.0 filter: - reload + - sync categories: - Web Application Icons - Spinner Icons @@ -672,6 +675,9 @@ icons: created: 1.0 filter: - raindrop + - waterdrop + - drop + - droplet categories: - Web Application Icons @@ -963,15 +969,15 @@ icons: id: ban unicode: f05e created: 1.0 + filter: - delete - remove - trash - hide - block - stop - filter: - - block - abort + - cancel categories: - Web Application Icons @@ -1037,7 +1043,9 @@ icons: unicode: f066 created: 1.0 filter: + - collapse - combine + - contract - merge - smaller categories: @@ -1196,8 +1204,10 @@ icons: created: 1.0 filter: - sort + - shuffle categories: - Web Application Icons + - Video Player Icons - name: comment id: comment @@ -1207,6 +1217,9 @@ icons: - speech - notification - note + - chat + - bubble + - feedback categories: - Web Application Icons @@ -1297,6 +1310,7 @@ icons: - bar-chart-o filter: - graph + - analytics categories: - Web Application Icons - Chart Icons @@ -1372,8 +1386,10 @@ icons: - approve - favorite - agree + - hand categories: - Web Application Icons + - Hand Icons - name: Thumbs Down Outlined id: thumbs-o-down @@ -1383,8 +1399,10 @@ icons: - dislike - disapprove - disagree + - hand categories: - Web Application Icons + - Hand Icons - name: star-half id: star-half @@ -1460,6 +1478,8 @@ icons: filter: - enter - join + - log in + - login - sign up - sign in - signin @@ -1514,6 +1534,7 @@ icons: - voice - number - support + - earphone categories: - Web Application Icons @@ -1589,6 +1610,7 @@ icons: - protect - admin - password + - lock categories: - Web Application Icons @@ -1612,8 +1634,9 @@ icons: unicode: f09e created: 2.0 filter: - - feed - blog + aliases: + - feed categories: - Web Application Icons @@ -1674,6 +1697,7 @@ icons: - forward categories: - Directional Icons + - Hand Icons - name: Hand Outlined Left id: hand-o-left @@ -1686,6 +1710,7 @@ icons: - back categories: - Directional Icons + - Hand Icons - name: Hand Outlined Up id: hand-o-up @@ -1695,6 +1720,7 @@ icons: - point categories: - Directional Icons + - Hand Icons - name: Hand Outlined Down id: hand-o-down @@ -1704,6 +1730,7 @@ icons: - point categories: - Directional Icons + - Hand Icons - name: Arrow Circle Left id: arrow-circle-left @@ -1818,6 +1845,7 @@ icons: filter: - expand - enlarge + - fullscreen - bigger - move - reorder @@ -1939,6 +1967,7 @@ icons: - checklist - todo - list + - hamburger categories: - Web Application Icons @@ -2072,6 +2101,7 @@ icons: - more - dropdown - menu + - triangle down categories: - Directional Icons @@ -2079,6 +2109,8 @@ icons: id: caret-up unicode: f0d8 created: 2.0 + filter: + - triangle up categories: - Directional Icons @@ -2089,6 +2121,7 @@ icons: filter: - previous - back + - triangle left categories: - Directional Icons @@ -2099,6 +2132,7 @@ icons: filter: - next - forward + - triangle right categories: - Directional Icons @@ -2126,11 +2160,11 @@ icons: - name: Sort Descending id: sort-desc unicode: f0dd + created: 2.0 filter: - dropdown - more - menu - created: 2.0 aliases: - sort-down categories: @@ -2150,6 +2184,7 @@ icons: id: envelope unicode: f0e0 created: 2.0 + filter: - email - e-mail - letter @@ -2279,8 +2314,12 @@ icons: id: exchange unicode: f0ec created: 3.0 + filter: + - transfer + - arrows categories: - Web Application Icons + - Directional Icons - name: Cloud Download id: cloud-download @@ -2394,6 +2433,7 @@ icons: - business - apartment - office + - company categories: - Web Application Icons @@ -2426,6 +2466,7 @@ icons: - firstaid - help - support + - health categories: - Medical Icons @@ -3432,8 +3473,10 @@ icons: - favorite - approve - agree + - hand categories: - Web Application Icons + - Hand Icons - name: thumbs-down id: thumbs-down @@ -3443,8 +3486,10 @@ icons: - dislike - disapprove - disagree + - hand categories: - Web Application Icons + - Hand Icons - name: YouTube Square id: youtube-square @@ -3602,6 +3647,7 @@ icons: id: windows unicode: f17a created: 3.2 + filter: - microsoft categories: - Brand Icons @@ -3729,6 +3775,7 @@ icons: created: 3.2 filter: - report + - insect categories: - Web Application Icons @@ -3887,7 +3934,7 @@ icons: categories: - Web Application Icons - - name: Wordpress Logo + - name: WordPress Logo id: wordpress unicode: f19a created: 4.1 @@ -3917,6 +3964,10 @@ icons: created: 4.1 aliases: - mortar-board + filter: + - learning + - school + - student categories: - Web Application Icons @@ -4023,6 +4074,12 @@ icons: id: building unicode: f1ad created: 4.1 + filter: + - work + - business + - apartment + - office + - company categories: - Web Application Icons @@ -4038,6 +4095,8 @@ icons: id: paw unicode: f1b0 created: 4.1 + filter: + - pet categories: - Web Application Icons @@ -4315,6 +4374,9 @@ icons: id: hacker-news unicode: f1d4 created: 4.1 + aliases: + - y-combinator-square + - yc-square categories: - Brand Icons @@ -4371,16 +4433,15 @@ icons: id: circle-thin unicode: f1db created: 4.1 - aliases: - - genderless categories: - Web Application Icons - - Gender Icons - name: header id: header unicode: f1dc created: 4.1 + filter: + - heading categories: - Text Editor Icons @@ -4477,6 +4538,8 @@ icons: id: newspaper-o unicode: f1ea created: 4.2 + filter: + - press categories: - Web Application Icons @@ -4502,7 +4565,7 @@ icons: - Brand Icons - Payment Icons - - name: Goole Wallet + - name: Google Wallet id: google-wallet unicode: f1ee created: 4.2 @@ -4539,6 +4602,8 @@ icons: id: cc-amex unicode: f1f3 created: 4.2 + filter: + - amex categories: - Brand Icons - Payment Icons @@ -4577,6 +4642,11 @@ icons: id: trash unicode: f1f8 created: 4.2 + filter: + - garbage + - delete + - remove + - hide categories: - Web Application Icons @@ -4622,6 +4692,9 @@ icons: categories: - Web Application Icons - Chart Icons + filter: + - graph + - analytics - name: Pie Chart @@ -4631,6 +4704,9 @@ icons: categories: - Web Application Icons - Chart Icons + filter: + - graph + - analytics - name: Line Chart id: line-chart @@ -4639,6 +4715,9 @@ icons: categories: - Web Application Icons - Chart Icons + filter: + - graph + - analytics - name: last.fm id: lastfm @@ -4915,6 +4994,8 @@ icons: id: transgender unicode: f224 created: 4.3 + aliases: + - intersex categories: - Gender Icons @@ -4974,6 +5055,13 @@ icons: categories: - Gender Icons + - name: Genderless + id: genderless + unicode: f22d + created: 4.4 + categories: + - Gender Icons + - name: Facebook Official id: facebook-official @@ -5007,6 +5095,9 @@ icons: id: user-plus unicode: f234 created: 4.3 + filter: + - sign up + - signup categories: - Web Application Icons @@ -5056,3 +5147,504 @@ icons: created: 4.3 categories: - Brand Icons + + - name: Y Combinator + id: y-combinator + unicode: f23b + created: 4.4 + aliases: + - yc + categories: + - Brand Icons + + - name: Optin Monster + id: optin-monster + unicode: f23c + created: 4.4 + url: optinmonster.com + categories: + - Brand Icons + + - name: OpenCart + id: opencart + unicode: f23d + created: 4.4 + url: opencart.com + categories: + - Brand Icons + + - name: ExpeditedSSL + id: expeditedssl + unicode: f23e + created: 4.4 + categories: + - Brand Icons + + + - name: Battery Full + id: battery-full + unicode: f240 + created: 4.4 + aliases: + - battery-4 + categories: + - Web Application Icons + + - name: Battery 3/4 Full + id: battery-three-quarters + unicode: f241 + created: 4.4 + aliases: + - battery-3 + categories: + - Web Application Icons + + - name: Battery 1/2 Full + id: battery-half + unicode: f242 + created: 4.4 + aliases: + - battery-2 + categories: + - Web Application Icons + + - name: Battery 1/4 Full + id: battery-quarter + unicode: f243 + created: 4.4 + aliases: + - battery-1 + categories: + - Web Application Icons + + - name: Battery Empty + id: battery-empty + unicode: f244 + created: 4.4 + aliases: + - battery-0 + categories: + - Web Application Icons + + - name: Mouse Pointer + id: mouse-pointer + unicode: f245 + created: 4.4 + categories: + - Web Application Icons + + - name: I Beam Cursor + id: i-cursor + unicode: f246 + created: 4.4 + categories: + - Web Application Icons + + - name: Object Group + id: object-group + unicode: f247 + created: 4.4 + categories: + - Web Application Icons + + - name: Object Ungroup + id: object-ungroup + unicode: f248 + created: 4.4 + categories: + - Web Application Icons + + - name: Sticky Note + id: sticky-note + unicode: f249 + created: 4.4 + categories: + - Web Application Icons + + - name: Sticky Note Outlined + id: sticky-note-o + unicode: f24a + created: 4.4 + categories: + - Web Application Icons + + - name: JCB Credit Card + id: cc-jcb + unicode: f24b + created: 4.4 + categories: + - Brand Icons + - Payment Icons + + - name: Diner's Club Credit Card + id: cc-diners-club + unicode: f24c + created: 4.4 + categories: + - Brand Icons + - Payment Icons + + - name: Clone + id: clone + unicode: f24d + created: 4.4 + filter: + - copy + categories: + - Web Application Icons + + - name: Balance Scale + id: balance-scale + unicode: f24e + created: 4.4 + categories: + - Web Application Icons + + + - name: Hourglass Outlined + id: hourglass-o + unicode: f250 + created: 4.4 + categories: + - Web Application Icons + + - name: Hourglass Start + id: hourglass-start + unicode: f251 + created: 4.4 + aliases: + - hourglass-1 + categories: + - Web Application Icons + + - name: Hourglass Half + id: hourglass-half + unicode: f252 + created: 4.4 + aliases: + - hourglass-2 + categories: + - Web Application Icons + + - name: Hourglass End + id: hourglass-end + unicode: f253 + created: 4.4 + aliases: + - hourglass-3 + categories: + - Web Application Icons + + - name: Hourglass + id: hourglass + unicode: f254 + created: 4.4 + categories: + - Web Application Icons + + - name: Rock (Hand) + id: hand-rock-o + unicode: f255 + created: 4.4 + aliases: + - hand-grab-o + categories: + - Web Application Icons + - Hand Icons + + - name: Paper (Hand) + id: hand-paper-o + unicode: f256 + created: 4.4 + aliases: + - hand-stop-o + categories: + - Web Application Icons + - Hand Icons + + - name: Scissors (Hand) + id: hand-scissors-o + unicode: f257 + created: 4.4 + categories: + - Web Application Icons + - Hand Icons + + - name: Lizard (Hand) + id: hand-lizard-o + unicode: f258 + created: 4.4 + categories: + - Web Application Icons + - Hand Icons + + - name: Spock (Hand) + id: hand-spock-o + unicode: f259 + created: 4.4 + categories: + - Web Application Icons + - Hand Icons + + - name: Hand Pointer + id: hand-pointer-o + unicode: f25a + created: 4.4 + categories: + - Web Application Icons + - Hand Icons + + - name: Hand Peace + id: hand-peace-o + unicode: f25b + created: 4.4 + categories: + - Web Application Icons + - Hand Icons + + - name: Trademark + id: trademark + unicode: f25c + created: 4.4 + categories: + - Web Application Icons + + - name: Registered Trademark + id: registered + unicode: f25d + created: 4.4 + categories: + - Web Application Icons + + - name: Creative Commons + id: creative-commons + unicode: f25e + created: 4.4 + categories: + - Web Application Icons + + + - name: GG Currency + id: gg + unicode: f260 + created: 4.4 + categories: + - Currency Icons + - Brand Icons + + - name: GG Currency Circle + id: gg-circle + unicode: f261 + created: 4.4 + categories: + - Currency Icons + - Brand Icons + + - name: TripAdvisor + id: tripadvisor + unicode: f262 + created: 4.4 + categories: + - Brand Icons + + - name: Odnoklassniki + id: odnoklassniki + unicode: f263 + created: 4.4 + categories: + - Brand Icons + + - name: Odnoklassniki Square + id: odnoklassniki-square + unicode: f264 + created: 4.4 + categories: + - Brand Icons + + - name: Get Pocket + id: get-pocket + unicode: f265 + created: 4.4 + categories: + - Brand Icons + + - name: Wikipedia W + id: wikipedia-w + unicode: f266 + created: 4.4 + categories: + - Brand Icons + + - name: Safari + id: safari + unicode: f267 + created: 4.4 + categories: + - Brand Icons + + - name: Chrome + id: chrome + unicode: f268 + created: 4.4 + categories: + - Brand Icons + + - name: Firefox + id: firefox + unicode: f269 + created: 4.4 + categories: + - Brand Icons + + - name: Opera + id: opera + unicode: f26a + created: 4.4 + categories: + - Brand Icons + + - name: Internet-explorer + id: internet-explorer + unicode: f26b + created: 4.4 + categories: + - Brand Icons + + - name: Television + id: television + unicode: f26c + created: 4.4 + aliases: + - tv + categories: + - Web Application Icons + + - name: Contao + id: contao + unicode: f26d + created: 4.4 + categories: + - Brand Icons + + - name: 500px + id: 500px + unicode: f26e + created: 4.4 + categories: + - Brand Icons + + + - name: Amazon + id: amazon + unicode: f270 + created: 4.4 + categories: + - Brand Icons + + - name: Calendar Plus Outlined + id: calendar-plus-o + unicode: f271 + created: 4.4 + categories: + - Web Application Icons + + - name: Calendar Minus Outlined + id: calendar-minus-o + unicode: f272 + created: 4.4 + categories: + - Web Application Icons + + - name: Calendar Times Outlined + id: calendar-times-o + unicode: f273 + created: 4.4 + categories: + - Web Application Icons + + - name: Calendar Check Outlined + id: calendar-check-o + unicode: f274 + created: 4.4 + categories: + - Web Application Icons + + - name: Industry + id: industry + unicode: f275 + created: 4.4 + categories: + - Web Application Icons + + - name: Map Pin + id: map-pin + unicode: f276 + created: 4.4 + categories: + - Web Application Icons + + - name: Map Signs + id: map-signs + unicode: f277 + created: 4.4 + categories: + - Web Application Icons + + - name: Map Outline + id: map-o + unicode: f278 + created: 4.4 + categories: + - Web Application Icons + + - name: Map + id: map + unicode: f279 + created: 4.4 + categories: + - Web Application Icons + + - name: Commenting + id: commenting + unicode: f27a + created: 4.4 + categories: + - Web Application Icons + + - name: Commenting Outlined + id: commenting-o + unicode: f27b + created: 4.4 + categories: + - Web Application Icons + + - name: Houzz + id: houzz + unicode: f27c + created: 4.4 + categories: + - Brand Icons + + - name: Vimeo + id: vimeo + unicode: f27d + created: 4.4 + categories: + - Brand Icons + + - name: Font Awesome Black Tie + id: black-tie + unicode: f27e + created: 4.4 + url: blacktie.io + categories: + - Brand Icons + + + - name: Fonticons + id: fonticons + unicode: f280 + created: 4.4 + url: fonticons.com + categories: + - Brand Icons diff --git a/lib/Font-Awesome/src/index.html b/lib/Font-Awesome/src/index.html index ebe1750fd..af1f6297d 100644 --- a/lib/Font-Awesome/src/index.html +++ b/lib/Font-Awesome/src/index.html @@ -20,3 +20,5 @@ relative_path: ./ {% include why.html %} {% include thanks-to.html %}
    + +{% include modals/download.html %} diff --git a/lib/Font-Awesome/src/test.html b/lib/Font-Awesome/src/test.html index ac9017229..09a9536e7 100644 --- a/lib/Font-Awesome/src/test.html +++ b/lib/Font-Awesome/src/test.html @@ -509,28 +509,28 @@ relative_path: ../

    - + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et lectus id nisl hendrerit varius. Aliquam erat volutpat. Suspendisse potenti. Aliquam erat volutpat. Aliquam ut dolor lectus.

    - + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et lectus id nisl hendrerit varius. Aliquam erat volutpat. Suspendisse potenti. Aliquam erat volutpat. Aliquam ut dolor lectus.

    - + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et lectus id nisl hendrerit varius. Aliquam erat volutpat. Suspendisse potenti. Aliquam erat volutpat. Aliquam ut dolor lectus.
    - + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et lectus id nisl hendrerit varius. Aliquam erat volutpat. Suspendisse potenti. Aliquam erat volutpat. Aliquam ut dolor lectus.
    - + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et lectus id nisl hendrerit varius. Aliquam erat volutpat. Suspendisse potenti. Aliquam erat volutpat. Aliquam ut dolor lectus.
    diff --git a/lib/Font-Awesome/src/thanks.html b/lib/Font-Awesome/src/thanks.html new file mode 100644 index 000000000..3a0ab1c36 --- /dev/null +++ b/lib/Font-Awesome/src/thanks.html @@ -0,0 +1,29 @@ +--- +layout: base +title: Thanks for subscribing! +relative_path: ../ +--- + +
    +
    +
    +
    +

    You're all set!

    +

    + Thanks for signing up! + We'll send you email updates on new Font Awesome releases, icons, and other stuff that we're working on. + We won't spam you. Scout's honor! +

    + +

    What's next?

    +

    + Want to see what we're working on next? Check out Fonticons! We're making it easy to put the perfect icons + on your website. Pick from gorgeous, comprehensive icon sets or copy and paste your own vector icons. +

    + + Check out Fonticons! + +
    +
    +
    +
    From fcf3a806557b990ded2c994e14cf5dc55d26c5bb Mon Sep 17 00:00:00 2001 From: Mike Rostermund Date: Sat, 17 Oct 2015 11:31:57 +0200 Subject: [PATCH 085/142] Allow user to influence when devices are grouped on world map from widget settings --- html/includes/common/worldmap.inc.php | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/html/includes/common/worldmap.inc.php b/html/includes/common/worldmap.inc.php index fdec3fc26..bf9e6f36e 100644 --- a/html/includes/common/worldmap.inc.php +++ b/html/includes/common/worldmap.inc.php @@ -46,7 +46,7 @@ if ($config['map']['engine'] == 'leaflet') {
    -
    +
    +
    +
    + +
    +
    + +
    +
    @@ -87,13 +95,21 @@ if ($config['map']['engine'] == 'leaflet') { $init_lng = $config['leaflet']['default_lng']; $init_zoom = $config['leaflet']['default_zoom']; } + if (!empty($widget_settings['group_radius'])) { + $group_radius = $widget_settings['group_radius']; + } + else { + $group_radius = 80; + } $map_init = "[" . $init_lat . ", " . $init_lng . "], " . sprintf("%01.0f", $init_zoom); $temp_output .= 'var map = L.map(\'leaflet-map\').setView('.$map_init.'); L.tileLayer(\'//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\', { attribution: \'© OpenStreetMap contributors\' }).addTo(map); -var markers = L.markerClusterGroup(); +var markers = L.markerClusterGroup({ + maxClusterRadius: ' . $group_radius . ', + }); var redMarker = L.AwesomeMarkers.icon({ icon: \'server\', markerColor: \'red\', prefix: \'fa\', iconColor: \'white\' From 0af676ecb91679adabdb0fe6bdf74c58b6872318 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 11:28:03 +0000 Subject: [PATCH 086/142] Updated for field --- html/pages/device/edit/misc.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/pages/device/edit/misc.inc.php b/html/pages/device/edit/misc.inc.php index 8a38293ed..a85689852 100644 --- a/html/pages/device/edit/misc.inc.php +++ b/html/pages/device/edit/misc.inc.php @@ -3,7 +3,7 @@ echo '
    - +
    '.dynamic_override_config('checkbox','override_icmp_disable', $device).'
    From 222191382d1ecb12d165a0992aed4c62d7d98cd8 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 18:13:11 +0000 Subject: [PATCH 087/142] Fixed services -> Alerts menu link + page --- html/includes/print-menubar.php | 2 +- html/pages/services.inc.php | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/html/includes/print-menubar.php b/html/includes/print-menubar.php index 8117e4fbb..09d4b57b7 100644 --- a/html/includes/print-menubar.php +++ b/html/includes/print-menubar.php @@ -190,7 +190,7 @@ if ($config['show_services']) { if ($service_alerts) { echo(' -
  3. Alerts ('.$service_alerts.')
  4. '); +
  5. Alerts ('.$service_alerts.')
  6. '); } if ($_SESSION['userlevel'] >= '10') { diff --git a/html/pages/services.inc.php b/html/pages/services.inc.php index 83af21cfe..0e4d2edfc 100644 --- a/html/pages/services.inc.php +++ b/html/pages/services.inc.php @@ -16,16 +16,14 @@ if (isset($vars['state'])) { if ($vars['state'] == 'up') { $state = '1'; } - else if ($vars['state'] == 'down') { + elseif ($vars['state'] == 'down') { $state = '0'; } } if ($vars['state']) { - $where .= ' AND service_status= ?'; + $where .= " AND service_status= ? AND service_disabled='0' AND `service_ignore`='0'"; $sql_param[] = $state; - $where .= " AND service_disabled='0' AND `service_ignore`='0'"; - $sql_param[] = ''; } if ($vars['disabled']) { @@ -65,8 +63,15 @@ unset($sep); print_optionbar_end(); -echo ''; -// echo(""); +echo '
    +
    DeviceServiceStatusChangedCheckedMessage
    + + + + + + + '; if ($_SESSION['userlevel'] >= '5') { $host_sql = 'SELECT * FROM devices AS D, services AS S WHERE D.device_id = S.device_id GROUP BY D.hostname ORDER BY D.hostname'; $host_par = array(); @@ -123,4 +128,5 @@ foreach (dbFetchRows($host_sql, $host_par) as $device) { unset($samehost); }//end foreach -echo '
    DeviceServiceStatusChangedMessage
    '; +echo '
+
'; From bbae6e9c4896515746e2e21859ee485090e7f005 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 18:49:01 +0000 Subject: [PATCH 088/142] Removed ping + performance graphs and tab if skip ping check --- html/pages/device.inc.php | 12 +++++++----- html/pages/device/graphs.inc.php | 4 +++- includes/common.php | 16 ++++++++++++++++ includes/functions.php | 6 ++---- includes/polling/functions.inc.php | 28 ++++++++++++++++------------ 5 files changed, 44 insertions(+), 22 deletions(-) diff --git a/html/pages/device.inc.php b/html/pages/device.inc.php index d5ccd5212..688a18900 100644 --- a/html/pages/device.inc.php +++ b/html/pages/device.inc.php @@ -353,11 +353,13 @@ if (device_permitted($vars['device']) || $check_device == $vars['device']) { '; } - echo '
  • - - Performance - -
  • '; + if (can_ping_device($attribs) === true) { + echo '
  • + + Performance + +
  • '; + } echo '
  • diff --git a/html/pages/device/graphs.inc.php b/html/pages/device/graphs.inc.php index e4bd13d84..154cbbfb5 100644 --- a/html/pages/device/graphs.inc.php +++ b/html/pages/device/graphs.inc.php @@ -24,7 +24,9 @@ foreach (dbFetchRows('SELECT * FROM device_graphs WHERE device_id = ? ORDER BY g // These are standard graphs we should have for all systems $graph_enable['poller']['poller_perf'] = 'device_poller_perf'; -$graph_enable['poller']['ping_perf'] = 'device_ping_perf'; +if (can_ping_device($attribs) === true) { + $graph_enable['poller']['ping_perf'] = 'device_ping_perf'; +} $sep = ''; foreach ($graph_enable as $section => $nothing) { diff --git a/includes/common.php b/includes/common.php index bcef46da0..248285600 100644 --- a/includes/common.php +++ b/includes/common.php @@ -758,3 +758,19 @@ function round_Nth($val = 0, $round_to) { } } // end round_Nth +/** + * Checks if config allows us to ping this device + * $attribs contains an array of all of this devices + * attributes + * @param array $attribs Device attributes + * @return bool +**/ +function can_ping_device($attribs) { + global $config; + if ($config['icmp_check'] === true && $attribs['override_icmp_disable'] != "true") { + return true; + } + else { + return false; + } +} // end can_ping_device diff --git a/includes/functions.php b/includes/functions.php index 319adb074..d87d38536 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -487,13 +487,11 @@ function isSNMPable($device) { * * @return bool TRUE if the host responded to at least one ping request, FALSE otherwise. */ -function isPingable($hostname, $address_family = AF_INET, $device_id = FALSE) { +function isPingable($hostname, $address_family = AF_INET, $device_id = FALSE, $attribs = false) { global $config; - $tmp_device = array('device_id'=>$device_id); $response = array(); - if ($config['icmp_check'] === true && get_dev_attrib($tmp_device,'override_icmp_disable') != "true") { - + if (can_ping_device($attribs) === true) { $fping_params = ''; if(is_numeric($config['fping_options']['retries']) || $config['fping_options']['retries'] > 1) { $fping_params .= ' -r ' . $config['fping_options']['retries']; diff --git a/includes/polling/functions.inc.php b/includes/polling/functions.inc.php index bbdad009c..ca28abc79 100644 --- a/includes/polling/functions.inc.php +++ b/includes/polling/functions.inc.php @@ -155,7 +155,7 @@ function poll_device($device, $options) { $address_family = snmpTransportToAddressFamily($device['transport']); - $ping_response = isPingable($device['hostname'], $address_family, $device['device_id']); + $ping_response = isPingable($device['hostname'], $address_family, $device['device_id'], $attribs); $device_perf = $ping_response['db']; $device_perf['device_id'] = $device['device_id']; @@ -265,23 +265,27 @@ function poll_device($device, $options) { } // Ping response rrd - $ping_rrd = $config['rrd_dir'].'/'.$device['hostname'].'/ping-perf.rrd'; - if (!is_file($ping_rrd)) { - rrdtool_create($ping_rrd, 'DS:ping:GAUGE:600:0:65535 '.$config['rrd_rra']); - } + if (can_ping_device($attribs) === true) { + $ping_rrd = $config['rrd_dir'].'/'.$device['hostname'].'/ping-perf.rrd'; + if (!is_file($ping_rrd)) { + rrdtool_create($ping_rrd, 'DS:ping:GAUGE:600:0:65535 '.$config['rrd_rra']); + } - if (!empty($ping_time)) { - $fields = array( - 'ping' => $ping_time, - ); + if (!empty($ping_time)) { + $fields = array( + 'ping' => $ping_time, + ); + + rrdtool_update($ping_rrd, $fields); + } + + $update_array['last_ping'] = array('NOW()'); + $update_array['last_ping_timetaken'] = $ping_time; - rrdtool_update($ping_rrd, $fields); } $update_array['last_polled'] = array('NOW()'); $update_array['last_polled_timetaken'] = $device_time; - $update_array['last_ping'] = array('NOW()'); - $update_array['last_ping_timetaken'] = $ping_time; // echo("$device_end - $device_start; $device_time $device_run"); echo "Polled in $device_time seconds\n"; From 96a0abbeca13254e80a8b87e0de07efb377d919c Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 18:51:14 +0000 Subject: [PATCH 089/142] Stop adding device_perf data if no ping --- includes/polling/functions.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/polling/functions.inc.php b/includes/polling/functions.inc.php index ca28abc79..77017ac94 100644 --- a/includes/polling/functions.inc.php +++ b/includes/polling/functions.inc.php @@ -160,7 +160,7 @@ function poll_device($device, $options) { $device_perf = $ping_response['db']; $device_perf['device_id'] = $device['device_id']; $device_perf['timestamp'] = array('NOW()'); - if (is_array($device_perf)) { + if (can_ping_device($attribs) === true && is_array($device_perf)) { dbInsert($device_perf, 'device_perf'); } From 94c5afb2dbbedbab11d3189dd00d0cfc3e8a4de8 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 19:11:21 +0000 Subject: [PATCH 090/142] Scrut fixes --- includes/functions.php | 4 ++-- includes/polling/functions.inc.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/functions.php b/includes/functions.php index d87d38536..4682c994f 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -483,11 +483,11 @@ function isSNMPable($device) { * * @param string $hostname The hostname or IP address to send ping requests to. * @param int $address_family The address family (AF_INET for IPv4 or AF_INET6 for IPv6) to use. Defaults to IPv4. Will *not* be autodetected for IP addresses, so it has to be set to AF_INET6 when pinging an IPv6 address or an IPv6-only host. - * @param int $device_id This parameter is currently ignored. + * @param array $attribs The device attributes * * @return bool TRUE if the host responded to at least one ping request, FALSE otherwise. */ -function isPingable($hostname, $address_family = AF_INET, $device_id = FALSE, $attribs = false) { +function isPingable($hostname, $address_family = AF_INET, $attribs = array()) { global $config; $response = array(); diff --git a/includes/polling/functions.inc.php b/includes/polling/functions.inc.php index 77017ac94..6a993a91d 100644 --- a/includes/polling/functions.inc.php +++ b/includes/polling/functions.inc.php @@ -155,7 +155,7 @@ function poll_device($device, $options) { $address_family = snmpTransportToAddressFamily($device['transport']); - $ping_response = isPingable($device['hostname'], $address_family, $device['device_id'], $attribs); + $ping_response = isPingable($device['hostname'], $address_family, $attribs); $device_perf = $ping_response['db']; $device_perf['device_id'] = $device['device_id']; From 952748fa5b56f036682917891548b4da30e84da5 Mon Sep 17 00:00:00 2001 From: vitalisator Date: Sat, 17 Oct 2015 22:41:30 +0200 Subject: [PATCH 091/142] fixed powerdns snmp checks --- includes/polling/applications/powerdns.inc.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/includes/polling/applications/powerdns.inc.php b/includes/polling/applications/powerdns.inc.php index 94e0076fb..3a7c728c2 100644 --- a/includes/polling/applications/powerdns.inc.php +++ b/includes/polling/applications/powerdns.inc.php @@ -3,9 +3,10 @@ // Polls powerdns statistics from script via SNMP $rrd_filename = $config['rrd_dir'].'/'.$device['hostname'].'/app-powerdns-'.$app['app_id'].'.rrd'; $options = '-O qv'; +$mib = 'NET-SNMP-EXTEND-MIB'; $oid = 'nsExtendOutputFull.8.112.111.119.101.114.100.110.115'; -$powerdns = snmp_get($device, $oid, $options); +$powerdns = snmp_get($device, $oid, $options, $mib); echo ' powerdns'; From 819f6bb78ebff50fc65c1711390eebf062cc00d8 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 20:57:22 +0000 Subject: [PATCH 092/142] Updated default crons --- librenms.cron | 1 + librenms.nonroot.cron | 1 + 2 files changed, 2 insertions(+) diff --git a/librenms.cron b/librenms.cron index f03f5316d..b72d723f3 100644 --- a/librenms.cron +++ b/librenms.cron @@ -5,3 +5,4 @@ */5 * * * * root /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16 15 0 * * * root /opt/librenms/daily.sh >> /dev/null 2>&1 * * * * * root /opt/librenms/alerts.php >> /dev/null 2>&1 +*/5 * * * * root /opt/librenms/check-services.php >> /dev/null 2>&1 diff --git a/librenms.nonroot.cron b/librenms.nonroot.cron index 3c83bf8b1..d3dfd72d0 100644 --- a/librenms.nonroot.cron +++ b/librenms.nonroot.cron @@ -5,3 +5,4 @@ */5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16 15 0 * * * librenms /opt/librenms/daily.sh >> /dev/null 2>&1 * * * * * librenms /opt/librenms/alerts.php >> /dev/null 2>&1 +*/5 * * * * librenms /opt/librenms/check-services.php >> /dev/null 2>&1 From ff1fc6f143533aa7a3114ad2174b4bece013f493 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 21:00:53 +0000 Subject: [PATCH 093/142] Scrut fix --- includes/polling/functions.inc.php | 1 + 1 file changed, 1 insertion(+) diff --git a/includes/polling/functions.inc.php b/includes/polling/functions.inc.php index 6a993a91d..fff7bbe45 100644 --- a/includes/polling/functions.inc.php +++ b/includes/polling/functions.inc.php @@ -146,6 +146,7 @@ function poll_device($device, $options) { unset($poll_update_query); unset($poll_separator); $poll_update_array = array(); + $update_array = array(); $host_rrd = $config['rrd_dir'].'/'.$device['hostname']; if (!is_dir($host_rrd)) { From 3cbb1a646294715b2e302cf341d71f07096c9083 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 17 Oct 2015 21:04:29 +0000 Subject: [PATCH 094/142] Fix alignment --- librenms.cron | 2 +- librenms.nonroot.cron | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/librenms.cron b/librenms.cron index b72d723f3..f5ba93740 100644 --- a/librenms.cron +++ b/librenms.cron @@ -5,4 +5,4 @@ */5 * * * * root /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16 15 0 * * * root /opt/librenms/daily.sh >> /dev/null 2>&1 * * * * * root /opt/librenms/alerts.php >> /dev/null 2>&1 -*/5 * * * * root /opt/librenms/check-services.php >> /dev/null 2>&1 +*/5 * * * * root /opt/librenms/check-services.php >> /dev/null 2>&1 diff --git a/librenms.nonroot.cron b/librenms.nonroot.cron index d3dfd72d0..5f55ad775 100644 --- a/librenms.nonroot.cron +++ b/librenms.nonroot.cron @@ -5,4 +5,4 @@ */5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16 15 0 * * * librenms /opt/librenms/daily.sh >> /dev/null 2>&1 * * * * * librenms /opt/librenms/alerts.php >> /dev/null 2>&1 -*/5 * * * * librenms /opt/librenms/check-services.php >> /dev/null 2>&1 +*/5 * * * * librenms /opt/librenms/check-services.php >> /dev/null 2>&1 From 76f862fddde4f4fc399ba5ac343718baa35e2ac0 Mon Sep 17 00:00:00 2001 From: laf Date: Tue, 20 Oct 2015 16:12:03 +0000 Subject: [PATCH 095/142] Updated to disable auto-discovery by ip --- doc/Support/Configuration.md | 5 +++++ includes/defaults.inc.php | 2 ++ includes/discovery/functions.inc.php | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/doc/Support/Configuration.md b/doc/Support/Configuration.md index 7ffdffe08..7bb277ff9 100644 --- a/doc/Support/Configuration.md +++ b/doc/Support/Configuration.md @@ -261,6 +261,11 @@ $config['autodiscovery']['nets-exclude'][] = "240.0.0.0/4"; ``` Arrays of subnets to exclude in auto discovery mode. +```php +$config['discovery_by_ip'] = true; +``` +Enable auto discovery by IP. By default we only discover based on hostnames but manually adding by IP is allowed. + #### Email configuration > You can configure these options within the WebUI now, please avoid setting these options within config.php diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index f3af33e22..78d6982e1 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -215,6 +215,8 @@ $config['autodiscovery']['nets-exclude'][] = '127.0.0.0/8'; $config['autodiscovery']['nets-exclude'][] = '169.254.0.0/16'; $config['autodiscovery']['nets-exclude'][] = '224.0.0.0/4'; $config['autodiscovery']['nets-exclude'][] = '240.0.0.0/4'; +// Autodiscover by IP +$config['discovery_by_ip'] = false;// Set to true if you want to enable auto discovery by IP. $config['alerts']['email']['enable'] = false; // Enable email alerts diff --git a/includes/discovery/functions.inc.php b/includes/discovery/functions.inc.php index dbe5d08dd..3fefbd745 100644 --- a/includes/discovery/functions.inc.php +++ b/includes/discovery/functions.inc.php @@ -34,6 +34,12 @@ function discover_new_device($hostname, $device='', $method='', $interface='') { return false; } } + else { + if ($config['discovery_by_ip'] === false) { + d_echo('Discovery by IP disabled, skipping ' . $dst_host); + return false; + } + } d_echo("ip lookup result: $ip\n"); From e9deae13151614cad5239fc396b9fcd7f88991b2 Mon Sep 17 00:00:00 2001 From: laf Date: Tue, 20 Oct 2015 21:35:08 +0000 Subject: [PATCH 096/142] Centralised the date selector for graphs for re-use --- html/includes/print-date-selector.inc.php | 40 +++++++++++++++++ html/index.php | 1 + html/js/librenms.js | 12 ++++++ html/pages/device/edit.inc.php | 2 - html/pages/devices.inc.php | 52 +++++++++++++++++------ html/pages/graphs.inc.php | 51 +--------------------- html/pages/settings.inc.php | 2 - 7 files changed, 94 insertions(+), 66 deletions(-) create mode 100644 html/includes/print-date-selector.inc.php diff --git a/html/includes/print-date-selector.inc.php b/html/includes/print-date-selector.inc.php new file mode 100644 index 000000000..3333df0b6 --- /dev/null +++ b/html/includes/print-date-selector.inc.php @@ -0,0 +1,40 @@ + + + +"; + +echo ' +
    + + +
    +
    + + +
    + + + +'; diff --git a/html/index.php b/html/index.php index e42190acc..6499e2c27 100644 --- a/html/index.php +++ b/html/index.php @@ -165,6 +165,7 @@ else { +