From 26cf15aaddd50ed2dda1dd5fa30040691c6efdc2 Mon Sep 17 00:00:00 2001 From: Jonas Palm Date: Sun, 7 Feb 2016 16:09:52 +0100 Subject: [PATCH 01/89] Wordpress Multisite Plugin Monitors total instances, users, posts, comments and pingbacks for the multisite installation and also posts, comments and pingbacks for every multisite instance. --- plugins/other/wordpress-multisite | 126 ++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 plugins/other/wordpress-multisite diff --git a/plugins/other/wordpress-multisite b/plugins/other/wordpress-multisite new file mode 100644 index 00000000..fac95ec4 --- /dev/null +++ b/plugins/other/wordpress-multisite @@ -0,0 +1,126 @@ +#!/bin/bash +# wordpress-multisite plugin +# +# Author Jonas Palm +# Version 0.1 +# Date 2016-02-07 +# +: <<=cut +=head1 NAME +Wordpress-Multisite Munin Plugin + +A Munin plugin to monitor posts, comments and pingbacks from every multisite instance. +It uses multigraphs and also shows the combined number of posts, comments, pingbacks, instances and users. + +Most database requests came from the wordpress-mu-plugin which was written by Andre Darafarin and Chris Bair + +=head1 CONFIGURATION +The plugin need access to the wordpress database + +=head2 Config file +Create the config file plugin-conf.d/wordpress with the following values: + +=over 5 +=item * [wordpress*] +=item * env.DB_USER +=item * env.DB_PASSWORD +=item * env.DB_NAME +=item * env.DB_PREFIX +=item * env.DB_HOST + +=back + +=head1 VERSION + +0.1 2016-02-07 + +=head1 AUTHOR + +Jonas Palm + +=cut + +# Fill some variables +DB_USER=${DB_USER} +DB_PASSWORD=${DB_PASSWORD} +DB_NAME=${DB_NAME:-wordpress} +DB_PREFIX=${DB_PREFIX:-wp_} +DB_HOST=${DB_HOST:-localhost} +DB_PORT=${DB_PORT:-3306} + +MYSQLOPTS="-h$DB_HOST -P $DB_PORT -p$DB_PASSWORD -u$DB_USER -D $DB_NAME --column-names=0 -s" + +if [ "$1" = "config" ]; then + echo "multigraph wordpress" + echo "graph_title Wordpress Mulitsite" + echo "graph_order instances users posts comments pingbacks" + echo "graph_vlabel Wordpress" + echo "graph_category Wordpress" + echo "graph_info Some Statistics of Wordpress" + echo "instances.label Instances" + echo "users.label Users" + echo "posts.label Posts" + echo "comments.label Comments" + echo "pingbacks.label Pingbacks" +else + CNT=0 + for n in `mysql $MYSQLOPTS --execute="select blog_id from ${DB_PREFIX}blogs"`; do + if [ "$n" == "1" ]; then + i= + else + i=${n}_ + fi + + POSTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';"` + (( POSTS_ += POSTS )) + + COMMENTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = '';"` + (( COMMENTS_ += COMMENTS )) + + PINGBACKS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = 'pingback';"` + (( PINGBACKS_ += PINGBACKS )) + + (( CNT += 1 )) + done + + # return values + echo "multigraph wordpress" + echo "posts.value $POSTS_" + echo "comments.value $COMMENTS_" + echo "pingbacks.value $PINGBACKS_" + echo "instances.value $CNT" + echo "users.value `mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}users ;"`" +fi + +# single blogs +for n in `mysql $MYSQLOPTS --execute="select blog_id from ${DB_PREFIX}blogs"`; do + if [ "${n}" == "1" ]; then + i= + else + i=${n}_ + fi + + if [ "$n" -le "9" ]; then + n=0${n} + fi + + if [ "$1" = "config" ]; then + echo "multigraph wordpress.site_${n}" + echo "graph_title `mysql $MYSQLOPTS --execute=\"select option_value from ${DB_PREFIX}${i}options where option_name = 'siteurl';\"`" + echo "graph_order posts comments pingbacks" + echo "graph_vlabel Wordpress ID ${n}" + echo "posts.label Posts" + echo "comments.label Comments" + echo "pingbacks.label Pingbacks" + else + POSTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';"` + COMMENTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = '';"` + PINGBACKS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = 'pingback';"` + + # return values + echo "multigraph wordpress.site_${n}" + echo "posts.value $POSTS" + echo "comments.value $COMMENTS" + echo "pingbacks.value $PINGBACKS" + fi +done From feb54309caccae115156f237d66e1be3639acf33 Mon Sep 17 00:00:00 2001 From: Jonas Palm Date: Sun, 7 Feb 2016 16:15:02 +0100 Subject: [PATCH 02/89] Added Option Description for env.DB_PORT --- plugins/other/wordpress-multisite | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/other/wordpress-multisite b/plugins/other/wordpress-multisite index fac95ec4..126d46b9 100644 --- a/plugins/other/wordpress-multisite +++ b/plugins/other/wordpress-multisite @@ -2,6 +2,7 @@ # wordpress-multisite plugin # # Author Jonas Palm +# E-Mail jonaspalm . posteo. de # Version 0.1 # Date 2016-02-07 # @@ -20,13 +21,14 @@ The plugin need access to the wordpress database =head2 Config file Create the config file plugin-conf.d/wordpress with the following values: -=over 5 +=over 6 =item * [wordpress*] =item * env.DB_USER =item * env.DB_PASSWORD =item * env.DB_NAME =item * env.DB_PREFIX =item * env.DB_HOST +=item * env.DB_PORT =back From 16bba8cc6fb7091a73d627bbeec2a6e05090498c Mon Sep 17 00:00:00 2001 From: swuschke Date: Wed, 3 Aug 2016 00:18:45 +0200 Subject: [PATCH 03/89] fix colored border and highlights --- .../munstrap/static/css/style-munstrap.css | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/templates/munstrap/static/css/style-munstrap.css b/templates/munstrap/static/css/style-munstrap.css index 474ac399..d2f8498e 100644 --- a/templates/munstrap/static/css/style-munstrap.css +++ b/templates/munstrap/static/css/style-munstrap.css @@ -24,7 +24,7 @@ img#zoom_image{ } .link-domain { - font-size: 1.4em; + font-size: 1.4em; color: #660066; } .link-host { @@ -35,10 +35,34 @@ ul.groupview, ul.groupview ul { list-style-type: none; } .munin-icon { - background: url(../img/logo-munin.png) left top; + background: url(../img/logo-munin.png) left top; margin-top: -6px; - width: 35px; + width: 35px; height: 35px; display: block; float: left; } + +img { + border: 2px solid transparent; +} + +img.warn { + border: 2px solid #8a6d3b; +} + +img.crit { + border: 2px solid #a94442; +} + +img.unkn { + border: 2px solid #ffaa00; +} + +.text-critical { + color: #a94442 +} + +.text-critical:hover { + color: #843534 +} \ No newline at end of file From f7cce858656697ad5e1932aa25e1b9d7baa4ebe1 Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Mon, 8 Aug 2016 13:54:11 +0200 Subject: [PATCH 04/89] Add job stats graph --- plugins/sge/sge_job_stats | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 plugins/sge/sge_job_stats diff --git a/plugins/sge/sge_job_stats b/plugins/sge/sge_job_stats new file mode 100755 index 00000000..075af312 --- /dev/null +++ b/plugins/sge/sge_job_stats @@ -0,0 +1,39 @@ +#!/bin/bash + +# Graphs the number of running and waiting jobs, as well as when they +# are submitted. +# +# Tested with Son of Gridengine. + +if [ "$1" = "config" ] +then + echo graph_title SGE gridengine jobs + echo graph_vlabel count + echo graph_category processes + echo running.label Running jobs + echo running.type GAUGE + echo running.draw AREA + echo waiting.label Queued jobs + echo waiting.type GAUGE + echo waiting.draw STACK + echo maxnum.label Submitted jobs + echo maxnum.type DERIVE + echo maxnum.draw LINE2 + echo maxnum.min 0 + + exit 0 +fi + +. /opt/sge/default/common/settings.sh + +qstat -u '*' | awk ' + BEGIN{maxnum = 0; running = 0; waiting = 0} + /^ /{ + maxnum = (maxnum > $1 ? maxnum : $1); + if ( $5 == "r" ) { + running += 1; + } else { + waiting += 1; + } + } + END { printf("running.value %d\nwaiting.value %d\nmaxnum.value %d\n", running, waiting, maxnum); }' From 0057c6607e0d18fa0ca8089e6759297a97b1ca25 Mon Sep 17 00:00:00 2001 From: Guillaume Marsay Date: Mon, 26 Sep 2016 10:38:07 +0200 Subject: [PATCH 05/89] Add Chilli plugin for sessions state --- plugins/chilli/chilli_ | 118 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100755 plugins/chilli/chilli_ diff --git a/plugins/chilli/chilli_ b/plugins/chilli/chilli_ new file mode 100755 index 00000000..e5df6999 --- /dev/null +++ b/plugins/chilli/chilli_ @@ -0,0 +1,118 @@ +#!/bin/bash +# -*- sh -*- + +: << =cut + +=head1 NAME + +chilli_ - Wildcard-plugin to monitor sessions state on Coova Chilli. + +=head1 CONFIGURATION + +This plugin does not normally require configuration. + +The plugin may need to run as root. This is configured like this: + + [chilli_*] + user root + +This is a wildcard plugin. To monitor an instance, link +chilli_ to this file. For example : + + ln -s /usr/share/munin/plugins/chilli_ \ + /etc/munin/plugins/chilli_hotspot1 + +will monitor hotspot1. + +For monitor all instances use : + + ln -s /usr/share/munin/plugins/chilli_ \ + /etc/munin/plugins/chilli_total + +=head1 AUTHOR + +OPENevents - Guillaume Marsay + +=head1 LICENSE + +GPLv2 + +=head1 MAGIC MARKERS + + #%# family=auto + #%# capabilities=autoconf suggest + +=cut + + +INSTANCE=${0##*chilli_} +CHILLI_PATH_BIN="/usr/sbin/chilli_query" +CHILLI_PATH_SOCK="/var/run" + + +case $1 in + autoconf) + if [[ -r $CHILLI_PATH_BIN ]]; then + if [[ $INSTANCE == "total" ]]; then + echo "yes" + exit 0 + else + if [[ -r $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock ]]; then + echo yes + exit 0 + else + echo "no ($CHILLI_PATH_SOCK/chilli_$INSTANCE.sock not found)" + exit 0 + fi + fi + else + echo "no ($CHILLI_PATH_BIN not found)" + exit 0 + fi + ;; + suggest) + INSTANCES_LIST=$(ls /var/run/chilli_*.sock) + + for file in $INSTANCES_LIST; do + echo $(basename $file .sock | cut -d _ -f 2) + done + + echo "total" + + exit 0 + ;; + config) + echo "graph_title Chilli $INSTANCE sessions" + echo "graph_args --base 1000 -l 0" + echo "graph_category chilli" + echo "none.label NONE" + echo "none.min 0" + echo "none.draw AREA" + echo "none.colour ff8000" + echo "dnat.label DNAT" + echo "dnat.min 0" + echo "dnat.draw STACK" + echo "dnat.colour 0066b3" + echo "pass.label PASS" + echo "pass.draw STACK" + echo "pass.min 0" + echo "pass.colour 00cc00" + + exit 0 + ;; +esac + + +if [[ $INSTANCE == "total" ]]; then + STATE_PASS=$($CHILLI_PATH_BIN list | grep "pass" | wc -l) + STATE_DNAT=$($CHILLI_PATH_BIN list | grep "dnat" | wc -l) + STATE_NONE=$($CHILLI_PATH_BIN list | grep "none" | wc -l) +else + STATE_PASS=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "pass" | wc -l) + STATE_DNAT=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "dnat" | wc -l) + STATE_NONE=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "none" | wc -l) +fi + +echo "pass.value $STATE_PASS" +echo "dnat.value $STATE_DNAT" +echo "none.value $STATE_NONE" From 8c9f0260f91a43f4d75a7f6d868e8d05d9f42b68 Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Sun, 23 Oct 2016 10:36:35 +0200 Subject: [PATCH 06/89] Use sh shebang Don't need bash-specific features, after all --- plugins/sge/sge_job_stats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sge/sge_job_stats b/plugins/sge/sge_job_stats index 075af312..7350eed0 100755 --- a/plugins/sge/sge_job_stats +++ b/plugins/sge/sge_job_stats @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Graphs the number of running and waiting jobs, as well as when they # are submitted. From 5800201da8e1adfb9ff3b4f72e77bede4522eb8f Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Sun, 23 Oct 2016 10:36:58 +0200 Subject: [PATCH 07/89] Configurable location of sge settings.sh script --- plugins/sge/sge_job_stats | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/sge/sge_job_stats b/plugins/sge/sge_job_stats index 7350eed0..0423ca1e 100755 --- a/plugins/sge/sge_job_stats +++ b/plugins/sge/sge_job_stats @@ -24,7 +24,9 @@ then exit 0 fi -. /opt/sge/default/common/settings.sh +SGE_SETTINGS=${SGE_SETTINGS:-/opt/sge/default/common/settings.sh} + +. $SGE_SETTINGS qstat -u '*' | awk ' BEGIN{maxnum = 0; running = 0; waiting = 0} From c679de12ce1e273f970f36a3f36621f299f033a1 Mon Sep 17 00:00:00 2001 From: Jonas Palm Date: Mon, 24 Oct 2016 23:03:18 +0200 Subject: [PATCH 08/89] code rewrite removed bashisms and cleaned everything up --- plugins/other/wordpress-multisite | 167 ++++++++++++++---------------- 1 file changed, 80 insertions(+), 87 deletions(-) diff --git a/plugins/other/wordpress-multisite b/plugins/other/wordpress-multisite index 126d46b9..f5316f9c 100644 --- a/plugins/other/wordpress-multisite +++ b/plugins/other/wordpress-multisite @@ -1,11 +1,14 @@ -#!/bin/bash +#!/usr/bin/env sh # wordpress-multisite plugin # -# Author Jonas Palm -# E-Mail jonaspalm . posteo. de +# Version 0.2 +# Date 2016-10-24 +# Code improvements +# # Version 0.1 # Date 2016-02-07 -# +# Initial release +# : <<=cut =head1 NAME Wordpress-Multisite Munin Plugin @@ -21,108 +24,98 @@ The plugin need access to the wordpress database =head2 Config file Create the config file plugin-conf.d/wordpress with the following values: -=over 6 +=over 4 =item * [wordpress*] -=item * env.DB_USER -=item * env.DB_PASSWORD -=item * env.DB_NAME -=item * env.DB_PREFIX -=item * env.DB_HOST -=item * env.DB_PORT +=item * env.mysqlopts +=item * env.mysqlconnection +=item * env.database +=item * env.dbprefix =back -=head1 VERSION - -0.1 2016-02-07 +=head1 VERSION +Version 0.2 (2016-02-07) =head1 AUTHOR Jonas Palm +=head1 LICENSE + +GPLv3 or higher + =cut -# Fill some variables -DB_USER=${DB_USER} -DB_PASSWORD=${DB_PASSWORD} -DB_NAME=${DB_NAME:-wordpress} -DB_PREFIX=${DB_PREFIX:-wp_} -DB_HOST=${DB_HOST:-localhost} -DB_PORT=${DB_PORT:-3306} +# fill vars +DB_OPTIONS=${mysqlopts} +DB_CONNECTION=${mysqlconnection:--hlocalhost} +DB_NAME=${database} +DB_PREFIX=${dbprefix:-wp_} -MYSQLOPTS="-h$DB_HOST -P $DB_PORT -p$DB_PASSWORD -u$DB_USER -D $DB_NAME --column-names=0 -s" +MYSQL_CMD=$(which mysql) +wp_get() { + case $1 in + comments) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${2}comments WHERE comment_approved = '1' AND comment_type = '';" ;; + ids) QUERY="SELECT blog_id FROM ${DB_PREFIX}blogs;" ;; + pingbacks) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${2}comments WHERE comment_approved = '1' AND comment_type = 'pingback';" ;; + posts) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${2}posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';" ;; + title) QUERY="SELECT option_value FROM ${DB_PREFIX}${2}options WHERE option_name = 'siteurl';" ;; + users) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}users;" + esac + $MYSQL_CMD $DB_CONNECTION $DB_OPTIONS $DB_NAME --column-names=0 -s --execute="$QUERY" +} + +# whole network if [ "$1" = "config" ]; then - echo "multigraph wordpress" - echo "graph_title Wordpress Mulitsite" - echo "graph_order instances users posts comments pingbacks" - echo "graph_vlabel Wordpress" - echo "graph_category Wordpress" - echo "graph_info Some Statistics of Wordpress" - echo "instances.label Instances" - echo "users.label Users" - echo "posts.label Posts" - echo "comments.label Comments" - echo "pingbacks.label Pingbacks" + echo "multigraph wordpress" + echo "graph_title Wordpress Mulitsite" + echo "graph_order instances users posts comments pingbacks" + echo "graph_vlabel Wordpress" + echo "graph_category Wordpress" + echo "graph_info Some Statistics of Wordpress" + echo "instances.label Instances" + echo "users.label Users" + echo "posts.label Posts" + echo "comments.label Comments" + echo "pingbacks.label Pingbacks" else - CNT=0 - for n in `mysql $MYSQLOPTS --execute="select blog_id from ${DB_PREFIX}blogs"`; do - if [ "$n" == "1" ]; then - i= - else - i=${n}_ - fi + for n in $(wp_get ids); do + i= + test "$n" -gt "1" && i=${n}_ - POSTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';"` - (( POSTS_ += POSTS )) + POSTS=$(expr $POSTS + $(wp_get posts $i)) + COMMENTS=$(expr $COMMENTS + $(wp_get comments $i)) + PINGBACKS=$(expr $PINGBACKS + $(wp_get pingbacks $i)) + CNT=$(expr $CNT + 1) + done - COMMENTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = '';"` - (( COMMENTS_ += COMMENTS )) - - PINGBACKS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = 'pingback';"` - (( PINGBACKS_ += PINGBACKS )) - - (( CNT += 1 )) - done - - # return values - echo "multigraph wordpress" - echo "posts.value $POSTS_" - echo "comments.value $COMMENTS_" - echo "pingbacks.value $PINGBACKS_" - echo "instances.value $CNT" - echo "users.value `mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}users ;"`" + echo "multigraph wordpress" + echo "posts.value $POSTS" + echo "comments.value $COMMENTS" + echo "pingbacks.value $PINGBACKS" + echo "instances.value $CNT" + echo "users.value $(wp_get users)" fi # single blogs -for n in `mysql $MYSQLOPTS --execute="select blog_id from ${DB_PREFIX}blogs"`; do - if [ "${n}" == "1" ]; then - i= - else - i=${n}_ - fi +for n in $(wp_get ids); do + i= + test "$n" -gt "1" && i=${n}_ + test "$n" -le "9" && n=0${n} - if [ "$n" -le "9" ]; then - n=0${n} - fi - - if [ "$1" = "config" ]; then - echo "multigraph wordpress.site_${n}" - echo "graph_title `mysql $MYSQLOPTS --execute=\"select option_value from ${DB_PREFIX}${i}options where option_name = 'siteurl';\"`" - echo "graph_order posts comments pingbacks" - echo "graph_vlabel Wordpress ID ${n}" - echo "posts.label Posts" - echo "comments.label Comments" - echo "pingbacks.label Pingbacks" - else - POSTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';"` - COMMENTS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = '';"` - PINGBACKS=`mysql $MYSQLOPTS --execute="SELECT COUNT(*) FROM ${DB_PREFIX}${i}comments WHERE comment_approved = '1' AND comment_type = 'pingback';"` - - # return values - echo "multigraph wordpress.site_${n}" - echo "posts.value $POSTS" - echo "comments.value $COMMENTS" - echo "pingbacks.value $PINGBACKS" - fi + if [ "$1" = "config" ]; then + echo "multigraph wordpress.site_${n}" + echo "graph_title $(wp_get title $i)" + echo "graph_order posts comments pingbacks" + echo "graph_vlabel Wordpress ID ${n}" + echo "posts.label Posts" + echo "comments.label Comments" + echo "pingbacks.label Pingbacks" + else + echo "multigraph wordpress.site_${n}" + echo "posts.value $(wp_get posts $i)" + echo "comments.value $(wp_get comments $i)" + echo "pingbacks.value $(wp_get pingbacks $i)" + fi done From 31bedc08221fedb380f84f07da887d492054c843 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Wed, 26 Oct 2016 14:08:34 -0700 Subject: [PATCH 09/89] Hardcode tc path so we can run the script as non-root --- plugins/network/tc_ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/network/tc_ b/plugins/network/tc_ index 7b29c7f7..cacfbf1b 100755 --- a/plugins/network/tc_ +++ b/plugins/network/tc_ @@ -16,7 +16,7 @@ DEVICE=${0##*/tc_} mytc() { - tc -s class show dev $1 | tr "\n" "|" | sed "s/ \+/ /g" | sed "s/ |/|/g" | sed "s/| /|/g" | sed "s/||/\n/g" | sed "s/|/ /g" | tr ":" "_" | grep -v -i sfq | sort -n + /sbin/tc -s class show dev $1 | tr "\n" "|" | sed "s/ \+/ /g" | sed "s/ |/|/g" | sed "s/| /|/g" | sed "s/||/\n/g" | sed "s/|/ /g" | tr ":" "_" | grep -v -i sfq | sort -n } case $1 in From afe87e904e7a78d7a994969ece91c2c8c02bd7b1 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Wed, 26 Oct 2016 14:10:46 -0700 Subject: [PATCH 10/89] Cosmetic whitespace uniformity --- plugins/network/tc_ | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/network/tc_ b/plugins/network/tc_ index cacfbf1b..0d21c6cf 100755 --- a/plugins/network/tc_ +++ b/plugins/network/tc_ @@ -37,16 +37,15 @@ case $1 in gsub(/^ +/,"",a[1]); if (($2 > 0) || ($10 > 0)) print a[1]; }' /proc/net/dev -# egrep '^ *(eth|tap|bond|wlan|ath|ra|sw)[0-9]+:' /proc/net/dev | cut -f1 -d: | sed 's/ //g' +# egrep '^ *(eth|tap|bond|wlan|ath|ra|sw)[0-9]+:' /proc/net/dev | cut -f1 -d: | sed 's/ //g' fi exit 0 ;; config) - echo "graph_order `mytc $DEVICE | awk '{ print $2 "_" $3 }' | tr "\n" " "`" echo "graph_title $DEVICE TC traffic" - echo 'graph_args --base 1000' - echo 'graph_vlabel bits per ${graph_period}' + echo 'graph_args --base 1000' + echo 'graph_vlabel bits per ${graph_period}' echo 'graph_category network' echo "graph_info This graph shows the TC classes traffic of the $DEVICE network interface. Please note that the traffic is shown in bits per second, not bytes." From 234a753fea82ce16827a2f85af10f3d990ae3f08 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Wed, 26 Oct 2016 14:12:00 -0700 Subject: [PATCH 11/89] Make awk script more readable --- plugins/network/tc_ | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/network/tc_ b/plugins/network/tc_ index 0d21c6cf..c912c89d 100755 --- a/plugins/network/tc_ +++ b/plugins/network/tc_ @@ -48,8 +48,21 @@ case $1 in echo 'graph_vlabel bits per ${graph_period}' echo 'graph_category network' echo "graph_info This graph shows the TC classes traffic of the $DEVICE network interface. Please note that the traffic is shown in bits per second, not bytes." - - mytc $DEVICE | tr "_" " " | awk '{ print $2 "_" $3 "_" $4 ".label " $2 "/" $3 ":" $4 "\n" $2 "_" $3 "_" $4 ".type DERIVE\n" $2 "_" $3 "_" $4 ".min 0\n" $2 "_" $3 "_" $4 ".cdef " $2 "_" $3 "_" $4 ",8,*" }' + + # the root(s) + mytc $DEVICE | grep -v " parent " | tr "_" " " | awk '{ + print $2 "_" $3 "_" $4 ".label " $2 "/" $3 ":" $4; + print $2 "_" $3 "_" $4 ".type DERIVE"; + print $2 "_" $3 "_" $4 ".min 0"; + print $2 "_" $3 "_" $4 ".cdef " $2 "_" $3 "_" $4 ",8,*"; + }' + # the child(s) + mytc $DEVICE | grep " parent " | tr "_" " " | awk '{ + print $2 "_" $3 "_" $4 ".label " $2 "/" $3 ":" $4; + print $2 "_" $3 "_" $4 ".type DERIVE"; + print $2 "_" $3 "_" $4 ".min 0"; + print $2 "_" $3 "_" $4 ".cdef " $2 "_" $3 "_" $4 ",8,*"; + }' exit 0 ;; esac From 3dd825dd62601a15bb9d685def8c5dd9653728d8 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Wed, 26 Oct 2016 14:14:26 -0700 Subject: [PATCH 12/89] Output fields of tc can vary, possibly causing corrupted data to be gathered. Look specifically for the "bytes" keyword --- plugins/network/tc_ | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/network/tc_ b/plugins/network/tc_ index c912c89d..77000c4e 100755 --- a/plugins/network/tc_ +++ b/plugins/network/tc_ @@ -68,9 +68,15 @@ case $1 in esac # the root(s) -mytc $DEVICE | grep -v " parent " | awk "{ print \$2 \"_\" \$3 \".value \" \$14}" +mytc $DEVICE | grep -v " parent " | awk '{ + split(substr($0, match($0, /[0-9]+ [Bb]ytes/)), a, " "); + print $2 "_" $3 ".value " a[1]; +}' # the child(s) -mytc $DEVICE | grep " parent " | awk "{ print \$2 \"_\" \$3 \".value \" \$19}" +mytc $DEVICE | grep " parent " | awk '{ + split(substr($0, match($0, /[0-9]+ [Bb]ytes/)), a, " "); + print $2 "_" $3 ".value " a[1]; +}' exit 0 From 13f9ba7a6159b940b396d157eb2c372dd35cc980 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Wed, 26 Oct 2016 14:15:48 -0700 Subject: [PATCH 13/89] Area stack children --- plugins/network/tc_ | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/network/tc_ b/plugins/network/tc_ index 77000c4e..a870bf3c 100755 --- a/plugins/network/tc_ +++ b/plugins/network/tc_ @@ -56,12 +56,14 @@ case $1 in print $2 "_" $3 "_" $4 ".min 0"; print $2 "_" $3 "_" $4 ".cdef " $2 "_" $3 "_" $4 ",8,*"; }' + # TODO: only AREASTACK things with no children # the child(s) mytc $DEVICE | grep " parent " | tr "_" " " | awk '{ print $2 "_" $3 "_" $4 ".label " $2 "/" $3 ":" $4; print $2 "_" $3 "_" $4 ".type DERIVE"; print $2 "_" $3 "_" $4 ".min 0"; print $2 "_" $3 "_" $4 ".cdef " $2 "_" $3 "_" $4 ",8,*"; + print $2 "_" $3 "_" $4 ".draw AREASTACK"; }' exit 0 ;; From 2d13d2a50d7c4367186996e5dce4bd600b8e59d6 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Sat, 5 Nov 2016 14:51:14 -0700 Subject: [PATCH 14/89] Add documentation and example graphs for the tc_ plugin --- plugins/network/example-graphs/tc_-day.png | Bin 0 -> 27195 bytes plugins/network/example-graphs/tc_-week.png | Bin 0 -> 41662 bytes plugins/network/tc_.pod | 44 ++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 plugins/network/example-graphs/tc_-day.png create mode 100644 plugins/network/example-graphs/tc_-week.png create mode 100644 plugins/network/tc_.pod diff --git a/plugins/network/example-graphs/tc_-day.png b/plugins/network/example-graphs/tc_-day.png new file mode 100644 index 0000000000000000000000000000000000000000..6607b71db60be7f119a17cd693d47a0efe57dd2c GIT binary patch literal 27195 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 literal 0 HcmV?d00001 diff --git a/plugins/network/example-graphs/tc_-week.png b/plugins/network/example-graphs/tc_-week.png new file mode 100644 index 0000000000000000000000000000000000000000..50557672ea50a73ad21e964e50d486cf5d77c6b4 GIT binary patch literal 41662 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 literal 0 HcmV?d00001 diff --git a/plugins/network/tc_.pod b/plugins/network/tc_.pod new file mode 100644 index 00000000..be5fc5a9 --- /dev/null +++ b/plugins/network/tc_.pod @@ -0,0 +1,44 @@ +#!/usr/bin/perl -w + +=pod + +=encoding UTF-8 + +=head1 NAME + +tc_ - Plugin to monitor traffic control queue class bandwidth usage + +=head1 APPLICABLE SYSTEMS + +Linux 2.5.40+, 2.6.x, 3.x, 4.x + +=head1 CONFIGURATION + +None needed. + +=head1 INTERPRETATION + +Traffic control is the name given to the sets of queuing systems and mechanisms by which packets are received and transmitted on a router. This includes deciding which (and whether) packets to accept at what rate on the input of an interface and determining which packets to transmit in what order at what rate on the output of an interface. + +This plugin monitors the bandwidth used by each queue class. The root class will draw as a single line, whereas children will be drawn in a stacked graph. Complex hierarchies which have more than the root and its direct children are not fully supported and may not render correctly. + +=head1 SEE ALSO + +"man tc" and "tc -s class show dev " to get more information about tc and to see the format of the statistics being parsed. + +=head1 MAGIC MARKERS + + #%# family=manual + #%# capabilities=autoconf + +=head1 AUTHORS + +Steve Schnepp , +Samuel Smith , +Nye Liu + +=head1 LICENSE + +GPLv2 or later + +=cut From 6cb9ba170fc66979ffd46990e19d645daaefd8a1 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Sat, 5 Nov 2016 14:52:03 -0700 Subject: [PATCH 15/89] Cleanup suggested by maintainer * family should be auto, not manual * Combine multiple sed scripts into a single script * Double quote sh variable dereferences * Don't use deprecated backquotes --- plugins/network/tc_ | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/plugins/network/tc_ b/plugins/network/tc_ index a870bf3c..3b373434 100755 --- a/plugins/network/tc_ +++ b/plugins/network/tc_ @@ -9,17 +9,17 @@ # Magic markers (optional - used by munin-config and some installation # scripts): # -#%# family=manual +#%# family=auto #%# capabilities=autoconf suggest DEVICE=${0##*/tc_} mytc() { - /sbin/tc -s class show dev $1 | tr "\n" "|" | sed "s/ \+/ /g" | sed "s/ |/|/g" | sed "s/| /|/g" | sed "s/||/\n/g" | sed "s/|/ /g" | tr ":" "_" | grep -v -i sfq | sort -n + /sbin/tc -s class show dev "$1" | tr "\n" "|" | sed -e "s/ \+/ /g; s/ |/|/g; s/| /|/g; s/||/\n/g; s/|/ /g" | tr ":" "_" | grep -v -i sfq | sort -n } -case $1 in +case "$1" in autoconf) if [ -r /proc/net/dev ]; then echo yes @@ -36,13 +36,11 @@ case $1 in split($0, a, /: */); gsub(/^ +/,"",a[1]); if (($2 > 0) || ($10 > 0)) print a[1]; }' /proc/net/dev - -# egrep '^ *(eth|tap|bond|wlan|ath|ra|sw)[0-9]+:' /proc/net/dev | cut -f1 -d: | sed 's/ //g' fi exit 0 ;; config) - echo "graph_order `mytc $DEVICE | awk '{ print $2 "_" $3 }' | tr "\n" " "`" + echo "graph_order $(mytc "$DEVICE" | awk '{ print $2 "_" $3 }' | tr "\n" " ")" echo "graph_title $DEVICE TC traffic" echo 'graph_args --base 1000' echo 'graph_vlabel bits per ${graph_period}' @@ -50,7 +48,7 @@ case $1 in echo "graph_info This graph shows the TC classes traffic of the $DEVICE network interface. Please note that the traffic is shown in bits per second, not bytes." # the root(s) - mytc $DEVICE | grep -v " parent " | tr "_" " " | awk '{ + mytc "$DEVICE" | grep -v " parent " | tr "_" " " | awk '{ print $2 "_" $3 "_" $4 ".label " $2 "/" $3 ":" $4; print $2 "_" $3 "_" $4 ".type DERIVE"; print $2 "_" $3 "_" $4 ".min 0"; @@ -58,7 +56,7 @@ case $1 in }' # TODO: only AREASTACK things with no children # the child(s) - mytc $DEVICE | grep " parent " | tr "_" " " | awk '{ + mytc "$DEVICE" | grep " parent " | tr "_" " " | awk '{ print $2 "_" $3 "_" $4 ".label " $2 "/" $3 ":" $4; print $2 "_" $3 "_" $4 ".type DERIVE"; print $2 "_" $3 "_" $4 ".min 0"; @@ -70,13 +68,13 @@ case $1 in esac # the root(s) -mytc $DEVICE | grep -v " parent " | awk '{ +mytc "$DEVICE" | grep -v " parent " | awk '{ split(substr($0, match($0, /[0-9]+ [Bb]ytes/)), a, " "); print $2 "_" $3 ".value " a[1]; }' # the child(s) -mytc $DEVICE | grep " parent " | awk '{ +mytc "$DEVICE" | grep " parent " | awk '{ split(substr($0, match($0, /[0-9]+ [Bb]ytes/)), a, " "); print $2 "_" $3 ".value " a[1]; }' From fd25056ffd6aa3eb23a9a30315b5a311b4e45038 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Sat, 5 Nov 2016 14:57:45 -0700 Subject: [PATCH 16/89] Set family to auto in tc_.pod as well --- plugins/network/tc_.pod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/network/tc_.pod b/plugins/network/tc_.pod index be5fc5a9..74821bd9 100644 --- a/plugins/network/tc_.pod +++ b/plugins/network/tc_.pod @@ -28,7 +28,7 @@ This plugin monitors the bandwidth used by each queue class. The root class will =head1 MAGIC MARKERS - #%# family=manual + #%# family=auto #%# capabilities=autoconf =head1 AUTHORS From c4e03516ce5ae3bb5eb59bdd3f86197f62c7eafe Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Sat, 5 Nov 2016 14:58:49 -0700 Subject: [PATCH 17/89] Forgot the suggest tag --- plugins/network/tc_.pod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/network/tc_.pod b/plugins/network/tc_.pod index 74821bd9..70058d8c 100644 --- a/plugins/network/tc_.pod +++ b/plugins/network/tc_.pod @@ -29,7 +29,7 @@ This plugin monitors the bandwidth used by each queue class. The root class will =head1 MAGIC MARKERS #%# family=auto - #%# capabilities=autoconf + #%# capabilities=autoconf suggest =head1 AUTHORS From 49b79ca228f3a0d71ed3603162c5b23b8679ef80 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Sat, 5 Nov 2016 21:08:01 -0700 Subject: [PATCH 18/89] Embed tc_ pod documentation into the plugin itself --- plugins/network/tc_.pod | 44 ----------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 plugins/network/tc_.pod diff --git a/plugins/network/tc_.pod b/plugins/network/tc_.pod deleted file mode 100644 index 70058d8c..00000000 --- a/plugins/network/tc_.pod +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/perl -w - -=pod - -=encoding UTF-8 - -=head1 NAME - -tc_ - Plugin to monitor traffic control queue class bandwidth usage - -=head1 APPLICABLE SYSTEMS - -Linux 2.5.40+, 2.6.x, 3.x, 4.x - -=head1 CONFIGURATION - -None needed. - -=head1 INTERPRETATION - -Traffic control is the name given to the sets of queuing systems and mechanisms by which packets are received and transmitted on a router. This includes deciding which (and whether) packets to accept at what rate on the input of an interface and determining which packets to transmit in what order at what rate on the output of an interface. - -This plugin monitors the bandwidth used by each queue class. The root class will draw as a single line, whereas children will be drawn in a stacked graph. Complex hierarchies which have more than the root and its direct children are not fully supported and may not render correctly. - -=head1 SEE ALSO - -"man tc" and "tc -s class show dev " to get more information about tc and to see the format of the statistics being parsed. - -=head1 MAGIC MARKERS - - #%# family=auto - #%# capabilities=autoconf suggest - -=head1 AUTHORS - -Steve Schnepp , -Samuel Smith , -Nye Liu - -=head1 LICENSE - -GPLv2 or later - -=cut From 6cb29a3bf34ba50db4c28a7356f4a19ef66067d6 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Thu, 10 Nov 2016 23:19:38 +0100 Subject: [PATCH 19/89] [chrony] switch from bash to sh; fix shell style issues --- plugins/time/chrony | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/time/chrony b/plugins/time/chrony index 96e3ce0f..33469f05 100755 --- a/plugins/time/chrony +++ b/plugins/time/chrony @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Script to parse Chrony Tracking Output # @@ -52,11 +52,11 @@ if [ "$1" = "config" ]; then echo 'graph_category time' i=0 for a in $fields ; do - i=$(expr $i + 1); - word=`echo $fieldnames | cut -f $i -d '='`; - factor=`echo $fieldfactors | cut -f $i -d ' '`; + i=$((i + 1)) + word="$(echo "$fieldnames" | cut -f "$i" -d '=')" + factor="$(echo "$fieldfactors" | cut -f "$i" -d ' ')" echo "$a.label $word$factor)"; - echo "$a.type GAUGE"; + echo "$a.type GAUGE" done exit 0 fi From 6fd9d9072b2fc897fb81a9effd9ac6a858cef382 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Thu, 10 Nov 2016 23:39:45 +0100 Subject: [PATCH 20/89] [chrony] format POD documentation --- plugins/time/chrony | 75 +++++++++++++++++++++++++++------------------ 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/plugins/time/chrony b/plugins/time/chrony index 33469f05..5df6765b 100755 --- a/plugins/time/chrony +++ b/plugins/time/chrony @@ -1,37 +1,54 @@ #!/bin/sh -# -# Script to parse Chrony Tracking Output -# -# Parameters understood: -# -# config (required) -# autoconf (optional - used by munin-config) -# -# $log$ -# Revision 0.1 2008/08/23 13:06:00 joti -# First version only chronyc tracking, autodetection included. -# -# Revision 0.2 2008/10/11 16:09:00 joti -# Added scaling of other values to match with frequency, added more description to fields -# -# Revision 0.3 2014/02/16 zjttoefs -# reduce forking by using awk -# do not limit output precision -# add stratum monitoring -# detect slow/fast time or freqency and adjust sign of value accordingly -# remove commented out code -# -# Magic markers (optional - used by munin-config and installation scripts): -# -#%# family=auto -#%# capabilities=autoconf -#Modify this to fit other chronyc path +: <<=cut + +=head1 NAME + +parse Chrony Tracking output for timeserver status information + +=head1 APPLICABLE SYSTEMS + +Any system with a local chronyd service. + +=head1 CONFIGURATION + +No configuration. + +=head1 MAGIC MARKERS + + #%# family=auto + #%# capabilities=autoconf + +=head1 VERSION + +Revision 0.1 2008/08/23 13:06:00 joti + + First version only chronyc tracking, autodetection included. + +Revision 0.2 2008/10/11 16:09:00 joti + + Added scaling of other values to match with frequency, added more description to fields + +Revision 0.3 2014/02/16 zjttoefs + + reduce forking by using awk + do not limit output precision + add stratum monitoring + detect slow/fast time or freqency and adjust sign of value accordingly + remove commented out code + +=head1 AUTHOR + + joti + zjttoefs + +=cut + +# Modify this to fit other chronyc path CHRONYC=/usr/bin/chronyc -#Frequency has extremely higher values than other. Therefore they are fitted by scaling. Adjust the factors here +# Frequency has extremely higher values than other. Therefore they are fitted by scaling. Adjust the factors here fieldfactors="1 1000 1 100 100 1000 1000" -#fieldfactors="1 1000000 0.1 100 10 10 10" fields="stratum systime frequency residualfreq skew rootdelay rootdispersion" fieldnames="Stratum (=System Time (seconds,x=Frequency (ppm,x=Residual Freq (ppm,x=Skew (ppm,x=Root delay(seconds,x=Root dispersion (seconds,x" From cfd1612aa511e1a4172f48443f69dbd5c5c5be71 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Thu, 10 Nov 2016 23:50:31 +0100 Subject: [PATCH 21/89] [chrony] determine path of "chronyc" via "which" --- plugins/time/chrony | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/time/chrony b/plugins/time/chrony index 5df6765b..d58b3e05 100755 --- a/plugins/time/chrony +++ b/plugins/time/chrony @@ -44,8 +44,7 @@ Revision 0.3 2014/02/16 zjttoefs =cut -# Modify this to fit other chronyc path -CHRONYC=/usr/bin/chronyc +CHRONYC="$(which chronyc | head -1)" # Frequency has extremely higher values than other. Therefore they are fitted by scaling. Adjust the factors here fieldfactors="1 1000 1 100 100 1000 1000" @@ -53,7 +52,7 @@ fields="stratum systime frequency residualfreq skew rootdelay rootdispersion" fieldnames="Stratum (=System Time (seconds,x=Frequency (ppm,x=Residual Freq (ppm,x=Skew (ppm,x=Root delay(seconds,x=Root dispersion (seconds,x" if [ "$1" = "autoconf" ]; then - if [ -f "$CHRONYC" ]; then + if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then echo yes exit 0 else @@ -79,7 +78,7 @@ if [ "$1" = "config" ]; then fi # remove non-needed output lines, remove labels, rescale and label values while detecting slow/fast keywords -chronyc tracking | sed -e 1d -e 3d -e "s/.*://" | \ +"$CHRONYC" tracking | sed -e 1d -e 3d -e "s/.*://" | \ awk -v FAC="$fieldfactors" -v NAM="$fields" \ 'BEGIN { split(FAC,factors," "); split(NAM,names," "); } { /slow/ ? SIGN=-1 : SIGN=1 ; print names[NR]".value ",SIGN*$1*factors[NR]}' From 728b105318b7850560bc8476406e2fefed93b9ee Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Thu, 10 Nov 2016 23:51:56 +0100 Subject: [PATCH 22/89] [chrony] fix error status and message for 'autoconf' --- plugins/time/chrony | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/time/chrony b/plugins/time/chrony index d58b3e05..917e8b3e 100755 --- a/plugins/time/chrony +++ b/plugins/time/chrony @@ -54,11 +54,10 @@ fieldnames="Stratum (=System Time (seconds,x=Frequency (ppm,x=Residual Freq (ppm if [ "$1" = "autoconf" ]; then if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then echo yes - exit 0 else - echo "no (no $CHRONYC)" - exit 1 + echo "no (missing 'chronyc' executable)" fi + exit 0 fi if [ "$1" = "config" ]; then From 89ddacb3c49108aac4ed6df0cc3f40a0791e75db Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Thu, 10 Nov 2016 23:54:57 +0100 Subject: [PATCH 23/89] [chrony] fix whitespace issues --- plugins/time/chrony | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/time/chrony b/plugins/time/chrony index 917e8b3e..e10ddd3e 100755 --- a/plugins/time/chrony +++ b/plugins/time/chrony @@ -61,10 +61,10 @@ if [ "$1" = "autoconf" ]; then fi if [ "$1" = "config" ]; then - echo 'graph_title Chrony Tracking Stats' - echo 'graph_args --base 1000 -l 0' - echo 'units (seconds,ppm)' - echo 'graph_category time' + echo 'graph_title Chrony Tracking Stats' + echo 'graph_args --base 1000 -l 0' + echo 'units (seconds,ppm)' + echo 'graph_category time' i=0 for a in $fields ; do i=$((i + 1)) @@ -73,11 +73,11 @@ if [ "$1" = "config" ]; then echo "$a.label $word$factor)"; echo "$a.type GAUGE" done - exit 0 + exit 0 fi # remove non-needed output lines, remove labels, rescale and label values while detecting slow/fast keywords "$CHRONYC" tracking | sed -e 1d -e 3d -e "s/.*://" | \ awk -v FAC="$fieldfactors" -v NAM="$fields" \ - 'BEGIN { split(FAC,factors," "); split(NAM,names," "); } - { /slow/ ? SIGN=-1 : SIGN=1 ; print names[NR]".value ",SIGN*$1*factors[NR]}' + 'BEGIN { split(FAC,factors," "); split(NAM,names," "); + { /slow/ ? SIGN=-1 : SIGN=1 ; print names[NR]".value ",SIGN*$1*factors[NR]}' From fb4a95730d8a244f42c501d2b10b1a06b13d340b Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Fri, 11 Nov 2016 00:29:45 +0100 Subject: [PATCH 24/89] [chrony] simplify field handling --- plugins/time/chrony | 72 +++++++++++++++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 18 deletions(-) diff --git a/plugins/time/chrony b/plugins/time/chrony index e10ddd3e..314860f6 100755 --- a/plugins/time/chrony +++ b/plugins/time/chrony @@ -37,19 +37,52 @@ Revision 0.3 2014/02/16 zjttoefs detect slow/fast time or freqency and adjust sign of value accordingly remove commented out code +Revision 0.4 2016/11/10 Lars Kruse + + rewrite field handling + use "which" for "chronyc" location + switch from "bash" to "sh" + fix exit code of failing "autoconf" + =head1 AUTHOR joti zjttoefs + Lars Kruse =cut CHRONYC="$(which chronyc | head -1)" -# Frequency has extremely higher values than other. Therefore they are fitted by scaling. Adjust the factors here -fieldfactors="1 1000 1 100 100 1000 1000" -fields="stratum systime frequency residualfreq skew rootdelay rootdispersion" -fieldnames="Stratum (=System Time (seconds,x=Frequency (ppm,x=Residual Freq (ppm,x=Skew (ppm,x=Root delay(seconds,x=Root dispersion (seconds,x" +# Frequency has extremely higher values than other. Therefore they are fitted by scaling via suitable factors. +# field definitions: +# - munin fieldname +# - factor for graph visualization (all values are supposed to reach a similar dimension) +# - regular expression of the chrony output line (may not contain whitespace, case insensitive) +# - label (may include "%d" for including the factor; may contain whitespace) +fields="stratum 1 ^Stratum Stratum + systime 1000 ^System.time System Time (x%d) + frequency 1 ^Frequency Frequency (ppm) + residualfreq 100 ^Residual.freq Residual Freq (ppm, x%d) + skew 100 ^Skew Skew (ppm, x%d) + rootdelay 1000 ^Root.delay Root delay (seconds, x%d) + rootdispersion 1000 ^Root.dispersion Root dispersion (seconds, x%d)" + +# chrony example output (v2.4.1): +# Reference ID : 131.188.3.221 (ntp1.rrze.uni-erlangen.de) +# Stratum : 2 +# Ref time (UTC) : Thu Nov 10 22:39:50 2016 +# System time : 0.000503798 seconds slow of NTP time +# Last offset : +0.000254355 seconds +# RMS offset : 0.002186779 seconds +# Frequency : 17.716 ppm slow +# Residual freq : +0.066 ppm +# Skew : 4.035 ppm +# Root delay : 0.042980 seconds +# Root dispersion : 0.005391 seconds +# Update interval : 258.4 seconds +# Leap status : Normal + if [ "$1" = "autoconf" ]; then if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then @@ -63,21 +96,24 @@ fi if [ "$1" = "config" ]; then echo 'graph_title Chrony Tracking Stats' echo 'graph_args --base 1000 -l 0' - echo 'units (seconds,ppm)' + echo 'graph_vlabel (seconds,ppm)' echo 'graph_category time' - i=0 - for a in $fields ; do - i=$((i + 1)) - word="$(echo "$fieldnames" | cut -f "$i" -d '=')" - factor="$(echo "$fieldfactors" | cut -f "$i" -d ' ')" - echo "$a.label $word$factor)"; - echo "$a.type GAUGE" - done + echo "$fields" | while read fieldname factor regex label; do + # insert the factor, if "%d" is part of the label + printf "${fieldname}.label $label\n" "$factor" + echo "${fieldname}.type GAUGE" + done exit 0 fi -# remove non-needed output lines, remove labels, rescale and label values while detecting slow/fast keywords -"$CHRONYC" tracking | sed -e 1d -e 3d -e "s/.*://" | \ - awk -v FAC="$fieldfactors" -v NAM="$fields" \ - 'BEGIN { split(FAC,factors," "); split(NAM,names," "); - { /slow/ ? SIGN=-1 : SIGN=1 ; print names[NR]".value ",SIGN*$1*factors[NR]}' +chrony_status="$("$CHRONYC" tracking)" +echo "$fields" | while read fieldname factor regex label; do + status_line="$(echo "$chrony_status" | grep -i -- "$regex " | cut -d ":" -f 2-)" + if [ -z "$status_line" ]; then + value="U" + else + # the keyword "slow" indicates negative values + value="$(echo "$status_line" | awk '{ /slow/ ? SIGN=-1 : SIGN=1; print $1 * SIGN * '"$factor"' }')" + fi + echo "${fieldname}.value $value" +done From dc129c541b1c2c6bf5be0368bec706b5403c1ba0 Mon Sep 17 00:00:00 2001 From: Lee Clemens Date: Fri, 5 Feb 2016 23:03:21 -0500 Subject: [PATCH 25/89] Add source HOST to graph_title --- plugins/network/mtr100_ | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/network/mtr100_ b/plugins/network/mtr100_ index 2e439519..ec07888d 100755 --- a/plugins/network/mtr100_ +++ b/plugins/network/mtr100_ @@ -5,7 +5,7 @@ # # Version: 1.0 # Author: tobias.geiger@vido.info -# Please email me bugs/suggestions +# Please email me bugs/suggestions # # Version: 1.1 # Author: charlie@evilforbeginners.com @@ -63,7 +63,7 @@ total+=$6 } END { - for (x=1; x<=count; x++) { + for (x=1; x<=count; x++) { value=(val[x]/total)*100 if ( C != "config" ) { printf "%s.value %2.2f\n","hop_" lab[x],value } if ( C == "config" ) { print "hop_" lab[x] ".label " name[x] } @@ -73,8 +73,7 @@ END { } if [ "$1" = "config" ]; then - - echo 'graph_title Traceroute (%) to '$totrace + echo "graph_title Traceroute `mtr -nrc 1 localhost | grep -E '^HOST' | awk '{print $2}'` to "$totrace echo 'graph_args --base 1000 -l 0 -u 100 -r' echo 'graph_vlabel ms (percentage)' echo 'graph_category network' @@ -86,4 +85,3 @@ if [ "$1" = "config" ]; then else dotrace; fi - From b3a486fa624118686b9eda5a42a2241409c5792c Mon Sep 17 00:00:00 2001 From: Lee Clemens Date: Sat, 12 Nov 2016 13:48:09 -0500 Subject: [PATCH 26/89] Use source hostname as first 'hop' value (removing it from graph title) --- plugins/network/mtr100_ | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/network/mtr100_ b/plugins/network/mtr100_ index ec07888d..f726c55a 100755 --- a/plugins/network/mtr100_ +++ b/plugins/network/mtr100_ @@ -50,7 +50,7 @@ fi dotrace() { -LC_ALL=C mtr -nrs 1024 -c 5 $totrace | grep -vi -E "^HOST:|^Start:" | LC_ALL=C awk -v C=$1 ' { +LC_ALL=C mtr -nrs 1024 -c 5 $totrace | grep -vi -E "^HOST:|^Start:" | LC_ALL=C awk -v C=$1 -v SRC_HOSTNAME=$(hostname) ' { label=$2 x=gsub("\\.","_",label) @@ -63,17 +63,20 @@ total+=$6 } END { + if ( C != "config" ) { print "hop_0.value U" } + if ( C == "config" ) { print "hop_0.label " SRC_HOSTNAME } + if ( C == "config" ) { print "hop_0.draw AREA" } for (x=1; x<=count; x++) { value=(val[x]/total)*100 if ( C != "config" ) { printf "%s.value %2.2f\n","hop_" lab[x],value } if ( C == "config" ) { print "hop_" lab[x] ".label " name[x] } - if ( C == "config" ) { if ( x == 1 ) { print "hop_" lab[x]".draw AREA" } else { print "hop_" lab[x]".draw STACK" } } + if ( C == "config" ) { print "hop_" lab[x]".draw STACK" } } }' } if [ "$1" = "config" ]; then - echo "graph_title Traceroute `mtr -nrc 1 localhost | grep -E '^HOST' | awk '{print $2}'` to "$totrace + echo 'graph_title Traceroute (%) to '$totrace echo 'graph_args --base 1000 -l 0 -u 100 -r' echo 'graph_vlabel ms (percentage)' echo 'graph_category network' From d9cce2160f0dbfad72a29222ccc9363b1b271a81 Mon Sep 17 00:00:00 2001 From: Lee Clemens Date: Sat, 12 Nov 2016 14:29:05 -0500 Subject: [PATCH 27/89] Make whitespace consistent, converting tabs to 4 spaces and fixing indents --- plugins/network/mtr100_ | 68 ++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/plugins/network/mtr100_ b/plugins/network/mtr100_ index f726c55a..18ddf28e 100755 --- a/plugins/network/mtr100_ +++ b/plugins/network/mtr100_ @@ -21,8 +21,8 @@ # # Parameters: # -# config (required) -# autoconf (optional - only used by munin-config) +# config (required) +# autoconf (optional - only used by munin-config) # # Magic markers (optional - used by munin-config and some installation # scripts): @@ -32,19 +32,19 @@ totrace=`basename $0 | sed 's/^mtr100_//g'` if [ "$1" = "autoconf" ]; then - if ( mtr -nrc 1 localhost 2>/dev/null >/dev/null ); then - echo yes - exit 0 - else - if [ $? -eq 127 ] - then - echo "no (mtr program not found - install the mtr(-tiny) package)" - exit 1 - else - echo no - exit 1 - fi - fi + if ( mtr -nrc 1 localhost 2>/dev/null >/dev/null ); then + echo yes + exit 0 + else + if [ $? -eq 127 ] + then + echo "no (mtr program not found - install the mtr(-tiny) package)" + exit 1 + else + echo no + exit 1 + fi + fi exit 0 fi @@ -63,28 +63,28 @@ total+=$6 } END { - if ( C != "config" ) { print "hop_0.value U" } - if ( C == "config" ) { print "hop_0.label " SRC_HOSTNAME } - if ( C == "config" ) { print "hop_0.draw AREA" } - for (x=1; x<=count; x++) { - value=(val[x]/total)*100 - if ( C != "config" ) { printf "%s.value %2.2f\n","hop_" lab[x],value } - if ( C == "config" ) { print "hop_" lab[x] ".label " name[x] } - if ( C == "config" ) { print "hop_" lab[x]".draw STACK" } - } + if ( C != "config" ) { print "hop_0.value U" } + if ( C == "config" ) { print "hop_0.label " SRC_HOSTNAME } + if ( C == "config" ) { print "hop_0.draw AREA" } + for (x=1; x<=count; x++) { + value=(val[x]/total)*100 + if ( C != "config" ) { printf "%s.value %2.2f\n","hop_" lab[x],value } + if ( C == "config" ) { print "hop_" lab[x] ".label " name[x] } + if ( C == "config" ) { print "hop_" lab[x]".draw STACK" } + } }' } if [ "$1" = "config" ]; then - echo 'graph_title Traceroute (%) to '$totrace - echo 'graph_args --base 1000 -l 0 -u 100 -r' - echo 'graph_vlabel ms (percentage)' - echo 'graph_category network' - echo 'graph_scale no' - echo 'graph_period second' - echo 'graph_info This graph shows the Percentage needed for each hop on the way to '$totrace - dotrace config; - exit 0 + echo 'graph_title Traceroute (%) to '$totrace + echo 'graph_args --base 1000 -l 0 -u 100 -r' + echo 'graph_vlabel ms (percentage)' + echo 'graph_category network' + echo 'graph_scale no' + echo 'graph_period second' + echo 'graph_info This graph shows the Percentage needed for each hop on the way to '$totrace + dotrace config; + exit 0 else - dotrace; + dotrace; fi From caa2f4be1824179967029dc96048c85a1c142390 Mon Sep 17 00:00:00 2001 From: Lee Clemens Date: Sat, 12 Nov 2016 15:20:24 -0500 Subject: [PATCH 28/89] Add comment for hardcoded hop_o value and configs --- plugins/network/mtr100_ | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/network/mtr100_ b/plugins/network/mtr100_ index 18ddf28e..44ed34f3 100755 --- a/plugins/network/mtr100_ +++ b/plugins/network/mtr100_ @@ -63,6 +63,7 @@ total+=$6 } END { + # Hard code the first hop (hop_0) as the local hostname if ( C != "config" ) { print "hop_0.value U" } if ( C == "config" ) { print "hop_0.label " SRC_HOSTNAME } if ( C == "config" ) { print "hop_0.draw AREA" } From 4f0a708dfd62a9b29c7b34b3df60cf2fbb0776a9 Mon Sep 17 00:00:00 2001 From: Peter Doherty Date: Sun, 13 Nov 2016 08:56:45 -0500 Subject: [PATCH 29/89] Pass over empty lines in the arcstats https://github.com/munin-monitoring/contrib/issues/680 --- plugins/zfs/zfsonlinux_stats_ | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/zfs/zfsonlinux_stats_ b/plugins/zfs/zfsonlinux_stats_ index d96c8fd2..b0bd8b42 100755 --- a/plugins/zfs/zfsonlinux_stats_ +++ b/plugins/zfs/zfsonlinux_stats_ @@ -37,6 +37,7 @@ while read name type data do [[ $name =~ ^[0-9].* ]] && continue [[ $name == "name" ]] && continue + [[ $name == "" ]] && continue case $name in "hits" ) export ARC_HITS=$data From 21572e11a5d35e6a33e3744bbca91745f76b214e Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Wed, 16 Nov 2016 18:25:53 -0800 Subject: [PATCH 30/89] Add the documentation in to the script. Should have gone with previous commit. --- plugins/network/tc_ | 51 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/plugins/network/tc_ b/plugins/network/tc_ index 3b373434..9933edd2 100755 --- a/plugins/network/tc_ +++ b/plugins/network/tc_ @@ -1,17 +1,46 @@ #!/bin/sh # -*- sh -*- -# -# This plugin is based on the if_ plugin. -# -# Parameters -# None -# -# Magic markers (optional - used by munin-config and some installation -# scripts): -# -#%# family=auto -#%# capabilities=autoconf suggest +: << =cut + +=pod + +=encoding UTF-8 + +=head1 NAME + +tc_ - Plugin to monitor traffic control queue class bandwidth usage + +=head1 CONFIGURATION + +None needed. + +=head1 INTERPRETATION + +Traffic control is the name given to the sets of queuing systems and mechanisms by which packets are received and transmitted on a router. This includes deciding which (and whether) packets to accept at what rate on the input of an interface and determining which packets to transmit in what order at what rate on the output of an interface. + +This plugin monitors the bandwidth used by each queue class. The root class will draw as a single line, whereas children will be drawn in a stacked graph. Complex hierarchies which have more than the root and its direct children are not fully supported and may not render correctly. + +=head1 SEE ALSO + +"man tc" and "tc -s class show dev " to get more information about tc and to see the format of the statistics being parsed. + +=head1 MAGIC MARKERS + + #%# family=auto + #%# capabilities=autoconf suggest + +=head1 AUTHORS + +Steve Schnepp , +Samuel Smith , +Nye Liu + +=head1 LICENSE + +GPLv2 or later + +=cut DEVICE=${0##*/tc_} From fea84ffc20b6fd65d239fde7695635df1cf5c0f4 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Thu, 24 Nov 2016 04:00:36 +0100 Subject: [PATCH 31/89] travis: do not import missing File::Tail::Multi --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 474a3a9d..dd210c31 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,6 @@ install: - cpanm --notest Device::SerialPort - cpanm --notest FCGI::Client - cpanm --notest File::ReadBackwards - - cpanm --notest File::Tail::Multi - cpanm --notest Graphics::ColorObject - cpanm --notest IPC::Run3 - cpanm --notest IPC::ShareLite @@ -55,6 +54,7 @@ install: # - Sys::Virt version matching the test system's libvirt-dev - cpanm --notest DANBERR/Sys-Virt-0.9.8.tar.gz # Modules used by plugins, but missing on cpan + # - File::Tail::Multi # - Sun::Solaris::Kstat # - VMware::VIRuntime # - MythTV From 145b65469203cb3e657ae61148ef928fbd45f5bd Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Thu, 24 Nov 2016 17:37:50 +0100 Subject: [PATCH 32/89] Add minimal POD documentation --- plugins/sge/sge_job_stats | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/plugins/sge/sge_job_stats b/plugins/sge/sge_job_stats index 0423ca1e..f04d4cad 100755 --- a/plugins/sge/sge_job_stats +++ b/plugins/sge/sge_job_stats @@ -5,6 +5,29 @@ # # Tested with Son of Gridengine. +: <<=cut + +=head1 NAME + +sge_job_stats - Munin plugin to monitor jobs submitted and executed on a Grid +Engine installation + +=head1 APPLICABLE SYSTEMS + +Any system with a qstat command that behaves like the one found in Son of +GridEngine. + +=head1 CONFIGURATION + +The environment variable SGE_SETTINGS can be set to point to an SGE +"settings.sh" file. It defaults to /opt/sge/default/common/settings.sh. + +=head1 AUTHOR + +Wouter Verhelst + +=cut + if [ "$1" = "config" ] then echo graph_title SGE gridengine jobs From 02f80a35a31ec1be979566e5e3d25a151732969b Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Fri, 25 Nov 2016 02:17:41 +0100 Subject: [PATCH 33/89] [apache_logparser] carefully import unavailable module 'File::Tail::Multi this will allow travis checks again --- plugins/apache/apache_vhosts/apache_logparser | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/apache/apache_vhosts/apache_logparser b/plugins/apache/apache_vhosts/apache_logparser index 434ea0f9..22456298 100644 --- a/plugins/apache/apache_vhosts/apache_logparser +++ b/plugins/apache/apache_vhosts/apache_logparser @@ -45,7 +45,9 @@ local $debug=0; my $scan_interval=5; # minutes # perl modules -use File::Tail::Multi; +# "File:Tail:Multi" disappeared from CPAN (somewhen in 2016) - thus it needs +# to be imported carefully (for travis checks). +eval 'use File::Tail::Multi; 1;' or die 'Please install File::Tail::Multi'; use Storable qw(freeze thaw); use List::Util qw(min max); use IPC::ShareLite ':lock'; From 89b2f76701ebefe2719a40567e7657e8fd9dabae Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Fri, 25 Nov 2016 02:18:29 +0100 Subject: [PATCH 34/89] [apache_logparser] fix syntax error of for-loop --- plugins/apache/apache_vhosts/apache_logparser | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/apache/apache_vhosts/apache_logparser b/plugins/apache/apache_vhosts/apache_logparser index 22456298..1f3ddcb7 100644 --- a/plugins/apache/apache_vhosts/apache_logparser +++ b/plugins/apache/apache_vhosts/apache_logparser @@ -169,7 +169,7 @@ while (1) { $old{$vpm}{'max_bytes'}=max($old{$vpm}{'max_bytes'},$temp{$vpm}{'max_bytes'}) || 0; # reset local counters - foreach my $check qw(requests bytes time max_bytes avg_bytes max_time avg_time) { + foreach my $check (qw(requests bytes time max_bytes avg_bytes max_time avg_time)) { $temp{$vpm}{$check}=0; } From 3d3f5179fa3cfdb7f949c87ffc691c7e4e32bc91 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Fri, 25 Nov 2016 02:23:19 +0100 Subject: [PATCH 35/89] [apache_logparser] remove unused 'type' setting the manual common/combined type detection was replaced with an automatism earlier --- plugins/apache/apache_vhosts/apache_logparser | 4 ---- 1 file changed, 4 deletions(-) diff --git a/plugins/apache/apache_vhosts/apache_logparser b/plugins/apache/apache_vhosts/apache_logparser index 1f3ddcb7..1f427b5e 100644 --- a/plugins/apache/apache_vhosts/apache_logparser +++ b/plugins/apache/apache_vhosts/apache_logparser @@ -27,9 +27,6 @@ $statefile file to save last log position for tail $nsec tail and write to shared mem every n seconds $debug dump tallied data every n seconds, print every log line parsed $scan_interval rescan for new log files every n minutes -$type log file type: - common: CLF + vhost + time + (other fields) - combined: combined + time + (other fields) =cut # config @@ -38,7 +35,6 @@ my $files = "*access_log"; my $site = "(.*)-access_log"; my $statefile = "/tmp/logstate"; `touch $statefile` unless (-f $statefile); -local $type="combined"; local $nsec=7; local $debug=0; From 7c08e6c469a65b1d7778643c50bfb9b4af194a7c Mon Sep 17 00:00:00 2001 From: "K.Cima" Date: Tue, 22 Nov 2016 20:36:10 +0900 Subject: [PATCH 36/89] Added oracle_sysstat_ plugin --- .../example-graphs/oracle_sysstat_-1.png | Bin 0 -> 61076 bytes .../example-graphs/oracle_sysstat_-2.png | Bin 0 -> 64439 bytes plugins/oracle/oracle_sysstat_ | 899 ++++++++++++++++++ 3 files changed, 899 insertions(+) create mode 100644 plugins/oracle/example-graphs/oracle_sysstat_-1.png create mode 100644 plugins/oracle/example-graphs/oracle_sysstat_-2.png create mode 100755 plugins/oracle/oracle_sysstat_ diff --git a/plugins/oracle/example-graphs/oracle_sysstat_-1.png b/plugins/oracle/example-graphs/oracle_sysstat_-1.png new file mode 100644 index 0000000000000000000000000000000000000000..423d736d3d25486cb6dced53303be5a3f846e6a5 GIT binary patch literal 61076 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
PaIft%%jY+7m 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 U+&<)Efq<_EO6rRF3Px}L3oeOK$N&HU literal 0 HcmV?d00001 diff --git a/plugins/oracle/example-graphs/oracle_sysstat_-2.png b/plugins/oracle/example-graphs/oracle_sysstat_-2.png new file mode 100644 index 0000000000000000000000000000000000000000..537cd322e4cd96f4726e92abdfe516f482938f7e GIT binary patch literal 64439 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 literal 0 HcmV?d00001 diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ new file mode 100755 index 00000000..4cbace67 --- /dev/null +++ b/plugins/oracle/oracle_sysstat_ @@ -0,0 +1,899 @@ +#!/bin/bash +# -*- sh -*- + +: << =cut + +=head1 NAME + + oracle_sysstat_* - Munin plugin to monitor Oracle Statistics + + execute - To monitor Oracle Sysstat Execute Count + parse - To monitor Oracle Sysstat Parse Count + tablefetch - To monitor Oracle Sysstat Table Fetch Rows + tablescan - To monitor Oracle Sysstat Table Scans + transaction - To monitor Oracle Sysstat Transactions + sort - To monitor Oracle Sysstat Sorts + cursor - To monitor Oracle Sysstat Open Cursor + enqueue - To monitor Oracle Sysstat Enqueues + redolog - To monitor Oracle Sysstat Redo Log + physicaliops - To monitor Oracle Sysstat Physical I/O Requests + physicalrw - To monitor Oracle Sysstat Physical Read/Write Bytes + netrw - To monitor Oracle Sysstat Network Send/Receive Bytes + sgainfo - To monitor Oracle Memory SGA + pgastat - To monitor Oracle Memory PGA + cachehit - To monitor Oracle Cache Hit Ratio + sessionuser - To monitor Oracle Session Users + sessionwait - To monitor Oracle Session Wait + eventwait - To monitor Oracle Wait Events + eventwaitapplication - To monitor Oracle Wait Events Application + eventwaitconcurrency - To monitor Oracle Wait Events Concurrency + eventwaituserio - To monitor Oracle Wait Events User I/O + eventwaitsystemio - To monitor Oracle Wait Events System I/O + eventwaitcluster - To monitor Oracle Wait Events Cluster + tablespace - To monitor Oracle Table Space Usage + asmusage - To monitor Oracle ASM Disk Group Usage + +=head1 CONFIGURATION + + To get a list of symlinks that can be created, run: + + ./oracle_sysstat_ suggest + + Make symlinks: + + munin-node-configure --families=contrib --suggest --shell + ... + + The following shows example settings for this plugin: + + [oracle_sysstat_*] + user oracle + env.oracle_auth / as SYSDBA + env.ORACLE_HOME /path/to/oracle/product/version + env.ORACLE_SID SOMESID + + [oracle_sysstat_asmusage] + user grid + env.oracle_auth / as SYSASM + env.ORACLE_HOME /path/to/grid/home/version + env.ORACLE_SID SOMESID + +=head1 NOTES + + Uses the command "sqlplus". + Tested with Oracle Database 12c R1. + +=head1 AUTHOR + + K.Cima https://github.com/shakemid + +=head1 LICENSE + + GPLv2 + +=cut + +# Magic markers +#%# family=contrib +#%# capabilities=autoconf suggest + +# Include plugin.sh +. $MUNIN_LIBDIR/plugins/plugin.sh + +# Like perl 'use strict;' +#set -o nounset + +# Environments +: ${ORACLE_HOME:=$( echo /opt/oracle/product/* )} +: ${ORACLE_SID:=orcl} +: ${oracle_auth:=/ as SYSDBA} + +PATH=$PATH:$ORACLE_HOME/bin +export PATH ORACLE_HOME ORACLE_SID + +# Module name +module=$( basename $0 | sed -e 's/^.*_//' ) + +# Graph settings +declare -A global_attrs # required +declare -A data_attrs # required (format: field type draw 'label') +declare -A getfield_func # optional +declare -A getvalue_func # required + +key=execute +global_attrs[$key]=" + graph_title Oracle Sysstat Execute Count + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat Execute Count +" +data_attrs[$key]=" + execute_count DERIVE LINE 'execute count' + user_calls DERIVE LINE 'user calls' + recursive_calls DERIVE LINE 'recursive calls' +" +getvalue_func[$key]=getvalue_sysstat + +key=parse +global_attrs[$key]=" + graph_title Oracle Sysstat Parse Count + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat Parse Count +" +data_attrs[$key]=" + parse_count_total DERIVE LINE 'parse count (total)' + parse_count_hard DERIVE LINE 'parse count (hard)' + parse_count_failures DERIVE LINE 'parse count (failures)' + parse_count_describe DERIVE LINE 'parse count (describe)' +" +getvalue_func[$key]=getvalue_sysstat + +key=tablefetch +global_attrs[$key]=" + graph_title Oracle Sysstat Table Fetch Rows + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat Table Scans +" +data_attrs[$key]=" + table_fetch_by_rowid DERIVE LINE 'table fetch by rowid' + table_scan_rows_gotten DERIVE LINE 'table scan rows gotten' +" +getvalue_func[$key]=getvalue_sysstat + +key=tablescan +global_attrs[$key]=" + graph_title Oracle Sysstat Table Scans + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat Table Scans +" +data_attrs[$key]=" + table_scans_short_tables DERIVE LINE 'table scans (short tables)' + table_scans_long_tables DERIVE LINE 'table scans (long tables)' +" +getvalue_func[$key]=getvalue_sysstat + +key=transaction +global_attrs[$key]=" + graph_title Oracle Sysstat Transactions + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat Transactions +" +data_attrs[$key]=" + user_commits DERIVE LINE 'user commits' + user_rollbacks DERIVE LINE 'user rollbacks' +" +getvalue_func[$key]=getvalue_sysstat + +key=sort +global_attrs[$key]=" + graph_title Oracle Sysstat Sorts + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat - Sorts +" +data_attrs[$key]=" + sorts_memory DERIVE LINE 'sorts (memory)' + sorts_disk DERIVE LINE 'sorts (disk)' +" +getvalue_func[$key]=getvalue_sysstat + +key=cursor +global_attrs[$key]=" + graph_title Oracle Sysstat Open Cursors + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count + graph_info Oracle Sysstat Open Cursors +" +data_attrs[$key]=" + open_cursor GAUGE LINE 'opened cursors current' +" +getvalue_func[$key]=getvalue_sysstat + +key=enqueue +global_attrs[$key]=" + graph_title Oracle Sysstat Enqueues + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat Enqueues +" +data_attrs[$key]=" + enqueue_requests DERIVE LINE 'enqueue requests' + enqueue_releases DERIVE LINE 'enqueue releases' + enqueue_conversions DERIVE LINE 'enqueue conversions' + enqueue_waits DERIVE LINE 'enqueue waits' + enqueue_timeouts DERIVE LINE 'enqueue timeouts' + enqueue_deadlocks DERIVE LINE 'enqueue deadlocks' +" +getvalue_func[$key]=getvalue_sysstat + +key=redolog +global_attrs[$key]=" + graph_title Oracle Sysstat Redo Log + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat Redo Log +" +data_attrs[$key]=" + redo_entries DERIVE LINE 'redo entries' + redo_buffer_allocation_retries DERIVE LINE 'redo buffer allocation retries' + redo_log_space_requests DERIVE LINE 'redo log space requests' +" +getvalue_func[$key]=getvalue_sysstat + +key=physicaliops +global_attrs[$key]=" + graph_title Oracle Sysstat Physical I/O Requests + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel iops + graph_info Oracle Sysstat Physical I/O Requests +" +data_attrs[$key]=" + physical_read_total DERIVE LINE2 'physical read total IO requests' + physical_read DERIVE LINE 'physical read IO requests' + physical_read_total_multi DERIVE LINE 'physical read total multi block requests' + physical_write_total DERIVE LINE2 'physical write total IO requests' + physical_write DERIVE LINE 'physical write IO requests' + physical_write_total_multi DERIVE LINE 'physical write total multi block requests' +" +getvalue_func[$key]=getvalue_sysstat + +key=physicalrw +global_attrs[$key]=" + graph_title Oracle Sysstat Physical Read/Write Bytes + graph_category db + graph_args --base 1024 --lower-limit 0 --rigid + graph_vlabel bytes per second + graph_info Oracle Sysstat Physical Read/Write Bytes +" +data_attrs[$key]=" + physical_read_total DERIVE LINE2 'physical read total bytes' + physical_read DERIVE LINE 'physical read bytes' + physical_write_total DERIVE LINE2 'physical write total bytes' + physical_write DERIVE LINE 'physical write bytes' +" +getvalue_func[$key]=getvalue_sysstat + +key=netrw +global_attrs[$key]=" + graph_title Oracle Sysstat Network Send/Receive Bytes + graph_category db + graph_args --base 1024 --lower-limit 0 --rigid + graph_vlabel bytes per second + graph_info Oracle Sysstat Network Send/Receive Bytes +" +data_attrs[$key]=" + bytes_sent_via_sql_net_to_client DERIVE LINE 'bytes sent via SQL*Net to client' + bytes_received_via_sql_net_from_client DERIVE LINE 'bytes received via SQL*Net from client' + bytes_sent_via_sql_net_to_dblink DERIVE LINE 'bytes sent via SQL*Net to dblink' + bytes_received_via_sql_net_from_dblink DERIVE LINE 'bytes received via SQL*Net from dblink' +" +getvalue_func[$key]=getvalue_sysstat + +key=sgainfo +global_attrs[$key]=" + graph_title Oracle Memory SGA + graph_category db + graph_args --base 1024 --lower-limit 0 --rigid + graph_vlabel bytes + graph_info Oracle Memory SGA +" +data_attrs[$key]=" + maximum_sga_size GAUGE LINE 'Maximum SGA Size' + fixed_sga_size GAUGE AREASTACK 'Fixed SGA Size' + redo_buffers GAUGE AREASTACK 'Redo Buffers' + shared_pool_size GAUGE AREASTACK 'Shared Pool Size' + large_pool_size GAUGE AREASTACK 'Large Pool Size' + java_pool_size GAUGE AREASTACK 'Java Pool Size' + streams_pool_size GAUGE AREASTACK 'Streams Pool Size' + shared_io_pool_size GAUGE AREASTACK 'Shared IO Pool Size' + buffer_cache_size GAUGE AREASTACK 'Buffer Cache Size' + in_memory_area_size GAUGE AREASTACK 'In-Memory Area Size' +" +getvalue_func[$key]=getvalue_sgainfo + +key=pgastat +global_attrs[$key]=" + graph_title Oracle Memory PGA + graph_category db + graph_args --base 1024 --lower-limit 0 --rigid + graph_vlabel bytes + graph_info Oracle Memory PGA +" +data_attrs[$key]=" + pga_target GAUGE LINE 'aggregate PGA auto target' + pga_allocated GAUGE LINE 'total PGA allocated' + pga_inuse GAUGE AREA 'total PGA inuse' +" +getvalue_func[$key]=getvalue_pgastat + +key=cachehit +global_attrs[$key]=" + graph_title Oracle Cache Hit Ratio + graph_category db + graph_args --base 1000 --lower-limit 0 --upper-limit 100 --rigid + graph_vlabel % + graph_info Oracle Cache Hit Ratio + graph_scale no +" +data_attrs[$key]=" + buf_hitratio GAUGE LINE 'Buffer Cache Hit Ratio' + lib_hitratio GAUGE LINE 'Library Cache Hit Ratio' + dict_hitratio GAUGE LINE 'Dictionary Cache Hit Ratio' +" +getvalue_func[$key]=getvalue_cachehit + +key=sessionuser +global_attrs[$key]=" + graph_title Oracle Session Users + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count + graph_info Oracle Session Users +" +data_attrs[$key]="" +getfield_func[$key]=getfield_sessionuser +getvalue_func[$key]=getvalue_sessionuser + +key=sessionwait +global_attrs[$key]=" + graph_title Oracle Session Wait + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count + graph_info Oracle Session Wait +" +data_attrs[$key]="" +getfield_func[$key]=getfield_sessionwait +getvalue_func[$key]=getvalue_sessionwait + +key=eventwait +global_attrs[$key]=" + graph_title Oracle Wait Events + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events +" +data_attrs[$key]="" +getfield_func[$key]=getfield_eventwait +getvalue_func[$key]=getvalue_eventwait + +key=eventwaitapplication +global_attrs[$key]=" + graph_title Oracle Wait Events Application + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events Application +" +data_attrs[$key]="" +getfield_func[$key]='getfield_eventwait2 Application' +getvalue_func[$key]='getvalue_eventwait2 Application' + +key=eventwaitconcurrency +global_attrs[$key]=" + graph_title Oracle Wait Events Concurrency + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events Concurrency +" +data_attrs[$key]=" " +getfield_func[$key]='getfield_eventwait2 Concurrency' +getvalue_func[$key]='getvalue_eventwait2 Concurrency' + +key=eventwaituserio +global_attrs[$key]=" + graph_title Oracle Wait Events User I/O + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events User I/O +" +data_attrs[$key]="" +getfield_func[$key]='getfield_eventwait2 "User I/O"' +getvalue_func[$key]='getvalue_eventwait2 "User I/O"' + +key=eventwaitsystemio +global_attrs[$key]=" + graph_title Oracle Wait Events System I/O + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events System I/O +" +data_attrs[$key]=" +" +getfield_func[$key]='getfield_eventwait2 "System I/O"' +getvalue_func[$key]='getvalue_eventwait2 "System I/O"' + +key=eventwaitcluster +global_attrs[$key]=" + graph_title Oracle Wait Events Cluster + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events Cluster +" +data_attrs[$key]=" " +getfield_func[$key]='getfield_eventwait2 Cluster' +getvalue_func[$key]='getvalue_eventwait2 Cluster' + +key=tablespace +global_attrs[$key]=" + graph_title Oracle Table Space Usage + graph_category db + graph_args --base 1000 --lower-limit 0 --upper-limit 100 --rigid + graph_vlabel % + graph_info Oracle Table Space Usage + warning ${warning:=92} + critical ${critical:=98} +" +data_attrs[$key]="" +getfield_func[$key]=getfield_tablespace +getvalue_func[$key]=getvalue_tablespace + +key=asmusage +global_attrs[$key]=" + graph_title Oracle ASM Disk Group Usage + graph_category db + graph_args --base 1000 --lower-limit 0 --upper-limit 100 --rigid + graph_vlabel % + graph_info Oracle ASM Disk Group Usage + warning ${warning:=92} + critical ${critical:=98} +" +data_attrs[$key]="" +getfield_func[$key]=getfield_asmusage +getvalue_func[$key]=getvalue_asmusage + +# End of Graph Settings + +# sqlplus options +: ${sqlplus:=sqlplus} +: ${sqlplus_opts:=-S -L} +sqlplus_variables=" + set pagesize 0 + set feed off + set head off + set linesize 256 + set numwidth 20 +" + +# functions + +autoconf() { + if [ -x "$( which ${sqlplus} )" ]; then + echo yes + else + echo "no (failed to find executable 'sqlplus')" + fi +} + +suggest() { + echo ${!global_attrs[@]} | tr ' ' '\n' | sort +} + +config() { + # print global attributes + sed -e 's/^ *//' -e '/^$/d' <<< "${global_attrs[$module]}" + + # print data source attributes + local line t fields field type draw label + while IFS= read -r line + do + eval 't=(' "$line" ')' + field="${t[0]}" + [ -z "$field" ] && continue + fields+=( $field ) + type="${t[1]}" + draw="${t[2]}" + label="${t[3]}" + + echo ${field}.type ${type} + echo ${field}.draw ${draw} + echo ${field}.label ${label} + done <<< "${data_attrs[$module]}" + + echo graph_order ${fields[@]} +} + +getfield() { + if [ -n "${getfield_func[$module]:-}" ]; then + eval "${getfield_func[$module]}" + fi +} + +getvalue() { + eval "${getvalue_func[$module]}" +} + +getvalue_sysstat() { + local line t field label + while IFS= read -r line + do + eval 't=(' "$line" ')' + field="${t[0]}" + [ -z "$field" ] && continue + label="${t[3]}" + + ${sqlplus} ${sqlplus_opts} "${oracle_auth}" < Date: Mon, 28 Nov 2016 23:51:59 +0900 Subject: [PATCH 37/89] Fix to remove useless SQL --- plugins/oracle/oracle_sysstat_ | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ index 4cbace67..e72872f2 100755 --- a/plugins/oracle/oracle_sysstat_ +++ b/plugins/oracle/oracle_sysstat_ @@ -691,8 +691,6 @@ FROM wait_class FROM v\$event_name - WHERE - wait_class NOT IN ( 'Other', 'Idle' ) GROUP BY wait_class ) en @@ -701,22 +699,7 @@ ON en.wait_class = se.wait_class AND se.username is not null GROUP BY - en.wait_class -; -SELECT - 'Other.value ' || count(wait_class) -FROM - v\$session -WHERE - wait_class = 'Other' AND username is not null -; -SELECT - 'Idle.value ' || count(wait_class) -FROM - v\$session -WHERE - wait_class = 'Idle' AND username is not null -; + en.wait_class; EOF } @@ -751,7 +734,7 @@ FROM FROM v\$event_name WHERE - wait_class NOT IN ( 'Other', 'Idle' ) + wait_class NOT IN ( 'Idle' ) GROUP BY wait_class ) en @@ -759,15 +742,7 @@ FROM ON en.wait_class = se.wait_class GROUP BY - en.wait_class -; -SELECT - 'Other.value ' || NVL( SUM(time_waited_micro), 0 ) -FROM - v\$system_event -WHERE - wait_class = 'Other' -; + en.wait_class; EOF } From 99e235ceef9aa4c5882ad32f61556068737cccc2 Mon Sep 17 00:00:00 2001 From: "K.Cima" Date: Mon, 28 Nov 2016 23:52:51 +0900 Subject: [PATCH 38/89] Fix to remove ${sqlplus_opts} to supress shellcheck warnings --- plugins/oracle/oracle_sysstat_ | 35 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ index e72872f2..4cabf842 100755 --- a/plugins/oracle/oracle_sysstat_ +++ b/plugins/oracle/oracle_sysstat_ @@ -464,8 +464,7 @@ getvalue_func[$key]=getvalue_asmusage # End of Graph Settings # sqlplus options -: ${sqlplus:=sqlplus} -: ${sqlplus_opts:=-S -L} +: "${sqlplus:=sqlplus -S -L}" sqlplus_variables=" set pagesize 0 set feed off @@ -531,7 +530,7 @@ getvalue_sysstat() { [ -z "$field" ] && continue label="${t[3]}" - ${sqlplus} ${sqlplus_opts} "${oracle_auth}" < Date: Mon, 28 Nov 2016 23:53:47 +0900 Subject: [PATCH 39/89] Fix to add double quote to supress shellcheck warnings --- plugins/oracle/oracle_sysstat_ | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ index 4cabf842..d2a2afc7 100755 --- a/plugins/oracle/oracle_sysstat_ +++ b/plugins/oracle/oracle_sysstat_ @@ -78,21 +78,21 @@ #%# capabilities=autoconf suggest # Include plugin.sh -. $MUNIN_LIBDIR/plugins/plugin.sh +. "${MUNIN_LIBDIR}/plugins/plugin.sh" # Like perl 'use strict;' #set -o nounset # Environments -: ${ORACLE_HOME:=$( echo /opt/oracle/product/* )} -: ${ORACLE_SID:=orcl} -: ${oracle_auth:=/ as SYSDBA} +: "${ORACLE_HOME:=$( echo /opt/oracle/product/* )}" +: "${ORACLE_SID:=orcl}" +: "${oracle_auth:=/ as SYSDBA}" PATH=$PATH:$ORACLE_HOME/bin export PATH ORACLE_HOME ORACLE_SID # Module name -module=$( basename $0 | sed -e 's/^.*_//' ) +module=$( basename "$0" | sed -e 's/^.*_//' ) # Graph settings declare -A global_attrs # required @@ -476,7 +476,7 @@ sqlplus_variables=" # functions autoconf() { - if [ -x "$( which ${sqlplus} )" ]; then + if [ -x "$( which "${sqlplus}" )" ]; then echo yes else echo "no (failed to find executable 'sqlplus')" @@ -484,7 +484,7 @@ autoconf() { } suggest() { - echo ${!global_attrs[@]} | tr ' ' '\n' | sort + echo "${!global_attrs[@]}" | tr ' ' '\n' | sort } config() { @@ -503,12 +503,12 @@ config() { draw="${t[2]}" label="${t[3]}" - echo ${field}.type ${type} - echo ${field}.draw ${draw} - echo ${field}.label ${label} + echo "${field}.type" "$type" + echo "${field}.draw" "$draw" + echo "${field}.label" "$label" done <<< "${data_attrs[$module]}" - echo graph_order ${fields[@]} + echo graph_order "${fields[@]}" } getfield() { From 289b99d40169d0e07b9e5588c5674ac3e7512010 Mon Sep 17 00:00:00 2001 From: "K.Cima" Date: Mon, 28 Nov 2016 23:55:30 +0900 Subject: [PATCH 40/89] Add comments for evals --- plugins/oracle/oracle_sysstat_ | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ index d2a2afc7..b6c6897a 100755 --- a/plugins/oracle/oracle_sysstat_ +++ b/plugins/oracle/oracle_sysstat_ @@ -495,7 +495,9 @@ config() { local line t fields field type draw label while IFS= read -r line do - eval 't=(' "$line" ')' + # split line into field,type,draw,label + # eval looks necessary to preserve whitespaces + eval "t=( ${line} )" field="${t[0]}" [ -z "$field" ] && continue fields+=( $field ) @@ -511,13 +513,19 @@ config() { echo graph_order "${fields[@]}" } +# wrapper for getfield_* getfield() { if [ -n "${getfield_func[$module]:-}" ]; then + # call getfield_* function with args if necessary + # eval looks necessary if args contain whitespaces eval "${getfield_func[$module]}" fi } +# wrapper for getvalue_* getvalue() { + # call getvalue_* function with args if necessary + # eval looks necessary if args contain whitespaces eval "${getvalue_func[$module]}" } @@ -525,7 +533,9 @@ getvalue_sysstat() { local line t field label while IFS= read -r line do - eval 't=(' "$line" ')' + # split line into field,type,draw,label + # eval looks necessary to preserve whitespaces + eval "t=( ${line} )" field="${t[0]}" [ -z "$field" ] && continue label="${t[3]}" @@ -550,7 +560,9 @@ getvalue_sgainfo() { local line t field label while IFS= read -r line do - eval 't=(' "$line" ')' + # split line into field,type,draw,label + # eval looks necessary to preserve whitespaces + eval "t=( ${line} )" field="${t[0]}" [ -z "$field" ] && continue label="${t[3]}" @@ -575,7 +587,9 @@ getvalue_pgastat() { local line t field label while IFS= read -r line do - eval 't=(' "$line" ')' + # split line into field,type,draw,label + # eval looks necessary to preserve whitespaces + eval "t=( ${line} )" field="${t[0]}" [ -z "$field" ] && continue label="${t[3]}" From 69f98e7f7b866de5dd5e3a3dc99813576f66b176 Mon Sep 17 00:00:00 2001 From: "K.Cima" Date: Tue, 29 Nov 2016 14:24:59 +0900 Subject: [PATCH 41/89] Fix to remove evals --- plugins/oracle/oracle_sysstat_ | 201 +++++++++++++++------------------ 1 file changed, 91 insertions(+), 110 deletions(-) diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ index b6c6897a..11c9035f 100755 --- a/plugins/oracle/oracle_sysstat_ +++ b/plugins/oracle/oracle_sysstat_ @@ -96,7 +96,7 @@ module=$( basename "$0" | sed -e 's/^.*_//' ) # Graph settings declare -A global_attrs # required -declare -A data_attrs # required (format: field type draw 'label') +declare -A data_attrs # required (format: field type draw label) declare -A getfield_func # optional declare -A getvalue_func # required @@ -109,9 +109,9 @@ global_attrs[$key]=" graph_info Oracle Sysstat Execute Count " data_attrs[$key]=" - execute_count DERIVE LINE 'execute count' - user_calls DERIVE LINE 'user calls' - recursive_calls DERIVE LINE 'recursive calls' + execute_count DERIVE LINE execute count + user_calls DERIVE LINE user calls + recursive_calls DERIVE LINE recursive calls " getvalue_func[$key]=getvalue_sysstat @@ -124,10 +124,10 @@ global_attrs[$key]=" graph_info Oracle Sysstat Parse Count " data_attrs[$key]=" - parse_count_total DERIVE LINE 'parse count (total)' - parse_count_hard DERIVE LINE 'parse count (hard)' - parse_count_failures DERIVE LINE 'parse count (failures)' - parse_count_describe DERIVE LINE 'parse count (describe)' + parse_count_total DERIVE LINE parse count (total) + parse_count_hard DERIVE LINE parse count (hard) + parse_count_failures DERIVE LINE parse count (failures) + parse_count_describe DERIVE LINE parse count (describe) " getvalue_func[$key]=getvalue_sysstat @@ -140,8 +140,8 @@ global_attrs[$key]=" graph_info Oracle Sysstat Table Scans " data_attrs[$key]=" - table_fetch_by_rowid DERIVE LINE 'table fetch by rowid' - table_scan_rows_gotten DERIVE LINE 'table scan rows gotten' + table_fetch_by_rowid DERIVE LINE table fetch by rowid + table_scan_rows_gotten DERIVE LINE table scan rows gotten " getvalue_func[$key]=getvalue_sysstat @@ -154,8 +154,8 @@ global_attrs[$key]=" graph_info Oracle Sysstat Table Scans " data_attrs[$key]=" - table_scans_short_tables DERIVE LINE 'table scans (short tables)' - table_scans_long_tables DERIVE LINE 'table scans (long tables)' + table_scans_short_tables DERIVE LINE table scans (short tables) + table_scans_long_tables DERIVE LINE table scans (long tables) " getvalue_func[$key]=getvalue_sysstat @@ -168,8 +168,8 @@ global_attrs[$key]=" graph_info Oracle Sysstat Transactions " data_attrs[$key]=" - user_commits DERIVE LINE 'user commits' - user_rollbacks DERIVE LINE 'user rollbacks' + user_commits DERIVE LINE user commits + user_rollbacks DERIVE LINE user rollbacks " getvalue_func[$key]=getvalue_sysstat @@ -182,8 +182,8 @@ global_attrs[$key]=" graph_info Oracle Sysstat - Sorts " data_attrs[$key]=" - sorts_memory DERIVE LINE 'sorts (memory)' - sorts_disk DERIVE LINE 'sorts (disk)' + sorts_memory DERIVE LINE sorts (memory) + sorts_disk DERIVE LINE sorts (disk) " getvalue_func[$key]=getvalue_sysstat @@ -196,7 +196,7 @@ global_attrs[$key]=" graph_info Oracle Sysstat Open Cursors " data_attrs[$key]=" - open_cursor GAUGE LINE 'opened cursors current' + open_cursor GAUGE LINE opened cursors current " getvalue_func[$key]=getvalue_sysstat @@ -209,12 +209,12 @@ global_attrs[$key]=" graph_info Oracle Sysstat Enqueues " data_attrs[$key]=" - enqueue_requests DERIVE LINE 'enqueue requests' - enqueue_releases DERIVE LINE 'enqueue releases' - enqueue_conversions DERIVE LINE 'enqueue conversions' - enqueue_waits DERIVE LINE 'enqueue waits' - enqueue_timeouts DERIVE LINE 'enqueue timeouts' - enqueue_deadlocks DERIVE LINE 'enqueue deadlocks' + enqueue_requests DERIVE LINE enqueue requests + enqueue_releases DERIVE LINE enqueue releases + enqueue_conversions DERIVE LINE enqueue conversions + enqueue_waits DERIVE LINE enqueue waits + enqueue_timeouts DERIVE LINE enqueue timeouts + enqueue_deadlocks DERIVE LINE enqueue deadlocks " getvalue_func[$key]=getvalue_sysstat @@ -227,9 +227,9 @@ global_attrs[$key]=" graph_info Oracle Sysstat Redo Log " data_attrs[$key]=" - redo_entries DERIVE LINE 'redo entries' - redo_buffer_allocation_retries DERIVE LINE 'redo buffer allocation retries' - redo_log_space_requests DERIVE LINE 'redo log space requests' + redo_entries DERIVE LINE redo entries + redo_buffer_allocation_retries DERIVE LINE redo buffer allocation retries + redo_log_space_requests DERIVE LINE redo log space requests " getvalue_func[$key]=getvalue_sysstat @@ -242,12 +242,12 @@ global_attrs[$key]=" graph_info Oracle Sysstat Physical I/O Requests " data_attrs[$key]=" - physical_read_total DERIVE LINE2 'physical read total IO requests' - physical_read DERIVE LINE 'physical read IO requests' - physical_read_total_multi DERIVE LINE 'physical read total multi block requests' - physical_write_total DERIVE LINE2 'physical write total IO requests' - physical_write DERIVE LINE 'physical write IO requests' - physical_write_total_multi DERIVE LINE 'physical write total multi block requests' + physical_read_total DERIVE LINE2 physical read total IO requests + physical_read DERIVE LINE physical read IO requests + physical_read_total_multi DERIVE LINE physical read total multi block requests + physical_write_total DERIVE LINE2 physical write total IO requests + physical_write DERIVE LINE physical write IO requests + physical_write_total_multi DERIVE LINE physical write total multi block requests " getvalue_func[$key]=getvalue_sysstat @@ -260,10 +260,10 @@ global_attrs[$key]=" graph_info Oracle Sysstat Physical Read/Write Bytes " data_attrs[$key]=" - physical_read_total DERIVE LINE2 'physical read total bytes' - physical_read DERIVE LINE 'physical read bytes' - physical_write_total DERIVE LINE2 'physical write total bytes' - physical_write DERIVE LINE 'physical write bytes' + physical_read_total DERIVE LINE2 physical read total bytes + physical_read DERIVE LINE physical read bytes + physical_write_total DERIVE LINE2 physical write total bytes + physical_write DERIVE LINE physical write bytes " getvalue_func[$key]=getvalue_sysstat @@ -276,10 +276,10 @@ global_attrs[$key]=" graph_info Oracle Sysstat Network Send/Receive Bytes " data_attrs[$key]=" - bytes_sent_via_sql_net_to_client DERIVE LINE 'bytes sent via SQL*Net to client' - bytes_received_via_sql_net_from_client DERIVE LINE 'bytes received via SQL*Net from client' - bytes_sent_via_sql_net_to_dblink DERIVE LINE 'bytes sent via SQL*Net to dblink' - bytes_received_via_sql_net_from_dblink DERIVE LINE 'bytes received via SQL*Net from dblink' + bytes_sent_via_sql_net_to_client DERIVE LINE bytes sent via SQL*Net to client + bytes_received_via_sql_net_from_client DERIVE LINE bytes received via SQL*Net from client + bytes_sent_via_sql_net_to_dblink DERIVE LINE bytes sent via SQL*Net to dblink + bytes_received_via_sql_net_from_dblink DERIVE LINE bytes received via SQL*Net from dblink " getvalue_func[$key]=getvalue_sysstat @@ -292,16 +292,16 @@ global_attrs[$key]=" graph_info Oracle Memory SGA " data_attrs[$key]=" - maximum_sga_size GAUGE LINE 'Maximum SGA Size' - fixed_sga_size GAUGE AREASTACK 'Fixed SGA Size' - redo_buffers GAUGE AREASTACK 'Redo Buffers' - shared_pool_size GAUGE AREASTACK 'Shared Pool Size' - large_pool_size GAUGE AREASTACK 'Large Pool Size' - java_pool_size GAUGE AREASTACK 'Java Pool Size' - streams_pool_size GAUGE AREASTACK 'Streams Pool Size' - shared_io_pool_size GAUGE AREASTACK 'Shared IO Pool Size' - buffer_cache_size GAUGE AREASTACK 'Buffer Cache Size' - in_memory_area_size GAUGE AREASTACK 'In-Memory Area Size' + maximum_sga_size GAUGE LINE Maximum SGA Size + fixed_sga_size GAUGE AREASTACK Fixed SGA Size + redo_buffers GAUGE AREASTACK Redo Buffers + shared_pool_size GAUGE AREASTACK Shared Pool Size + large_pool_size GAUGE AREASTACK Large Pool Size + java_pool_size GAUGE AREASTACK Java Pool Size + streams_pool_size GAUGE AREASTACK Streams Pool Size + shared_io_pool_size GAUGE AREASTACK Shared IO Pool Size + buffer_cache_size GAUGE AREASTACK Buffer Cache Size + in_memory_area_size GAUGE AREASTACK In-Memory Area Size " getvalue_func[$key]=getvalue_sgainfo @@ -314,9 +314,9 @@ global_attrs[$key]=" graph_info Oracle Memory PGA " data_attrs[$key]=" - pga_target GAUGE LINE 'aggregate PGA auto target' - pga_allocated GAUGE LINE 'total PGA allocated' - pga_inuse GAUGE AREA 'total PGA inuse' + pga_target GAUGE LINE aggregate PGA auto target + pga_allocated GAUGE LINE total PGA allocated + pga_inuse GAUGE AREA total PGA inuse " getvalue_func[$key]=getvalue_pgastat @@ -330,9 +330,9 @@ global_attrs[$key]=" graph_scale no " data_attrs[$key]=" - buf_hitratio GAUGE LINE 'Buffer Cache Hit Ratio' - lib_hitratio GAUGE LINE 'Library Cache Hit Ratio' - dict_hitratio GAUGE LINE 'Dictionary Cache Hit Ratio' + buf_hitratio GAUGE LINE Buffer Cache Hit Ratio + lib_hitratio GAUGE LINE Library Cache Hit Ratio + dict_hitratio GAUGE LINE Dictionary Cache Hit Ratio " getvalue_func[$key]=getvalue_cachehit @@ -381,8 +381,8 @@ global_attrs[$key]=" graph_info Oracle Wait Events Application " data_attrs[$key]="" -getfield_func[$key]='getfield_eventwait2 Application' -getvalue_func[$key]='getvalue_eventwait2 Application' +getfield_func[$key]="getfield_eventwait2 Application" +getvalue_func[$key]="getvalue_eventwait2 Application" key=eventwaitconcurrency global_attrs[$key]=" @@ -393,8 +393,8 @@ global_attrs[$key]=" graph_info Oracle Wait Events Concurrency " data_attrs[$key]=" " -getfield_func[$key]='getfield_eventwait2 Concurrency' -getvalue_func[$key]='getvalue_eventwait2 Concurrency' +getfield_func[$key]="getfield_eventwait2 Concurrency" +getvalue_func[$key]="getvalue_eventwait2 Concurrency" key=eventwaituserio global_attrs[$key]=" @@ -405,8 +405,8 @@ global_attrs[$key]=" graph_info Oracle Wait Events User I/O " data_attrs[$key]="" -getfield_func[$key]='getfield_eventwait2 "User I/O"' -getvalue_func[$key]='getvalue_eventwait2 "User I/O"' +getfield_func[$key]="getfield_eventwait2 User I/O" +getvalue_func[$key]="getvalue_eventwait2 User I/O" key=eventwaitsystemio global_attrs[$key]=" @@ -418,8 +418,8 @@ global_attrs[$key]=" " data_attrs[$key]=" " -getfield_func[$key]='getfield_eventwait2 "System I/O"' -getvalue_func[$key]='getvalue_eventwait2 "System I/O"' +getfield_func[$key]="getfield_eventwait2 System I/O" +getvalue_func[$key]="getvalue_eventwait2 System I/O" key=eventwaitcluster global_attrs[$key]=" @@ -430,8 +430,8 @@ global_attrs[$key]=" graph_info Oracle Wait Events Cluster " data_attrs[$key]=" " -getfield_func[$key]='getfield_eventwait2 Cluster' -getvalue_func[$key]='getvalue_eventwait2 Cluster' +getfield_func[$key]="getfield_eventwait2 Cluster" +getvalue_func[$key]="getvalue_eventwait2 Cluster" key=tablespace global_attrs[$key]=" @@ -492,53 +492,44 @@ config() { sed -e 's/^ *//' -e '/^$/d' <<< "${global_attrs[$module]}" # print data source attributes - local line t fields field type draw label - while IFS= read -r line + # split line into field,type,draw,label + local fields field type draw label + while read -r field type draw label do - # split line into field,type,draw,label - # eval looks necessary to preserve whitespaces - eval "t=( ${line} )" - field="${t[0]}" [ -z "$field" ] && continue - fields+=( $field ) - type="${t[1]}" - draw="${t[2]}" - label="${t[3]}" + fields="${fields} ${field}" echo "${field}.type" "$type" echo "${field}.draw" "$draw" echo "${field}.label" "$label" done <<< "${data_attrs[$module]}" - echo graph_order "${fields[@]}" + echo graph_order "$fields" } # wrapper for getfield_* getfield() { + local func arg if [ -n "${getfield_func[$module]:-}" ]; then - # call getfield_* function with args if necessary - # eval looks necessary if args contain whitespaces - eval "${getfield_func[$module]}" + # call getfield_* function with argument if necessary + read -r func arg <<< "${getfield_func[$module]}" + $func "$arg" fi } # wrapper for getvalue_* getvalue() { - # call getvalue_* function with args if necessary - # eval looks necessary if args contain whitespaces - eval "${getvalue_func[$module]}" + local func arg + # call getvalue_* function with argument if necessary + read -r func arg <<< "${getvalue_func[$module]}" + $func "$arg" } getvalue_sysstat() { - local line t field label - while IFS= read -r line + local field type draw label + while read -r field type draw label do - # split line into field,type,draw,label - # eval looks necessary to preserve whitespaces - eval "t=( ${line} )" - field="${t[0]}" [ -z "$field" ] && continue - label="${t[3]}" ${sqlplus} "${oracle_auth}" < Date: Sat, 3 Dec 2016 21:02:55 +0200 Subject: [PATCH 42/89] add plugin for PUMA monitoring --- plugins/puma/puma_ | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 plugins/puma/puma_ diff --git a/plugins/puma/puma_ b/plugins/puma/puma_ new file mode 100644 index 00000000..2c4ef35f --- /dev/null +++ b/plugins/puma/puma_ @@ -0,0 +1,60 @@ +#!/bin/sh +# Copyright (c) 2016 Alexey Anikanov (alexey.anikanov@gmail.com) +# License GPLv2 +# This plugin monitors number of workers, total memory used and average memory per process for puma, +# a ruby web server built for concurrency http://puma.io +# Here are the symlinks to enable it +# +# ln -s /usr/share/munin/plugins/puma_ /etc/munin/plugins/puma_average +# ln -s /usr/share/munin/plugins/puma_ /etc/munin/plugins/puma_memory +# ln -s /usr/share/munin/plugins/puma_ /etc/munin/plugins/puma_processes + +mode=$(echo $0 | cut -d _ -f 2) + +if [ "$1" = "suggest" ]; then + echo "memory" + echo "processes" + echo "average" + exit 0 +fi + +if [ "$mode" = "memory" ]; then + if [ "$1" = "config" ]; then + echo "graph_title Total Puma Memory" + echo "graph_vlabel Total RAM" + echo "graph_category puma" + echo "graph_args --base 1024" + echo "ram.label Total RAM" + exit 0 + else + processes_memory="$(ps auwx | egrep "puma.* worker" | grep -v grep | awk '{print $6 }')" + for process_memory in $processes_memory; do + total_memory=$(( $total_memory + ( $process_memory * 1024) )) + done + printf "ram.value %s\n" "$total_memory" + fi +elif [ "$mode" = "processes" ]; then + if [ "$1" = "config" ]; then + echo "graph_title puma Processes" + echo "graph_vlabel Processes" + echo "graph_category puma" + echo "processes.label active processes" + else + printf "processes.value %s\n" "$(ps awwwux | egrep "puma.* worker" | grep -v grep | wc -l)" + exit 0 + fi +elif [ "$mode" = "average" ]; then + if [ "$1" = "config" ]; then + echo 'graph_title Puma Average Process Size' + echo 'graph_args --base 1024 -l 0 ' + echo 'graph_vlabel Average Process Size' + echo 'graph_category puma' + echo 'puma_average.label Average Process Size' + echo 'puma_average.draw LINE2' + echo 'puma_average.info The average process size for puma' + else + printf "puma_average.value %s\n" "$(ps awwwux | egrep "puma.* worker" | grep -v grep | grep -v master | awk '{total_mem = $6 * 1024 + total_mem; total_proc++} END{printf("%d\n", total_mem / total_proc)}')" + exit 0 + fi +fi +exit 0 \ No newline at end of file From c00f7af9feef5cf11bd5206544f8a2314cef158d Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Wed, 14 Dec 2016 22:10:59 -0800 Subject: [PATCH 43/89] Revert "python3 dependency fixed (backport)" --- plugins/time/ntp_packets | 62 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/plugins/time/ntp_packets b/plugins/time/ntp_packets index e237446c..9b7d653d 100755 --- a/plugins/time/ntp_packets +++ b/plugins/time/ntp_packets @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- python -*- # This plugin graphs the rate of sent, received, ignored, and dropped @@ -13,7 +13,7 @@ # Symlink this plugin into the node's plugins directory (like # /etc/munin/plugins). # -# Copyright [c] 2013 Kenyon Ralph +# Copyright © 2013 Kenyon Ralph # # This program is free software. It comes without any warranty, to the # extent permitted by applicable law. You can redistribute it and/or @@ -31,48 +31,48 @@ import os import subprocess import sys -if len(sys.argv) == 2 and sys.argv[1] == u'config': - print u'graph_title NTP packets' - print u'graph_vlabel Packets/${graph_period} received(-)/sent(+)' - print u'graph_info This graph shows the packet rates of this ntpd. Ignored and dropped packets are graphed as positive values.' - print u'graph_category time' - print u'received.label Received' - print u'received.type DERIVE' - print u'received.graph no' - print u'received.min 0' - print u'sent.label Rx/Tx' - print u'sent.type DERIVE' - print u'sent.negative received' - print u'sent.min 0' - print u'dropped.label Dropped' - print u'dropped.type DERIVE' - print u'dropped.min 0' - print u'ignored.label Ignored' - print u'ignored.type DERIVE' - print u'ignored.min 0' +if len(sys.argv) == 2 and sys.argv[1] == 'config': + print('graph_title NTP traffic') + print('graph_vlabel Packets/${graph_period} received(-)/sent(+)') + print('graph_info This graph shows the packet rates of this ntpd. Ignored and dropped packets are graphed as positive values.') + print('graph_category time') + print('received.label Received') + print('received.type DERIVE') + print('received.graph no') + print('received.min 0') + print('sent.label Rx/Tx') + print('sent.type DERIVE') + print('sent.negative received') + print('sent.min 0') + print('dropped.label Dropped') + print('dropped.type DERIVE') + print('dropped.min 0') + print('ignored.label Ignored') + print('ignored.type DERIVE') + print('ignored.min 0') sys.exit(0) -os.environ[u'PATH'] = u'/usr/local/sbin:/usr/local/bin:' + os.environ[u'PATH'] +os.environ['PATH'] = '/usr/local/sbin:/usr/local/bin:' + os.environ['PATH'] # Assuming that the ntpd version is the same as the ntpq or ntpdc # version. This is how a proper install should be. -version = subprocess.check_output([u'ntpq', u'-c', u'version'], universal_newlines=True).split()[1][0:5].replace(u'.', u'') +version = subprocess.check_output(['ntpq', '-c', 'version'], universal_newlines=True).split()[1][0:5].replace('.', '') if int(version) >= 427: - cmd = u'ntpq' + cmd = 'ntpq' else: - cmd = u'ntpdc' + cmd = 'ntpdc' iostats = dict() -iostats_output = subprocess.check_output([cmd, u'-c', u'iostats'], universal_newlines=True).splitlines() +iostats_output = subprocess.check_output([cmd, '-c', 'iostats'], universal_newlines=True).splitlines() -for line in iostats_output: iostats[line.split(u':')[0]] = int(line.split(u':')[1]) +for line in iostats_output: iostats[line.split(':')[0]] = int(line.split(':')[1]) -print u'received.value ' + unicode(iostats[u'received packets']) -print u'sent.value ' + unicode(iostats[u'packets sent']) -print u'dropped.value ' + unicode(iostats[u'dropped packets']) -print u'ignored.value ' + unicode(iostats[u'ignored packets']) +print('received.value ' + str(iostats['received packets'])) +print('sent.value ' + str(iostats['packets sent'])) +print('dropped.value ' + str(iostats['dropped packets'])) +print('ignored.value ' + str(iostats['ignored packets'])) sys.exit(0) From 4cec0c099e2dd9ed668a161105ac3db745dd734e Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Thu, 15 Dec 2016 11:40:58 -0800 Subject: [PATCH 44/89] set dovecot plugin to mode 0755, fixes issue #785 --- plugins/dovecot/dovecot | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 plugins/dovecot/dovecot diff --git a/plugins/dovecot/dovecot b/plugins/dovecot/dovecot old mode 100644 new mode 100755 From c51f9d3268f0b9a792e80a555183bb987461f365 Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Fri, 16 Dec 2016 02:15:26 -0800 Subject: [PATCH 45/89] ntp_packets: graph more ntp packet statistics --- plugins/time/ntp_packets | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/plugins/time/ntp_packets b/plugins/time/ntp_packets index 9b7d653d..987ed1fd 100755 --- a/plugins/time/ntp_packets +++ b/plugins/time/ntp_packets @@ -13,7 +13,7 @@ # Symlink this plugin into the node's plugins directory (like # /etc/munin/plugins). # -# Copyright © 2013 Kenyon Ralph +# Copyright © 2016 Kenyon Ralph # # This program is free software. It comes without any warranty, to the # extent permitted by applicable law. You can redistribute it and/or @@ -34,7 +34,7 @@ import sys if len(sys.argv) == 2 and sys.argv[1] == 'config': print('graph_title NTP traffic') print('graph_vlabel Packets/${graph_period} received(-)/sent(+)') - print('graph_info This graph shows the packet rates of this ntpd. Ignored and dropped packets are graphed as positive values.') + print('graph_info This graph shows the packet rates of this ntpd. Bad means packets received with bad length or format. Authfailed means packets for which authentication failed.') print('graph_category time') print('received.label Received') print('received.type DERIVE') @@ -50,6 +50,21 @@ if len(sys.argv) == 2 and sys.argv[1] == 'config': print('ignored.label Ignored') print('ignored.type DERIVE') print('ignored.min 0') + print('bad.label Bad') + print('bad.type DERIVE') + print('bad.min 0') + print('authfail.label Authfailed') + print('authfail.type DERIVE') + print('authfail.min 0') + print('declined.label Declined') + print('declined.type DERIVE') + print('declined.min 0') + print('restricted.label Restricted') + print('restricted.type DERIVE') + print('restricted.min 0') + print('kod.label KoD responses') + print('kod.type DERIVE') + print('kod.min 0') sys.exit(0) os.environ['PATH'] = '/usr/local/sbin:/usr/local/bin:' + os.environ['PATH'] @@ -64,15 +79,20 @@ if int(version) >= 427: else: cmd = 'ntpdc' -iostats = dict() +stats = dict() -iostats_output = subprocess.check_output([cmd, '-c', 'iostats'], universal_newlines=True).splitlines() +stats_output = subprocess.check_output([cmd, '-c', 'iostats', '-c', 'sysstats'], universal_newlines=True).splitlines() -for line in iostats_output: iostats[line.split(':')[0]] = int(line.split(':')[1]) +for line in stats_output: stats[line.split(':')[0]] = int(line.split(':')[1]) -print('received.value ' + str(iostats['received packets'])) -print('sent.value ' + str(iostats['packets sent'])) -print('dropped.value ' + str(iostats['dropped packets'])) -print('ignored.value ' + str(iostats['ignored packets'])) +print('received.value ' + str(stats['received packets'])) +print('sent.value ' + str(stats['packets sent'])) +print('dropped.value ' + str(stats['dropped packets'])) +print('ignored.value ' + str(stats['ignored packets'])) +print('bad.value ' + str(stats['bad length or format'])) +print('authfail.value ' + str(stats['authentication failed'])) +print('declined.value ' + str(stats['declined'])) +print('restricted.value ' + str(stats['restricted'])) +print('kod.value ' + str(stats['KoD responses'])) sys.exit(0) From ca01c6e3dce214704aa4973bd843e539c632b79c Mon Sep 17 00:00:00 2001 From: "K.Shimadera" Date: Wed, 30 Nov 2016 10:23:54 +0900 Subject: [PATCH 46/89] Update oracle_sysstat_ plugin * Add modules logon cputime blockrw redosize eventwaitnetwork eventwaitadministrative eventwaitconfiguration * Update modules cachehit: Changed to calculate hit ratio between munin-node update intervals by CDEF sessionwait: Add CPU status, Add graph_info table_fetch: Add table_fetch_continued_row field pgastat: Add aggregate PGA target parameter field * Improvement Change not to execute sqlplus in for loop in getvalue funcs to improve performance Change to add field.min 0 when type is DERIVE Add label_max_length in config() to supress new line in graph image Change graph_title for sorting * Fix styles Enable set -o nounset Add double quote to supress shellcheck warning Change some quote styles Remove meaningless double quote around $( ) Add whenever sqlerror exit sql.sqlcode --- plugins/oracle/oracle_sysstat_ | 394 ++++++++++++++++++++++++--------- 1 file changed, 286 insertions(+), 108 deletions(-) diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ index 11c9035f..5bc14a44 100755 --- a/plugins/oracle/oracle_sysstat_ +++ b/plugins/oracle/oracle_sysstat_ @@ -7,31 +7,38 @@ oracle_sysstat_* - Munin plugin to monitor Oracle Statistics - execute - To monitor Oracle Sysstat Execute Count - parse - To monitor Oracle Sysstat Parse Count - tablefetch - To monitor Oracle Sysstat Table Fetch Rows - tablescan - To monitor Oracle Sysstat Table Scans - transaction - To monitor Oracle Sysstat Transactions - sort - To monitor Oracle Sysstat Sorts - cursor - To monitor Oracle Sysstat Open Cursor - enqueue - To monitor Oracle Sysstat Enqueues - redolog - To monitor Oracle Sysstat Redo Log - physicaliops - To monitor Oracle Sysstat Physical I/O Requests - physicalrw - To monitor Oracle Sysstat Physical Read/Write Bytes - netrw - To monitor Oracle Sysstat Network Send/Receive Bytes - sgainfo - To monitor Oracle Memory SGA - pgastat - To monitor Oracle Memory PGA - cachehit - To monitor Oracle Cache Hit Ratio - sessionuser - To monitor Oracle Session Users - sessionwait - To monitor Oracle Session Wait - eventwait - To monitor Oracle Wait Events - eventwaitapplication - To monitor Oracle Wait Events Application - eventwaitconcurrency - To monitor Oracle Wait Events Concurrency - eventwaituserio - To monitor Oracle Wait Events User I/O - eventwaitsystemio - To monitor Oracle Wait Events System I/O - eventwaitcluster - To monitor Oracle Wait Events Cluster - tablespace - To monitor Oracle Table Space Usage - asmusage - To monitor Oracle ASM Disk Group Usage + execute - To monitor Oracle Sysstat SQL Execute Count + parse - To monitor Oracle Sysstat SQL Parse Count + tablefetch - To monitor Oracle Sysstat SQL Table Fetch Rows + tablescan - To monitor Oracle Sysstat SQL Table Scans + transaction - To monitor Oracle Sysstat SQL Transactions + sort - To monitor Oracle Sysstat SQL Sorts + logon - To monitor Oracle Sysstat User Logons + cursor - To monitor Oracle Sysstat User Opened Cursors + enqueue - To monitor Oracle Sysstat Enqueues + redolog - To monitor Oracle Sysstat Redo Entries + redosize - To monitor Oracle Sysstat Redo Size + physicaliops - To monitor Oracle Sysstat I/O Physical Requests + physicalrw - To monitor Oracle Sysstat I/O Physical Bytes + blockrw - To monitor Oracle Sysstat I/O Blocks + netrw - To monitor Oracle Sysstat I/O Network Bytes + sgainfo - To monitor Oracle Memory SGA + pgastat - To monitor Oracle Memory PGA + cputime - To monitor Oracle CPU Time + cachehit - To monitor Oracle Cache Hit Ratio + sessionuser - To monitor Oracle Session Users + sessionwait - To monitor Oracle Session Wait + eventwait - To monitor Oracle Wait Events + eventwaitapplication - To monitor Oracle Wait Events Application + eventwaitnetwork - To monitor Oracle Wait Events Network + eventwaitconcurrency - To monitor Oracle Wait Events Concurrency + eventwaituserio - To monitor Oracle Wait Events User I/O + eventwaitsystemio - To monitor Oracle Wait Events System I/O + eventwaitcluster - To monitor Oracle Wait Events Cluster + eventwaitadministrative - To monitor Oracle Wait Events Administrative + eventwaitconfiguration - To monitor Oracle Wait Events Configuration + tablespace - To monitor Oracle Table Space Usage + asmusage - To monitor Oracle ASM Disk Group Usage =head1 CONFIGURATION @@ -77,11 +84,11 @@ #%# family=contrib #%# capabilities=autoconf suggest -# Include plugin.sh -. "${MUNIN_LIBDIR}/plugins/plugin.sh" - # Like perl 'use strict;' -#set -o nounset +set -o nounset + +# Include plugin.sh +. "${MUNIN_LIBDIR:-}/plugins/plugin.sh" # Environments : "${ORACLE_HOME:=$( echo /opt/oracle/product/* )}" @@ -102,56 +109,57 @@ declare -A getvalue_func # required key=execute global_attrs[$key]=" - graph_title Oracle Sysstat Execute Count + graph_title Oracle Sysstat SQL Execute Count graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count per second - graph_info Oracle Sysstat Execute Count + graph_info Oracle Sysstat SQL Execute Count " data_attrs[$key]=" - execute_count DERIVE LINE execute count - user_calls DERIVE LINE user calls - recursive_calls DERIVE LINE recursive calls + execute_count DERIVE LINE execute count + user_calls DERIVE LINE user calls + recursive_calls DERIVE LINE recursive calls " getvalue_func[$key]=getvalue_sysstat key=parse global_attrs[$key]=" - graph_title Oracle Sysstat Parse Count + graph_title Oracle Sysstat SQL Parse Count graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count per second - graph_info Oracle Sysstat Parse Count + graph_info Oracle Sysstat SQL Parse Count " data_attrs[$key]=" - parse_count_total DERIVE LINE parse count (total) - parse_count_hard DERIVE LINE parse count (hard) - parse_count_failures DERIVE LINE parse count (failures) - parse_count_describe DERIVE LINE parse count (describe) + parse_count_total DERIVE LINE parse count (total) + parse_count_hard DERIVE LINE parse count (hard) + parse_count_describe DERIVE LINE parse count (describe) + parse_count_failures DERIVE LINE parse count (failures) " getvalue_func[$key]=getvalue_sysstat key=tablefetch global_attrs[$key]=" - graph_title Oracle Sysstat Table Fetch Rows + graph_title Oracle Sysstat SQL Table Fetch Rows graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count per second - graph_info Oracle Sysstat Table Scans + graph_info Oracle Sysstat SQL Table Fetch Rows " data_attrs[$key]=" - table_fetch_by_rowid DERIVE LINE table fetch by rowid - table_scan_rows_gotten DERIVE LINE table scan rows gotten + table_fetch_by_rowid DERIVE LINE table fetch by rowid + table_scan_rows_gotten DERIVE LINE table scan rows gotten + table_fetch_continued_row DERIVE LINE table fetch continued row " getvalue_func[$key]=getvalue_sysstat key=tablescan global_attrs[$key]=" - graph_title Oracle Sysstat Table Scans + graph_title Oracle Sysstat SQL Table Scans graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count per second - graph_info Oracle Sysstat Table Scans + graph_info Oracle Sysstat SQL Table Scans " data_attrs[$key]=" table_scans_short_tables DERIVE LINE table scans (short tables) @@ -161,11 +169,11 @@ getvalue_func[$key]=getvalue_sysstat key=transaction global_attrs[$key]=" - graph_title Oracle Sysstat Transactions + graph_title Oracle Sysstat SQL Transactions graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count per second - graph_info Oracle Sysstat Transactions + graph_info Oracle Sysstat SQL Transactions " data_attrs[$key]=" user_commits DERIVE LINE user commits @@ -175,11 +183,11 @@ getvalue_func[$key]=getvalue_sysstat key=sort global_attrs[$key]=" - graph_title Oracle Sysstat Sorts + graph_title Oracle Sysstat SQL Sorts graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count per second - graph_info Oracle Sysstat - Sorts + graph_info Oracle Sysstat SQL Sorts " data_attrs[$key]=" sorts_memory DERIVE LINE sorts (memory) @@ -187,13 +195,26 @@ data_attrs[$key]=" " getvalue_func[$key]=getvalue_sysstat +key=logon +global_attrs[$key]=" + graph_title Oracle Sysstat User Logons + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel count per second + graph_info Oracle Sysstat User Logons +" +data_attrs[$key]=" + logon DERIVE LINE logons cumulative +" +getvalue_func[$key]=getvalue_sysstat + key=cursor global_attrs[$key]=" - graph_title Oracle Sysstat Open Cursors + graph_title Oracle Sysstat User Opened Cursors graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count - graph_info Oracle Sysstat Open Cursors + graph_info Oracle Sysstat User Opened Cursors " data_attrs[$key]=" open_cursor GAUGE LINE opened cursors current @@ -220,26 +241,42 @@ getvalue_func[$key]=getvalue_sysstat key=redolog global_attrs[$key]=" - graph_title Oracle Sysstat Redo Log + graph_title Oracle Sysstat Redo Entries graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel count per second - graph_info Oracle Sysstat Redo Log + graph_info Oracle Sysstat Redo Entries " data_attrs[$key]=" redo_entries DERIVE LINE redo entries + redo_writes DERIVE LINE redo writes + redo_synch_writes DERIVE LINE redo synch writes redo_buffer_allocation_retries DERIVE LINE redo buffer allocation retries redo_log_space_requests DERIVE LINE redo log space requests " getvalue_func[$key]=getvalue_sysstat +key=redosize +global_attrs[$key]=" + graph_title Oracle Sysstat Redo Size + graph_category db + graph_args --base 1024 --lower-limit 0 --rigid + graph_vlabel bytes per second + graph_info Oracle Sysstat Redo Size +" +data_attrs[$key]=" + redo_size DERIVE LINE redo size + redo_wastage DERIVE LINE redo wastage +" +getvalue_func[$key]=getvalue_sysstat + key=physicaliops global_attrs[$key]=" - graph_title Oracle Sysstat Physical I/O Requests + graph_title Oracle Sysstat I/O Physical Requests graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel iops - graph_info Oracle Sysstat Physical I/O Requests + graph_info Oracle Sysstat I/O Physical Requests " data_attrs[$key]=" physical_read_total DERIVE LINE2 physical read total IO requests @@ -253,11 +290,11 @@ getvalue_func[$key]=getvalue_sysstat key=physicalrw global_attrs[$key]=" - graph_title Oracle Sysstat Physical Read/Write Bytes + graph_title Oracle Sysstat I/O Physical Bytes graph_category db graph_args --base 1024 --lower-limit 0 --rigid graph_vlabel bytes per second - graph_info Oracle Sysstat Physical Read/Write Bytes + graph_info Oracle Sysstat I/O Physical Bytes " data_attrs[$key]=" physical_read_total DERIVE LINE2 physical read total bytes @@ -267,13 +304,32 @@ data_attrs[$key]=" " getvalue_func[$key]=getvalue_sysstat +key=blockrw +global_attrs[$key]=" + graph_title Oracle Sysstat I/O Blocks + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel blocks per second + graph_info Oracle Sysstat I/O Blocks +" +data_attrs[$key]=" + db_block_gets DERIVE LINE db block gets + db_block_changes DERIVE LINE db block changes + consistent_gets DERIVE LINE consistent gets + consistent_changes DERIVE LINE consistent changes + physical_reads DERIVE LINE physical reads + physical_writes DERIVE LINE physical writes +" +getvalue_func[$key]=getvalue_sysstat + + key=netrw global_attrs[$key]=" - graph_title Oracle Sysstat Network Send/Receive Bytes + graph_title Oracle Sysstat I/O Network Bytes graph_category db graph_args --base 1024 --lower-limit 0 --rigid graph_vlabel bytes per second - graph_info Oracle Sysstat Network Send/Receive Bytes + graph_info Oracle Sysstat I/O Network Bytes " data_attrs[$key]=" bytes_sent_via_sql_net_to_client DERIVE LINE bytes sent via SQL*Net to client @@ -314,25 +370,73 @@ global_attrs[$key]=" graph_info Oracle Memory PGA " data_attrs[$key]=" - pga_target GAUGE LINE aggregate PGA auto target - pga_allocated GAUGE LINE total PGA allocated - pga_inuse GAUGE AREA total PGA inuse + pga_target GAUGE LINE aggregate PGA target parameter + pga_auto_target GAUGE LINE aggregate PGA auto target + pga_allocated GAUGE LINE total PGA allocated + pga_inuse GAUGE AREA total PGA inuse " getvalue_func[$key]=getvalue_pgastat +key=cputime +global_attrs[$key]=" + graph_title Oracle CPU Time + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel seconds + graph_info Oracle CPU Time +" +data_attrs[$key]=" + db_time DERIVE LINE2 DB time + db_cpu DERIVE LINE2 DB CPU + background_elapsed_time DERIVE LINE2 background elapsed time + background_cpu_time DERIVE LINE2 background cpu time + connection_management_call_elapsed_time DERIVE LINE connection management call elapsed time + sequence_load_elapsed_time DERIVE LINE sequence load elapsed time + sql_execute_elapsed_time DERIVE LINE sql execute elapsed time + parse_time_elapsed DERIVE LINE parse time elapsed + hard_parse_elapsed_time DERIVE LINE hard parse elapsed time + hard_parse_sharing_criteria_elapsed_time DERIVE LINE hard parse (sharing criteria) elapsed time + hard_parse_bind_mismatch_elapsed_time DERIVE LINE hard parse (bind mismatch) elapsed time + failed_parse_elapsed_time DERIVE LINE failed parse elapsed time + failed_parse_out_of_shared_memory_elapsed_time DERIVE LINE failed parse (out of shared memory) elapsed time + pl_sql_execution_elapsed_time DERIVE LINE PL/SQL execution elapsed time + inbound_pl_sql_rpc_elapsed_time DERIVE LINE inbound PL/SQL rpc elapsed time + pl_sql_compilation_elapsed_time DERIVE LINE PL/SQL compilation elapsed time + java_execution_elapsed_time DERIVE LINE Java execution elapsed time + repeated_bind_elapsed_time DERIVE LINE repeated bind elapsed time + rman_cpu_time_backup_restore DERIVE LINE RMAN cpu time (backup/restore) +" +getvalue_func[$key]=getvalue_cputime + key=cachehit +# buf_hitratio = 1 - physical_reads / ( db_block_gets + consistent_gets ) +# lib_hitratio = 1 - reloads / pins +# dic_hitratio = ( gets - misses ) / gets global_attrs[$key]=" graph_title Oracle Cache Hit Ratio graph_category db graph_args --base 1000 --lower-limit 0 --upper-limit 100 --rigid graph_vlabel % - graph_info Oracle Cache Hit Ratio + graph_info Oracle Cache Hit Ratio - The graph shows cache hit ratio between munin-update intervals (5 minutes in most cases). graph_scale no + + $( for field in buf_physical buf_logical lib_pins lib_reloads dic_gets dic_getmisses + do + echo "${field}.graph no" + echo "${field}.type DERIVE" + echo "${field}.min 0" + echo "${field}.label ${field}" + done + ) + + buf_hitratio.cdef 100,1,buf_physical,buf_logical,/,-,*,FLOOR + lib_hitratio.cdef 100,1,lib_reloads,lib_pins,/,-,*,FLOOR + dic_hitratio.cdef 100,dic_gets,dic_getmisses,-,dic_gets,/,*,FLOOR " data_attrs[$key]=" - buf_hitratio GAUGE LINE Buffer Cache Hit Ratio - lib_hitratio GAUGE LINE Library Cache Hit Ratio - dict_hitratio GAUGE LINE Dictionary Cache Hit Ratio + buf_hitratio GAUGE LINE Buffer Cache Hit Ratio + lib_hitratio GAUGE LINE Library Cache Hit Ratio + dic_hitratio GAUGE LINE Dictionary Cache Hit Ratio " getvalue_func[$key]=getvalue_cachehit @@ -366,7 +470,7 @@ global_attrs[$key]=" graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel microseconds - graph_info Oracle Wait Events + graph_info Oracle Wait Events - It may looks wierd that Y-axis indicates 'microseconds per second'. Although number of times of wait event looks easier to understand, in many cases the number of events does not matter, but wait time become more important to analyze bottle necks. " data_attrs[$key]="" getfield_func[$key]=getfield_eventwait @@ -384,6 +488,18 @@ data_attrs[$key]="" getfield_func[$key]="getfield_eventwait2 Application" getvalue_func[$key]="getvalue_eventwait2 Application" +key=eventwaitnetwork +global_attrs[$key]=" + graph_title Oracle Wait Events Network + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events Network +" +data_attrs[$key]="" +getfield_func[$key]="getfield_eventwait2 Network" +getvalue_func[$key]="getvalue_eventwait2 Network" + key=eventwaitconcurrency global_attrs[$key]=" graph_title Oracle Wait Events Concurrency @@ -433,6 +549,30 @@ data_attrs[$key]=" " getfield_func[$key]="getfield_eventwait2 Cluster" getvalue_func[$key]="getvalue_eventwait2 Cluster" +key=eventwaitadministrative +global_attrs[$key]=" + graph_title Oracle Wait Events Administrative + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events Administrative +" +data_attrs[$key]=" " +getfield_func[$key]="getfield_eventwait2 Administrative" +getvalue_func[$key]="getvalue_eventwait2 Administrative" + +key=eventwaitconfiguration +global_attrs[$key]=" + graph_title Oracle Wait Events Configuration + graph_category db + graph_args --base 1000 --lower-limit 0 --rigid + graph_vlabel microseconds + graph_info Oracle Wait Events Configuration +" +data_attrs[$key]=" " +getfield_func[$key]="getfield_eventwait2 Configuration" +getvalue_func[$key]="getvalue_eventwait2 Configuration" + key=tablespace global_attrs[$key]=" graph_title Oracle Table Space Usage @@ -466,6 +606,7 @@ getvalue_func[$key]=getvalue_asmusage # sqlplus options : "${sqlplus:=sqlplus -S -L}" sqlplus_variables=" + whenever sqlerror exit sql.sqlcode set pagesize 0 set feed off set head off @@ -484,10 +625,13 @@ autoconf() { } suggest() { + # print hash keys as available module names echo "${!global_attrs[@]}" | tr ' ' '\n' | sort } config() { + local label_max_length=45 + # print global attributes sed -e 's/^ *//' -e '/^$/d' <<< "${global_attrs[$module]}" @@ -496,12 +640,15 @@ config() { local fields field type draw label while read -r field type draw label do - [ -z "$field" ] && continue - fields="${fields} ${field}" + [ -z "${field:-}" ] && continue + fields="${fields:-} ${field}" - echo "${field}.type" "$type" - echo "${field}.draw" "$draw" - echo "${field}.label" "$label" + echo "${field}.type ${type}" + echo "${field}.draw ${draw}" + echo "${field}.label ${label:0:${label_max_length}}" + if [ "${type}" = DERIVE ]; then + echo "${field}.min 0" + fi done <<< "${data_attrs[$module]}" echo graph_order "$fields" @@ -531,7 +678,7 @@ getvalue_sysstat() { do [ -z "$field" ] && continue - ${sqlplus} "${oracle_auth}" < Date: Mon, 19 Dec 2016 10:07:42 +0900 Subject: [PATCH 47/89] Fix for pull request https://github.com/munin-monitoring/contrib/pull/786 --- plugins/oracle/oracle_sysstat_ | 135 ++++++++++++++++----------------- 1 file changed, 66 insertions(+), 69 deletions(-) diff --git a/plugins/oracle/oracle_sysstat_ b/plugins/oracle/oracle_sysstat_ index 5bc14a44..625c6adc 100755 --- a/plugins/oracle/oracle_sysstat_ +++ b/plugins/oracle/oracle_sysstat_ @@ -411,7 +411,15 @@ getvalue_func[$key]=getvalue_cputime key=cachehit # buf_hitratio = 1 - physical_reads / ( db_block_gets + consistent_gets ) # lib_hitratio = 1 - reloads / pins -# dic_hitratio = ( gets - misses ) / gets +# dict_hitratio = ( gets - misses ) / gets +field_info=$( for field in buf_physical buf_logical lib_pins lib_reloads dict_gets dict_getmisses + do + echo "${field}.graph no" + echo "${field}.type DERIVE" + echo "${field}.min 0" + echo "${field}.label ${field}" + done +) global_attrs[$key]=" graph_title Oracle Cache Hit Ratio graph_category db @@ -420,23 +428,15 @@ global_attrs[$key]=" graph_info Oracle Cache Hit Ratio - The graph shows cache hit ratio between munin-update intervals (5 minutes in most cases). graph_scale no - $( for field in buf_physical buf_logical lib_pins lib_reloads dic_gets dic_getmisses - do - echo "${field}.graph no" - echo "${field}.type DERIVE" - echo "${field}.min 0" - echo "${field}.label ${field}" - done - ) - + ${field_info} buf_hitratio.cdef 100,1,buf_physical,buf_logical,/,-,*,FLOOR lib_hitratio.cdef 100,1,lib_reloads,lib_pins,/,-,*,FLOOR - dic_hitratio.cdef 100,dic_gets,dic_getmisses,-,dic_gets,/,*,FLOOR + dict_hitratio.cdef 100,dict_gets,dict_getmisses,-,dict_gets,/,*,FLOOR " data_attrs[$key]=" buf_hitratio GAUGE LINE Buffer Cache Hit Ratio lib_hitratio GAUGE LINE Library Cache Hit Ratio - dic_hitratio GAUGE LINE Dictionary Cache Hit Ratio + dict_hitratio GAUGE LINE Dictionary Cache Hit Ratio " getvalue_func[$key]=getvalue_cachehit @@ -470,7 +470,7 @@ global_attrs[$key]=" graph_category db graph_args --base 1000 --lower-limit 0 --rigid graph_vlabel microseconds - graph_info Oracle Wait Events - It may looks wierd that Y-axis indicates 'microseconds per second'. Although number of times of wait event looks easier to understand, in many cases the number of events does not matter, but wait time become more important to analyze bottle necks. + graph_info Oracle Wait Events - It may look wierd that Y-axis indicates 'microseconds per second'. Although number of times of wait event looks easier to understand, in many cases the number of events does not matter, but wait time become more important to analyze bottle necks. " data_attrs[$key]="" getfield_func[$key]=getfield_eventwait @@ -638,10 +638,11 @@ config() { # print data source attributes # split line into field,type,draw,label local fields field type draw label + fields= while read -r field type draw label do - [ -z "${field:-}" ] && continue - fields="${fields:-} ${field}" + [ -z "$field" ] && continue + fields="${fields} ${field}" echo "${field}.type ${type}" echo "${field}.draw ${draw}" @@ -678,19 +679,18 @@ getvalue_sysstat() { do [ -z "$field" ] && continue - cat < Date: Fri, 23 Dec 2016 16:27:41 -0800 Subject: [PATCH 48/89] add motorola_sb6141 plugin to monitor the Motorola SB6141 cable modem --- plugins/network/motorola_sb6141 | 170 ++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100755 plugins/network/motorola_sb6141 diff --git a/plugins/network/motorola_sb6141 b/plugins/network/motorola_sb6141 new file mode 100755 index 00000000..54452f99 --- /dev/null +++ b/plugins/network/motorola_sb6141 @@ -0,0 +1,170 @@ +#!/usr/bin/env python3 + +# This plugin graphs the following values of the Motorola SB6141 cable +# modem: +# +# * upstream and downstream power levels +# * downstream signal to noise ratio +# * downstream signal statistics (codeword counts) +# +# The values are retrieved from the cable modem's status web pages at +# 192.168.100.1. So, this plugin must be installed on a munin node +# which can access those pages. +# +# To install, place this plugin in the node's plugins directory, +# /etc/munin/plugins and restart munin-node. +# +# Developed and tested with firmware SB_KOMODO-1.0.6.16-SCM00-NOSH +# (build time Feb 16 2016 11:28:04), hardware version 7.0, boot +# version PSPU-Boot(25CLK) 1.0.12.18m3. +# +# Requires the multigraph and dirtyconfig capabilities available in +# munin 2.0 and newer. +# +# Copyright © 2016 Kenyon Ralph +# +# This program is free software. It comes without any warranty, to the +# extent permitted by applicable law. You can redistribute it and/or +# modify it under the terms of the Do What The Fuck You Want To Public +# License, Version 2, as published by Sam Hocevar. See +# http://www.wtfpl.net/ for more details. +# +# The latest version of this plugin can be found in the munin contrib +# repository at https://github.com/munin-monitoring/contrib. Issues +# with this plugin may be reported there. Patches accepted through the +# normal github process of forking the repository and submitting a +# pull request with your commits. + +import html.parser +import urllib.request +import sys + +class MotorolaHTMLParser(html.parser.HTMLParser): + def __init__(self): + html.parser.HTMLParser.__init__(self) + self.signaldatapage = list() + self.downstream_channels = list() + self.downstream_SNRs = list() + self.downstream_powers = list() + self.upstream_channels = list() + self.upstream_powers = list() + self.unerrored_codewords = list() + self.correctable_codewords = list() + self.uncorrectable_codewords = list() + + def handle_data(self, data): + data = data.strip() + if data != '': self.signaldatapage.append(data) + + def process(self): + # first and last elements are just javascript + del self.signaldatapage[0] + del self.signaldatapage[-1] + + di = iter(self.signaldatapage) + + element = next(di) + while element != 'Channel ID': element = next(di) + + while element != 'Frequency': + element = next(di) + if element != 'Frequency': self.downstream_channels.append(element) + + while element != 'Signal to Noise Ratio': element = next(di) + + while element != 'Downstream Modulation': + element = next(di) + if element != 'Downstream Modulation': self.downstream_SNRs.append(element.split()[0]) + + while element != 'The Downstream Power Level reading is a snapshot taken at the time this page was requested. Please Reload/Refresh this Page for a new reading': element = next(di) + + while element != 'Upstream': + element = next(di) + if element != 'Upstream': self.downstream_powers.append(element.split()[0]) + + while element != 'Channel ID': element = next(di) + + while element != 'Frequency': + element = next(di) + if element != 'Frequency': self.upstream_channels.append(element) + + while element != 'Power Level': element = next(di) + + while element != 'Upstream Modulation': + element = next(di) + if element != 'Upstream Modulation': self.upstream_powers.append(element.split()[0]) + + while element != 'Total Unerrored Codewords': element = next(di) + + while element != 'Total Correctable Codewords': + element = next(di) + if element != 'Total Correctable Codewords': self.unerrored_codewords.append(element) + + while element != 'Total Uncorrectable Codewords': + element = next(di) + if element != 'Total Uncorrectable Codewords': self.correctable_codewords.append(element) + + while True: + try: + element = next(di) + self.uncorrectable_codewords.append(element) + except StopIteration: + break + +def main(): + if len(sys.argv) != 2 or sys.argv[1] != 'config': + print('Error: plugin designed for the dirtyconfig protocol, must be run with the config argument') + sys.exit(1) + + parser = MotorolaHTMLParser() + for line in urllib.request.urlopen("http://192.168.100.1/cmSignalData.htm"): + parser.feed(line.decode()) + parser.process() + + print('multigraph motorola_sb6141_power') + print('graph_title Motorola SB6141 Cable Modem Power') + print('graph_vlabel Signal Strength (dBmV)') + print('graph_info This graph shows the downstream and upstream power reported by a Motorola SB6141 cable modem.') + print('graph_category network') + for c, p in zip(parser.downstream_channels, parser.downstream_powers): + print('ds_power_{0}.label Channel {0} Downstream Power'.format(c)) + print('ds_power_{0}.type GAUGE'.format(c)) + print('ds_power_{0}.value {1}'.format(c, p)) + for c, p in zip(parser.upstream_channels, parser.upstream_powers): + print('us_power_{0}.label Channel {0} Upstream Power'.format(c)) + print('us_power_{0}.type GAUGE'.format(c)) + print('us_power_{0}.value {1}'.format(c, p)) + + print('multigraph motorola_sb6141_snr') + print('graph_title Motorola SB6141 Cable Modem SNR') + print('graph_vlabel Signal-to-Noise Ratio (dB)') + print('graph_info This graph shows the downstream signal-to-noise ratio reported by a Motorola SB6141 cable modem.') + print('graph_category network') + for c, snr in zip(parser.downstream_channels, parser.downstream_SNRs): + print('snr_chan_{0}.label Channel {0} SNR'.format(c)) + print('snr_chan_{0}.type GAUGE'.format(c)) + print('snr_chan_{0}.value {1}'.format(c, snr)) + + print('multigraph motorola_sb6141_codewords') + print('graph_title Motorola SB6141 Cable Modem Codewords') + print('graph_vlabel Codewords/${graph_period}') + print('graph_info This graph shows the downstream codeword rates reported by a Motorola SB6141 cable modem.') + print('graph_category network') + for c, unerr in zip(parser.downstream_channels, parser.unerrored_codewords): + print('unerr_chan_{0}.label Channel {0} Unerrored Codewords'.format(c)) + print('unerr_chan_{0}.type DERIVE'.format(c)) + print('unerr_chan_{0}.min 0'.format(c)) + print('unerr_chan_{0}.value {1}'.format(c, unerr)) + for c, corr in zip(parser.downstream_channels, parser.correctable_codewords): + print('corr_chan_{0}.label Channel {0} Correctable Codewords'.format(c)) + print('corr_chan_{0}.type DERIVE'.format(c)) + print('corr_chan_{0}.min 0'.format(c)) + print('corr_chan_{0}.value {1}'.format(c, corr)) + for c, uncorr in zip(parser.downstream_channels, parser.uncorrectable_codewords): + print('uncorr_chan_{0}.label Channel {0} Uncorrectable Codewords'.format(c)) + print('uncorr_chan_{0}.type DERIVE'.format(c)) + print('uncorr_chan_{0}.min 0'.format(c)) + print('uncorr_chan_{0}.value {1}'.format(c, uncorr)) + +if __name__ == "__main__": + main() From fefb1aab4aa16ad151ba7cdae2a53897afcbe58e Mon Sep 17 00:00:00 2001 From: Olivier Mehani Date: Wed, 4 Jan 2017 12:12:16 +1100 Subject: [PATCH 49/89] [system/debsecan] List remotely-exploitable CVEs separately Signed-off-by: Olivier Mehani --- plugins/system/debsecan | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/plugins/system/debsecan b/plugins/system/debsecan index 5f63e679..3fbb58cf 100755 --- a/plugins/system/debsecan +++ b/plugins/system/debsecan @@ -13,6 +13,8 @@ system (using debsecan). Might work on other distib, who knows... env.suite jessie env.fixed_warn 1 env.fixed_critical 1000 + env.remote_warn 1 + env.remote_critical 10 =head1 AUTHORS @@ -53,6 +55,8 @@ if [ ${SUITE} = ${0} ]; then fi FIXEDWARN=${fixed_warning:-1} FIXEDCRIT=${fixed_critical:-1000} +REMOTEWARN=${remote_warning:-1} +REMOTECRIT=${remote_critical:-10} CVERE="\(\(CVE\|TMP\)[-0-9A-Fa-f]\+\)" if [ "$1" = "config" ] ; then @@ -63,8 +67,16 @@ graph_vlabel number of CVE graph_category system graph_period second graph_info This graph show the number of known vulnerabilities present on your system. Use debsecan to see details. +remote.label remote +remote.colour FF0000 +remote.type GAUGE +remote.draw AREASTACK +remote.min 0 +remote.info The number of remotely exploitable CVEs with any priority +remote.warning ${REMOTEWARN} +remote.critical ${REMOTECRIT} high.label high -high.colour FF0000 +high.colour F70000 high.type GAUGE high.draw AREASTACK high.min 0 @@ -101,24 +113,29 @@ fi CVECOUNTRE="s/^ *\([0-9]\+\) \+\([^ ]\+\)/\2 (\1)/" OUT=`mktemp -t debsecan.XXXXXX` +REMOTE=`mktemp -t debsecan.XXXXXX` HIGH=`mktemp -t debsecan.XXXXXX` MEDIUM=`mktemp -t debsecan.XXXXXX` LOW=`mktemp -t debsecan.XXXXXX` OTHER=`mktemp -t debsecan.XXXXXX` FIXED=`mktemp -t debsecan.XXXXXX` debsecan --suite ${SUITE} 2> /dev/null > ${OUT} -grep 'high urgency' ${OUT} > ${HIGH} -grep 'medium urgency' ${OUT} > ${MEDIUM} -grep 'low urgency)' ${OUT} > ${LOW} +grep 'remotely' ${OUT} > ${REMOTE} +grep 'high urgency' ${OUT} | grep -v 'remotely' > ${HIGH} +grep 'medium urgency' ${OUT} | grep -v 'remotely' > ${MEDIUM} +grep 'low urgency)' ${OUT} | grep -v 'remotely' > ${LOW} grep '(fixed' ${OUT} > ${FIXED} high=`cat ${HIGH} | wc -l` +remote=`cat ${REMOTE} | wc -l` medium=`cat ${MEDIUM} | wc -l` low=`cat ${LOW} | wc -l` other=`cat ${OTHER} | wc -l` fixed=`cat ${FIXED} | wc -l` cat < Date: Wed, 4 Jan 2017 12:48:25 +1100 Subject: [PATCH 50/89] [system/debsecan] Don't use temporary files and fix shellcheck warnings Signed-off-by: Olivier Mehani --- plugins/system/debsecan | 71 ++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 37 deletions(-) diff --git a/plugins/system/debsecan b/plugins/system/debsecan index 3fbb58cf..ae8e93e5 100755 --- a/plugins/system/debsecan +++ b/plugins/system/debsecan @@ -48,8 +48,8 @@ if [ ! -x /usr/bin/debsecan ]; then fi # Determine suite from filename... -SUITE=`echo $0 | sed 's/.*_//'` -if [ ${SUITE} = ${0} ]; then +SUITE=$(echo "$0" | sed 's/.*_//') +if [ "${SUITE}" = "${0}" ]; then # ...or fall back onto configuration in environment SUITE=${suite:-sid} fi @@ -58,7 +58,6 @@ FIXEDCRIT=${fixed_critical:-1000} REMOTEWARN=${remote_warning:-1} REMOTECRIT=${remote_critical:-10} -CVERE="\(\(CVE\|TMP\)[-0-9A-Fa-f]\+\)" if [ "$1" = "config" ] ; then cat < /dev/null) +REMOTE=$(echo "$ALL" | grep 'remotely') +NONREMOTE=$(echo "$ALL" | grep -v 'remotely') + +HIGH=$(echo "${NONREMOTE}" | grep 'high urgency') +MEDIUM=$(echo "${NONREMOTE}" | grep 'medium urgency') +LOW=$(echo "${NONREMOTE}" | grep 'low urgency') +OTHER=$(echo "${NONREMOTE}" | grep -v 'urgency') +FIXED=$(echo "${ALL}" | grep '(fixed') + +remote_count=$(echo "${REMOTE}" | wc -l) +high_count=$(echo "${HIGH}" | wc -l) +medium_count=$(echo "${MEDIUM}" | wc -l) +low_count=$(echo "${LOW}" | wc -l) +other_count=$(echo "${OTHER}" | wc -l) +fixed_count=$(echo "${FIXED}" | wc -l) + CVECOUNTRE="s/^ *\([0-9]\+\) \+\([^ ]\+\)/\2 (\1)/" -OUT=`mktemp -t debsecan.XXXXXX` -REMOTE=`mktemp -t debsecan.XXXXXX` -HIGH=`mktemp -t debsecan.XXXXXX` -MEDIUM=`mktemp -t debsecan.XXXXXX` -LOW=`mktemp -t debsecan.XXXXXX` -OTHER=`mktemp -t debsecan.XXXXXX` -FIXED=`mktemp -t debsecan.XXXXXX` -debsecan --suite ${SUITE} 2> /dev/null > ${OUT} -grep 'remotely' ${OUT} > ${REMOTE} -grep 'high urgency' ${OUT} | grep -v 'remotely' > ${HIGH} -grep 'medium urgency' ${OUT} | grep -v 'remotely' > ${MEDIUM} -grep 'low urgency)' ${OUT} | grep -v 'remotely' > ${LOW} -grep '(fixed' ${OUT} > ${FIXED} - -high=`cat ${HIGH} | wc -l` -remote=`cat ${REMOTE} | wc -l` -medium=`cat ${MEDIUM} | wc -l` -low=`cat ${LOW} | wc -l` -other=`cat ${OTHER} | wc -l` -fixed=`cat ${FIXED} | wc -l` - +# shellcheck disable=SC2005 disable=SC2046 +# The nested $(echo ...)s are needed to yet the newlines cat < Date: Wed, 4 Jan 2017 16:19:44 +1100 Subject: [PATCH 51/89] [debsecan] Update colours Signed-off-by: Olivier Mehani --- plugins/system/debsecan | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/system/debsecan b/plugins/system/debsecan index ae8e93e5..ff126355 100755 --- a/plugins/system/debsecan +++ b/plugins/system/debsecan @@ -75,13 +75,13 @@ remote.info The number of remotely exploitable CVEs with any priority remote.warning ${REMOTEWARN} remote.critical ${REMOTECRIT} high.label high -high.colour FF5500 +high.colour DD2200 high.type GAUGE high.draw AREASTACK high.min 0 high.info The number of CVEs marked high priority medium.label medium -medium.colour FFA500 +medium.colour FFAA00 medium.type GAUGE medium.draw AREASTACK medium.min 0 @@ -93,7 +93,7 @@ low.draw AREASTACK low.min 0 low.info The number of CVEs marked low priority other.label other -other.colour 00A5FF +other.colour 00AAFF other.type GAUGE other.draw AREASTACK other.min 0 From 475c6ae9da9cf5dc84f84863affcf1e5b1de38c5 Mon Sep 17 00:00:00 2001 From: Olivier Mehani Date: Thu, 5 Jan 2017 13:57:56 +1100 Subject: [PATCH 52/89] [debsecan] More verbose errors Signed-off-by: Olivier Mehani --- plugins/system/debsecan | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/system/debsecan b/plugins/system/debsecan index ff126355..e52ac2f1 100755 --- a/plugins/system/debsecan +++ b/plugins/system/debsecan @@ -37,13 +37,14 @@ if [ "$1" = "autoconf" ] ; then if [ -x /usr/bin/debsecan ]; then echo yes else - echo no + echo 'no (/usr/bin/debsecan not found)' fi exit 0 fi # Fail if we don't have debsecan if [ ! -x /usr/bin/debsecan ]; then + echo 'error: /usr/bin/debsecan not found' >&2 exit 1 fi From 4804aea0ec9fd08bee2e91fc10c85f550d0916d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Droz?= Date: Mon, 9 Nov 2015 22:06:05 -0300 Subject: [PATCH 53/89] change.org API: monitor signatures count for one (or various) petition(s) you own --- plugins/change.org/changeorg | 99 ++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100755 plugins/change.org/changeorg diff --git a/plugins/change.org/changeorg b/plugins/change.org/changeorg new file mode 100755 index 00000000..49398bbd --- /dev/null +++ b/plugins/change.org/changeorg @@ -0,0 +1,99 @@ +#!/usr/bin/python3 +''' +=head1 NAME + +Munin Plugin to grab signature count for change.org petition given its ID +You need a valid API key for this petition + +=head2 CONFIGURATION + +# Sample: +[change_org] + env.APIkey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + env.petitions 1727001 1727053 + +=head1 AUTHOR + +(c) 2017 Raphaël Droz +General Public Licence v3 or later + +=head1 LICENSE + +GPLv3 + +=head1 MAGIC MARKERS + +#%# family=auto +#%# capabilities=autoconf +''' + +from sys import argv, exit +from os import environ, path, umask +import re +import urllib.request +import json + +if len(argv) > 1 and argv[1] == 'autoconf': + ok = True + if not environ.get('APIkey') or not re.match('[a-fA-F0-9]{64}$', environ.get('APIkey')): + print("no (env.APIkey not defined or bad format)") + ok = False + for i in environ.get("petitions"): + if not re.match("[0-9]+$", i): + print("no ($i isn't a valid petition ID") + ok = False + if ok: + print("yes") + exit(0) + + +petition_titles = {} +write_cache = False + +if environ.get('MUNIN_PLUGSTATE'): + petition_cache_names = path.join(environ['MUNIN_PLUGSTATE'], 'change_org-petition_names') + try: + with open(petition_cache_names, 'r') as f: + petition_titles = json.load(f) + except FileNotFoundError: + pass + +for i in environ.get('petitions').split(): + if i in petition_titles: + continue + # NB: user-agent's tweak is needed to avoid a 403 + req = urllib.request.Request("https://api.change.org/v1/petitions/{}?api_key={}&fields=title".format(i, environ.get('APIkey')), + data=None, + headers={ 'User-Agent': 'curl/7.38.0' }) + response = urllib.request.urlopen(req).read().decode('utf-8') + petition_titles[i] = json.loads(response) + write_cache = True + +if environ.get('MUNIN_PLUGSTATE') and write_cache: + umask(0o077) + with open(petition_cache_names, 'w') as outfile: + json.dump(petition_titles, outfile) + + +if len(argv) > 1 and argv[1] == 'config': + print('''graph_title change.org signature count +graph_args --base 1000 -l 0 +graph_vlabel Signatures +graph_category other +graph_info change.org signature count +graph_period minute +''') + + for i in petition_titles: + print('''signcount_{pid}.label {title} +signcount_{pid}.info Total signatures for {title} +signcount_{pid}.draw LINE3 +signcount_{pid}.min 0'''.format(pid=i, title=petition_titles[i]["title"])) + exit(0) + +for i in environ.get("petitions").split(): + req = urllib.request.Request("https://api.change.org/v1/petitions/{}?api_key={}&fields=signature_count".format(i, environ.get('APIkey')), + data=None, + headers={ 'User-Agent': 'curl/7.38.0' }) + response = urllib.request.urlopen(req).read().decode('utf-8') + print("signcount_%s.value %s" % (i, json.loads(response)["signature_count"])) From 97d4922ba782e8e3120baa2365b49c2314f1f798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Droz?= Date: Thu, 5 Jan 2017 03:11:29 -0300 Subject: [PATCH 54/89] fixed non-ascii characters inside petition title wheh running inside Munin --- plugins/change.org/changeorg | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/change.org/changeorg b/plugins/change.org/changeorg index 49398bbd..79e53a64 100755 --- a/plugins/change.org/changeorg +++ b/plugins/change.org/changeorg @@ -28,6 +28,8 @@ GPLv3 ''' from sys import argv, exit +import sys +import codecs from os import environ, path, umask import re import urllib.request @@ -73,7 +75,9 @@ if environ.get('MUNIN_PLUGSTATE') and write_cache: umask(0o077) with open(petition_cache_names, 'w') as outfile: json.dump(petition_titles, outfile) - + +# equivalent of passing PYTHONIOENCODING=utf-8 to munin +sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) if len(argv) > 1 and argv[1] == 'config': print('''graph_title change.org signature count From cdd3955588c76325f74137fda4ff825e9652aa08 Mon Sep 17 00:00:00 2001 From: Guillaume Marsay Date: Thu, 5 Jan 2017 08:26:00 +0100 Subject: [PATCH 55/89] Update script --- plugins/chilli/{chilli_ => chilli_sessions_} | 49 ++++++++++---------- 1 file changed, 24 insertions(+), 25 deletions(-) rename plugins/chilli/{chilli_ => chilli_sessions_} (56%) diff --git a/plugins/chilli/chilli_ b/plugins/chilli/chilli_sessions_ similarity index 56% rename from plugins/chilli/chilli_ rename to plugins/chilli/chilli_sessions_ index e5df6999..df34117f 100755 --- a/plugins/chilli/chilli_ +++ b/plugins/chilli/chilli_sessions_ @@ -1,11 +1,11 @@ -#!/bin/bash +#!/bin/sh # -*- sh -*- : << =cut =head1 NAME -chilli_ - Wildcard-plugin to monitor sessions state on Coova Chilli. +chilli_sessions_ - Wildcard-plugin to monitor sessions state on Coova Chilli. =head1 CONFIGURATION @@ -13,21 +13,21 @@ This plugin does not normally require configuration. The plugin may need to run as root. This is configured like this: - [chilli_*] + [chilli_sessions_*] user root This is a wildcard plugin. To monitor an instance, link -chilli_ to this file. For example : +chilli_sessions_ to this file. For example : - ln -s /usr/share/munin/plugins/chilli_ \ - /etc/munin/plugins/chilli_hotspot1 + ln -s /usr/share/munin/plugins/chilli_sessions_ \ + /etc/munin/plugins/chilli_sessions_hotspot1 will monitor hotspot1. For monitor all instances use : - ln -s /usr/share/munin/plugins/chilli_ \ - /etc/munin/plugins/chilli_total + ln -s /usr/share/munin/plugins/chilli_sessions_ \ + /etc/munin/plugins/chilli_sessions_total =head1 AUTHOR @@ -45,20 +45,20 @@ GPLv2 =cut -INSTANCE=${0##*chilli_} +INSTANCE="${0##*chilli_}" CHILLI_PATH_BIN="/usr/sbin/chilli_query" CHILLI_PATH_SOCK="/var/run" -case $1 in +case "$1" in autoconf) - if [[ -r $CHILLI_PATH_BIN ]]; then - if [[ $INSTANCE == "total" ]]; then + if [ -r "$CHILLI_PATH_BIN" ]; then + if [ "$INSTANCE" = "total" ]; then echo "yes" exit 0 else - if [[ -r $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock ]]; then - echo yes + if [ -r "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock ]; then + echo "yes" exit 0 else echo "no ($CHILLI_PATH_SOCK/chilli_$INSTANCE.sock not found)" @@ -74,12 +74,12 @@ case $1 in INSTANCES_LIST=$(ls /var/run/chilli_*.sock) for file in $INSTANCES_LIST; do - echo $(basename $file .sock | cut -d _ -f 2) + basename "$file" .sock | cut -d _ -f 2 done echo "total" - - exit 0 + + exit 0 ;; config) echo "graph_title Chilli $INSTANCE sessions" @@ -102,15 +102,14 @@ case $1 in ;; esac - -if [[ $INSTANCE == "total" ]]; then - STATE_PASS=$($CHILLI_PATH_BIN list | grep "pass" | wc -l) - STATE_DNAT=$($CHILLI_PATH_BIN list | grep "dnat" | wc -l) - STATE_NONE=$($CHILLI_PATH_BIN list | grep "none" | wc -l) +if [ "$INSTANCE" = "total" ]; then + STATE_PASS=$("$CHILLI_PATH_BIN" list | grep -wc "pass") + STATE_DNAT=$("$CHILLI_PATH_BIN" list | grep -wc "dnat") + STATE_NONE=$("$CHILLI_PATH_BIN" list | grep -wc "none") else - STATE_PASS=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "pass" | wc -l) - STATE_DNAT=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "dnat" | wc -l) - STATE_NONE=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "none" | wc -l) + STATE_PASS=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "pass") + STATE_DNAT=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "dnat") + STATE_NONE=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "none") fi echo "pass.value $STATE_PASS" From 7f3c3007a5490e827844a05928afa64b629f771b Mon Sep 17 00:00:00 2001 From: Guillaume Marsay Date: Thu, 5 Jan 2017 08:32:46 +0100 Subject: [PATCH 56/89] Update with "shellcheck -s dash" recommendations --- plugins/chilli/chilli_sessions_ | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/chilli/chilli_sessions_ b/plugins/chilli/chilli_sessions_ index df34117f..87eb8f56 100755 --- a/plugins/chilli/chilli_sessions_ +++ b/plugins/chilli/chilli_sessions_ @@ -57,7 +57,7 @@ case "$1" in echo "yes" exit 0 else - if [ -r "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock ]; then + if [ -r $CHILLI_PATH_SOCK/chilli_"$INSTANCE".sock ]; then echo "yes" exit 0 else @@ -107,9 +107,9 @@ if [ "$INSTANCE" = "total" ]; then STATE_DNAT=$("$CHILLI_PATH_BIN" list | grep -wc "dnat") STATE_NONE=$("$CHILLI_PATH_BIN" list | grep -wc "none") else - STATE_PASS=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "pass") - STATE_DNAT=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "dnat") - STATE_NONE=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "none") + STATE_PASS=$("$CHILLI_PATH_BIN" -s $CHILLI_PATH_SOCK/chilli_"$INSTANCE".sock list | grep -wc "pass") + STATE_DNAT=$("$CHILLI_PATH_BIN" -s $CHILLI_PATH_SOCK/chilli_"$INSTANCE".sock list | grep -wc "dnat") + STATE_NONE=$("$CHILLI_PATH_BIN" -s $CHILLI_PATH_SOCK/chilli_"$INSTANCE".sock list | grep -wc "none") fi echo "pass.value $STATE_PASS" From 5b9536978083f77157a1fb9b874a9aefb8f7c8f7 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 5 Jan 2017 14:49:37 +0100 Subject: [PATCH 57/89] dont waste time by retrieving per script stats --- plugins/php/php_opcache.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/php/php_opcache.php b/plugins/php/php_opcache.php index c23d62b0..a4437a35 100644 --- a/plugins/php/php_opcache.php +++ b/plugins/php/php_opcache.php @@ -5,7 +5,7 @@ if (function_exists('opcache_get_status')) { - $data = opcache_get_status(); + $data = opcache_get_status(false); $output = array( 'mem_used.value' => $data['memory_usage']['used_memory'], 'mem_free.value' => $data['memory_usage']['free_memory'], From 93bc9acb959fd3af88c0af733d952752864938f4 Mon Sep 17 00:00:00 2001 From: swuschke Date: Thu, 5 Jan 2017 20:47:14 +0100 Subject: [PATCH 58/89] added a new line at eof --- templates/munstrap/static/css/style-munstrap.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/munstrap/static/css/style-munstrap.css b/templates/munstrap/static/css/style-munstrap.css index d2f8498e..a559a450 100644 --- a/templates/munstrap/static/css/style-munstrap.css +++ b/templates/munstrap/static/css/style-munstrap.css @@ -65,4 +65,4 @@ img.unkn { .text-critical:hover { color: #843534 -} \ No newline at end of file +} From d47fc3adeff5b5e602c4f3e1648adf2fc0610a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Droz?= Date: Fri, 6 Jan 2017 17:07:00 -0300 Subject: [PATCH 59/89] renamed to changeorg_signature_count + generic name for cache file --- plugins/change.org/{changeorg => changeorg_signature_count} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename plugins/change.org/{changeorg => changeorg_signature_count} (97%) diff --git a/plugins/change.org/changeorg b/plugins/change.org/changeorg_signature_count similarity index 97% rename from plugins/change.org/changeorg rename to plugins/change.org/changeorg_signature_count index 79e53a64..b9e7ab8a 100755 --- a/plugins/change.org/changeorg +++ b/plugins/change.org/changeorg_signature_count @@ -8,7 +8,7 @@ You need a valid API key for this petition =head2 CONFIGURATION # Sample: -[change_org] +[changeorg_signature_count] env.APIkey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx env.petitions 1727001 1727053 @@ -53,7 +53,7 @@ petition_titles = {} write_cache = False if environ.get('MUNIN_PLUGSTATE'): - petition_cache_names = path.join(environ['MUNIN_PLUGSTATE'], 'change_org-petition_names') + petition_cache_names = path.join(environ['MUNIN_PLUGSTATE'], path.basename(argv[0]) + '-petition_names') try: with open(petition_cache_names, 'r') as f: petition_titles = json.load(f) From ec0df0719dbd744d2687f86a49c90f19aead95a4 Mon Sep 17 00:00:00 2001 From: Olivier Mehani Date: Sat, 7 Jan 2017 16:28:13 +1100 Subject: [PATCH 60/89] [http_load_] Fix issue with long domain name Munin 1.0 supports fieldnames of at most 19 characters. For domain names longer than that, this plugin simply truncate the names in its own cache down to 19. This creates an issue with the `response` graph, which appends the HTTP status code to the hostname to make multiple variables. Truncating to this string loses this information, leading to an empty graph. Signed-off-by: Olivier Mehani --- plugins/http/http_load_ | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/http/http_load_ b/plugins/http/http_load_ index 52b0eb92..c6c2407e 100755 --- a/plugins/http/http_load_ +++ b/plugins/http/http_load_ @@ -170,14 +170,23 @@ sub get_cache_file_name{ return $file; } -# Get fieldname (making sure it is munin "compatible" as a fieldname) +# Get fieldname (making sure it is munin-1.0 "compatible" as a fieldname) # 1. Remove all non-word characters from a string) # 2. Make sure it has maximum 19 characters +# 2.1 If not, truncate the host part, while keeping anything after an underscore (e.g., HTTP response status) sub get_fieldname{ my $url=$_[0]; $url =~ s/\W//g; if(length($url) > 19){ - $url = substr($url, 0, 19); + $url =~ s/(\S+)_(\S+)/ /g; + my $host = $1; + my $info = $2; + my $suffixlength = length($info) + 1; + if ($suffixlength > 1) { + $url = substr($host, 0, 19 - $suffixlength) . '_' . $info; + } else { + $url = substr($url, 0, 19); + } } return $url; } From 7d1ac56eaea7b9a116f1eb010d228c354f42d18c Mon Sep 17 00:00:00 2001 From: obma Date: Mon, 5 Oct 2015 20:19:14 +0200 Subject: [PATCH 61/89] p: updating openweather_: replaced fgrep, tr, cut with expr Use expr to extract values and names from the OpenWeather API xml instead of the - when using a city with spaces in its name not correctly working - fgrep | tr | cut construct. --- plugins/weather/openweather_ | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) mode change 100644 => 100755 plugins/weather/openweather_ diff --git a/plugins/weather/openweather_ b/plugins/weather/openweather_ old mode 100644 new mode 100755 index bbd3c7a4..a7eea886 --- a/plugins/weather/openweather_ +++ b/plugins/weather/openweather_ @@ -19,15 +19,13 @@ # env.apikey XYZ query_string=$(printf '%s' "${0#*_}" | tr '_' '=') -TMPFILE=$(mktemp) -trap 'rm -f $TMPFILE' EXIT +OWAPI=$( curl -s "http://api.openweathermap.org/data/2.5/weather?mode=xml&${query_string}") # API returns temp in K, we have to convert it in C +# &units=metric would change that ;-) KELVIN_BIAS=273 -curl -s "http://api.openweathermap.org/data/2.5/weather?mode=xml&${query_string}&APPID=${apikey}" > $TMPFILE - -CITY=$(fgrep " Date: Wed, 7 Oct 2015 17:09:44 +0200 Subject: [PATCH 62/89] p: fix openweather_: set correct name for multigraphs Set 'plugin_name' with 'basename $0' and use this variable instead of $0 to avoid having the full path as name for the multigraphs. --- plugins/weather/openweather_ | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/plugins/weather/openweather_ b/plugins/weather/openweather_ index a7eea886..be62596c 100755 --- a/plugins/weather/openweather_ +++ b/plugins/weather/openweather_ @@ -19,6 +19,7 @@ # env.apikey XYZ query_string=$(printf '%s' "${0#*_}" | tr '_' '=') +plugin_name=$( basename $0 ) OWAPI=$( curl -s "http://api.openweathermap.org/data/2.5/weather?mode=xml&${query_string}") # API returns temp in K, we have to convert it in C @@ -30,7 +31,7 @@ CITY=$( expr "$OWAPI" : '.*\ Date: Wed, 7 Oct 2015 18:15:30 +0200 Subject: [PATCH 63/89] p: fix openweather_: returned .label instead of .value for wind direction --- plugins/weather/openweather_ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/weather/openweather_ b/plugins/weather/openweather_ index be62596c..fe66a3fe 100755 --- a/plugins/weather/openweather_ +++ b/plugins/weather/openweather_ @@ -113,7 +113,7 @@ cat <<- EOF speed.value $WD_SPEED multigraph $plugin_name.wind_direction - direction.label $WD_DIREC + direction.vaule $WD_DIREC EOF From ef061fdd9ed41f42cbda69d777d8bf91b7343915 Mon Sep 17 00:00:00 2001 From: obma Date: Sat, 7 Nov 2015 17:41:55 +0100 Subject: [PATCH 64/89] p: openweather_: typo --- plugins/weather/openweather_ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/weather/openweather_ b/plugins/weather/openweather_ index fe66a3fe..0a045607 100755 --- a/plugins/weather/openweather_ +++ b/plugins/weather/openweather_ @@ -113,7 +113,7 @@ cat <<- EOF speed.value $WD_SPEED multigraph $plugin_name.wind_direction - direction.vaule $WD_DIREC + direction.value $WD_DIREC EOF From d8f12a6a81009f4b5272f041cd459229d27cb59c Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sun, 18 Dec 2016 17:33:21 +0100 Subject: [PATCH 65/89] removed "gitignore" files from various plugins they were probably imported by mistake --- plugins/apt/deb_packages/.gitignore | 27 -------------------------- plugins/system/multicpu1sec/.gitignore | 4 ---- tools/munin-node-c/.gitignore | 4 ---- tools/munin-plugins-busybox/.gitignore | 1 - tools/pypmmn/.gitignore | 5 ----- 5 files changed, 41 deletions(-) delete mode 100644 plugins/apt/deb_packages/.gitignore delete mode 100644 plugins/system/multicpu1sec/.gitignore delete mode 100644 tools/munin-node-c/.gitignore delete mode 100644 tools/munin-plugins-busybox/.gitignore delete mode 100644 tools/pypmmn/.gitignore diff --git a/plugins/apt/deb_packages/.gitignore b/plugins/apt/deb_packages/.gitignore deleted file mode 100644 index f24cd995..00000000 --- a/plugins/apt/deb_packages/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -*.py[co] - -# Packages -*.egg -*.egg-info -dist -build -eggs -parts -bin -var -sdist -develop-eggs -.installed.cfg - -# Installer logs -pip-log.txt - -# Unit test / coverage reports -.coverage -.tox - -#Translations -*.mo - -#Mr Developer -.mr.developer.cfg diff --git a/plugins/system/multicpu1sec/.gitignore b/plugins/system/multicpu1sec/.gitignore deleted file mode 100644 index 4ff4b96f..00000000 --- a/plugins/system/multicpu1sec/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/multicpu1sec-c -/multicpu1sec.o -/multicpu1sec.pid -/multicpu1sec.value diff --git a/tools/munin-node-c/.gitignore b/tools/munin-node-c/.gitignore deleted file mode 100644 index 91f33c2b..00000000 --- a/tools/munin-node-c/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# output files -/*.o -/munin-node-c -/plugins/* diff --git a/tools/munin-plugins-busybox/.gitignore b/tools/munin-plugins-busybox/.gitignore deleted file mode 100644 index 5761abcf..00000000 --- a/tools/munin-plugins-busybox/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.o diff --git a/tools/pypmmn/.gitignore b/tools/pypmmn/.gitignore deleted file mode 100644 index 0b7a733f..00000000 --- a/tools/pypmmn/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -env -build -MANIFEST -dist -plugins From 1ded68fc876fa593a30df2bd85d546288ffedb86 Mon Sep 17 00:00:00 2001 From: Guillaume Marsay Date: Tue, 10 Jan 2017 08:48:19 +0100 Subject: [PATCH 66/89] Update plugin --- plugins/chilli/chilli_sessions_ | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/plugins/chilli/chilli_sessions_ b/plugins/chilli/chilli_sessions_ index 87eb8f56..5fdac965 100755 --- a/plugins/chilli/chilli_sessions_ +++ b/plugins/chilli/chilli_sessions_ @@ -7,6 +7,10 @@ chilli_sessions_ - Wildcard-plugin to monitor sessions state on Coova Chilli. +=head DESCRIPTION + +This wildcard plugin is for monitor the number of device with state pass/dnat/none on Coova Chilli instances. + =head1 CONFIGURATION This plugin does not normally require configuration. @@ -71,15 +75,13 @@ case "$1" in fi ;; suggest) - INSTANCES_LIST=$(ls /var/run/chilli_*.sock) - - for file in $INSTANCES_LIST; do + find "$CHILLI_PATH_SOCK/" -name "chilli_*.sock" | while read file; do basename "$file" .sock | cut -d _ -f 2 done echo "total" - exit 0 + exit 0 ;; config) echo "graph_title Chilli $INSTANCE sessions" @@ -107,9 +109,9 @@ if [ "$INSTANCE" = "total" ]; then STATE_DNAT=$("$CHILLI_PATH_BIN" list | grep -wc "dnat") STATE_NONE=$("$CHILLI_PATH_BIN" list | grep -wc "none") else - STATE_PASS=$("$CHILLI_PATH_BIN" -s $CHILLI_PATH_SOCK/chilli_"$INSTANCE".sock list | grep -wc "pass") - STATE_DNAT=$("$CHILLI_PATH_BIN" -s $CHILLI_PATH_SOCK/chilli_"$INSTANCE".sock list | grep -wc "dnat") - STATE_NONE=$("$CHILLI_PATH_BIN" -s $CHILLI_PATH_SOCK/chilli_"$INSTANCE".sock list | grep -wc "none") + STATE_PASS=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK/chilli_$INSTANCE.sock" list | grep -wc "pass") + STATE_DNAT=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK/chilli_$INSTANCE.sock" list | grep -wc "dnat") + STATE_NONE=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK/chilli_$INSTANCE.sock" list | grep -wc "none") fi echo "pass.value $STATE_PASS" From 5ee71111869b77ca57c8145b03b6ff5bcdc055d3 Mon Sep 17 00:00:00 2001 From: Guillaume Marsay Date: Tue, 10 Jan 2017 08:50:08 +0100 Subject: [PATCH 67/89] Fix typo --- plugins/chilli/chilli_sessions_ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/chilli/chilli_sessions_ b/plugins/chilli/chilli_sessions_ index 5fdac965..75dbe3fd 100755 --- a/plugins/chilli/chilli_sessions_ +++ b/plugins/chilli/chilli_sessions_ @@ -7,7 +7,7 @@ chilli_sessions_ - Wildcard-plugin to monitor sessions state on Coova Chilli. -=head DESCRIPTION +=head1 DESCRIPTION This wildcard plugin is for monitor the number of device with state pass/dnat/none on Coova Chilli instances. From d3de1a48de87e0ec99f9150eb70f893783004a87 Mon Sep 17 00:00:00 2001 From: null-git Date: Thu, 12 Jan 2017 15:10:54 +0100 Subject: [PATCH 68/89] Fixed some syntax and perldoc --- plugins/other/wordpress-multisite | 52 ++++++++++++++++++------------- 1 file changed, 31 insertions(+), 21 deletions(-) mode change 100644 => 100755 plugins/other/wordpress-multisite diff --git a/plugins/other/wordpress-multisite b/plugins/other/wordpress-multisite old mode 100644 new mode 100755 index f5316f9c..120adccc --- a/plugins/other/wordpress-multisite +++ b/plugins/other/wordpress-multisite @@ -1,40 +1,51 @@ #!/usr/bin/env sh # wordpress-multisite plugin -# +# +# Version 0.3 +# Date 2017-01-12 +# Some last minor fixes +# # Version 0.2 # Date 2016-10-24 # Code improvements -# +# # Version 0.1 # Date 2016-02-07 # Initial release # : <<=cut =head1 NAME + Wordpress-Multisite Munin Plugin A Munin plugin to monitor posts, comments and pingbacks from every multisite instance. It uses multigraphs and also shows the combined number of posts, comments, pingbacks, instances and users. -Most database requests came from the wordpress-mu-plugin which was written by Andre Darafarin and Chris Bair +Most database queries came from the wordpress-mu-plugin which was written by Andre Darafarin and Chris Bair =head1 CONFIGURATION + The plugin need access to the wordpress database =head2 Config file + Create the config file plugin-conf.d/wordpress with the following values: -=over 4 -=item * [wordpress*] -=item * env.mysqlopts -=item * env.mysqlconnection -=item * env.database -=item * env.dbprefix + [wordpress*] + env.mysqlopts # i.e. -uroot -prootpass + env.mysqlconnection # defaults to -hlocalhost + env.database # i.e. -Dwordpress + env.dbprefix # defaults to wp_ -=back +=head1 VERSION -=head1 VERSION -Version 0.2 (2016-02-07) +Version 0.3 (2017-01-12) + +=head2 Some minor fixes: + + * fixed perldoc + * fixed some syntax warnings from shellcheck + * replaced expr by $(( )) =head1 AUTHOR @@ -43,7 +54,6 @@ Jonas Palm =head1 LICENSE GPLv3 or higher - =cut # fill vars @@ -84,10 +94,10 @@ else i= test "$n" -gt "1" && i=${n}_ - POSTS=$(expr $POSTS + $(wp_get posts $i)) - COMMENTS=$(expr $COMMENTS + $(wp_get comments $i)) - PINGBACKS=$(expr $PINGBACKS + $(wp_get pingbacks $i)) - CNT=$(expr $CNT + 1) + POSTS=$((POSTS + $(wp_get posts "$i"))) + COMMENTS=$((COMMENTS + $(wp_get comments "$i"))) + PINGBACKS=$((PINGBACKS + $(wp_get pingbacks "$i"))) + CNT=$((CNT + 1)) done echo "multigraph wordpress" @@ -106,7 +116,7 @@ for n in $(wp_get ids); do if [ "$1" = "config" ]; then echo "multigraph wordpress.site_${n}" - echo "graph_title $(wp_get title $i)" + echo "graph_title $(wp_get title "$i")" echo "graph_order posts comments pingbacks" echo "graph_vlabel Wordpress ID ${n}" echo "posts.label Posts" @@ -114,8 +124,8 @@ for n in $(wp_get ids); do echo "pingbacks.label Pingbacks" else echo "multigraph wordpress.site_${n}" - echo "posts.value $(wp_get posts $i)" - echo "comments.value $(wp_get comments $i)" - echo "pingbacks.value $(wp_get pingbacks $i)" + echo "posts.value $(wp_get posts "$i")" + echo "comments.value $(wp_get comments "$i")" + echo "pingbacks.value $(wp_get pingbacks "$i")" fi done From 820ef5b00967852c2febf4efa98301d71d33f619 Mon Sep 17 00:00:00 2001 From: null-git Date: Fri, 13 Jan 2017 20:32:31 +0100 Subject: [PATCH 69/89] better variable names, added option for length of blogid to sort multigraphs --- plugins/other/wordpress-multisite | 87 ++++++++++++++----------------- 1 file changed, 39 insertions(+), 48 deletions(-) diff --git a/plugins/other/wordpress-multisite b/plugins/other/wordpress-multisite index 120adccc..3bc70735 100755 --- a/plugins/other/wordpress-multisite +++ b/plugins/other/wordpress-multisite @@ -1,18 +1,5 @@ -#!/usr/bin/env sh +#!/bin/sh # wordpress-multisite plugin -# -# Version 0.3 -# Date 2017-01-12 -# Some last minor fixes -# -# Version 0.2 -# Date 2016-10-24 -# Code improvements -# -# Version 0.1 -# Date 2016-02-07 -# Initial release -# : <<=cut =head1 NAME @@ -32,20 +19,18 @@ The plugin need access to the wordpress database Create the config file plugin-conf.d/wordpress with the following values: [wordpress*] - env.mysqlopts # i.e. -uroot -prootpass - env.mysqlconnection # defaults to -hlocalhost - env.database # i.e. -Dwordpress - env.dbprefix # defaults to wp_ + env.mysqlopts # I.e. -uroot -prootpass + env.mysqlconnection # Defaults to -hlocalhost + env.database # I.e. wordpress + env.dbprefix # Defaults to wp_ + env.networksize # Blogs are ordered by id in multigraph view. This value should contain the numbers + # of digits that are needed to fit all the blog id's in. This value influences the + # designation of data to munin and it will start collecting fresh data if you change + # this number. Defaults to 2, (so networks with <= 99 blogs will be sorted correctly) =head1 VERSION -Version 0.3 (2017-01-12) - -=head2 Some minor fixes: - - * fixed perldoc - * fixed some syntax warnings from shellcheck - * replaced expr by $(( )) +Version 0.4 (2017-01-13) =head1 AUTHOR @@ -61,19 +46,30 @@ DB_OPTIONS=${mysqlopts} DB_CONNECTION=${mysqlconnection:--hlocalhost} DB_NAME=${database} DB_PREFIX=${dbprefix:-wp_} +NETWORK_SIZE=${network_size:-2} MYSQL_CMD=$(which mysql) + +# wp_get dataname [blogid] wp_get() { + local DB_QUERY= + local BLOGID= + if [ -n "$2" ] && [ "$2" -gt "1" ]; then + # DB prefix for every wordpress instance in the network + # Nr 1 is the main network blog and doesn't has a prefix + BLOGID=${2}_ + fi + case $1 in - comments) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${2}comments WHERE comment_approved = '1' AND comment_type = '';" ;; - ids) QUERY="SELECT blog_id FROM ${DB_PREFIX}blogs;" ;; - pingbacks) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${2}comments WHERE comment_approved = '1' AND comment_type = 'pingback';" ;; - posts) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${2}posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';" ;; - title) QUERY="SELECT option_value FROM ${DB_PREFIX}${2}options WHERE option_name = 'siteurl';" ;; - users) QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}users;" + comments) DB_QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${BLOGID}comments WHERE comment_approved = '1' AND comment_type = '';" ;; + ids) DB_QUERY="SELECT blog_id FROM ${DB_PREFIX}blogs;" ;; + pingbacks) DB_QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${BLOGID}comments WHERE comment_approved = '1' AND comment_type = 'pingback';" ;; + posts) DB_QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}${BLOGID}posts WHERE post_status = 'publish' AND post_password = '' AND post_type = 'post';" ;; + title) DB_QUERY="SELECT option_value FROM ${DB_PREFIX}${BLOGID}options WHERE option_name = 'siteurl';" ;; + users) DB_QUERY="SELECT COUNT(*) FROM ${DB_PREFIX}users;" esac - $MYSQL_CMD $DB_CONNECTION $DB_OPTIONS $DB_NAME --column-names=0 -s --execute="$QUERY" + "$MYSQL_CMD" $DB_CONNECTION $DB_OPTIONS "$DB_NAME" --column-names=0 -s --execute="$DB_QUERY" } # whole network @@ -91,12 +87,9 @@ if [ "$1" = "config" ]; then echo "pingbacks.label Pingbacks" else for n in $(wp_get ids); do - i= - test "$n" -gt "1" && i=${n}_ - - POSTS=$((POSTS + $(wp_get posts "$i"))) - COMMENTS=$((COMMENTS + $(wp_get comments "$i"))) - PINGBACKS=$((PINGBACKS + $(wp_get pingbacks "$i"))) + POSTS=$((POSTS + $(wp_get posts "$n"))) + COMMENTS=$((COMMENTS + $(wp_get comments "$n"))) + PINGBACKS=$((PINGBACKS + $(wp_get pingbacks "$n"))) CNT=$((CNT + 1)) done @@ -110,22 +103,20 @@ fi # single blogs for n in $(wp_get ids); do - i= - test "$n" -gt "1" && i=${n}_ - test "$n" -le "9" && n=0${n} + blogid_sortable="$(printf "%0${NETWORK_SIZE}d" "$n")" if [ "$1" = "config" ]; then - echo "multigraph wordpress.site_${n}" - echo "graph_title $(wp_get title "$i")" + echo "multigraph wordpress.site_${blogid_sortable}" + echo "graph_title $(wp_get title "$n")" echo "graph_order posts comments pingbacks" - echo "graph_vlabel Wordpress ID ${n}" + echo "graph_vlabel Wordpress ID ${blogid_sortable}" echo "posts.label Posts" echo "comments.label Comments" echo "pingbacks.label Pingbacks" else - echo "multigraph wordpress.site_${n}" - echo "posts.value $(wp_get posts "$i")" - echo "comments.value $(wp_get comments "$i")" - echo "pingbacks.value $(wp_get pingbacks "$i")" + echo "multigraph wordpress.site_${blogid_sortable}" + echo "posts.value $(wp_get posts "$n")" + echo "comments.value $(wp_get comments "$n")" + echo "pingbacks.value $(wp_get pingbacks "$n")" fi done From 130466f1295af843a787d6d872678a2ce752948f Mon Sep 17 00:00:00 2001 From: null-git Date: Sat, 14 Jan 2017 12:33:34 +0100 Subject: [PATCH 70/89] changed variable name of network_size to match the documented networksize --- plugins/other/wordpress-multisite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/other/wordpress-multisite b/plugins/other/wordpress-multisite index 3bc70735..2a0c4d2e 100755 --- a/plugins/other/wordpress-multisite +++ b/plugins/other/wordpress-multisite @@ -46,7 +46,7 @@ DB_OPTIONS=${mysqlopts} DB_CONNECTION=${mysqlconnection:--hlocalhost} DB_NAME=${database} DB_PREFIX=${dbprefix:-wp_} -NETWORK_SIZE=${network_size:-2} +NETWORK_SIZE=${networksize:-2} MYSQL_CMD=$(which mysql) From 4fa3811c1225d15aa816e67653799521ef8e6d89 Mon Sep 17 00:00:00 2001 From: Gerald Turner Date: Fri, 20 Jan 2017 15:46:32 -0800 Subject: [PATCH 71/89] Add optional preemptive HTTP Basic Authentication to HTTP request in order to support monit configuration like "set httpd port 2812 allow munin:s3cr3t read-only" --- plugins/monit/monit_parser | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/plugins/monit/monit_parser b/plugins/monit/monit_parser index 67a2b767..31261a56 100755 --- a/plugins/monit/monit_parser +++ b/plugins/monit/monit_parser @@ -14,7 +14,10 @@ Monit needs to be configured with the httpd port enabled, e.g.: set httpd port 2812 +Optionally monit authentication can be configured, e.g.: + set httpd port 2812 + allow munin:s3cr3t read-only =head1 CONFIGURATION @@ -25,6 +28,12 @@ By default the monit instance at localhost is queried: env.port 2812 env.host localhost +Optionally monit authentication can be configured, e.g.: + + [monit_parser] + env.username munin + env.password s3cr3t + =head1 AUTHOR @@ -44,6 +53,7 @@ import xml.dom.minidom import os import sys import urllib.request +import base64 MONIT_XML_URL = ("http://{host}:{port}/_status?format=xml" .format(host=os.getenv("host", "localhost"), @@ -57,7 +67,15 @@ def sanitize(s): def get_monit_status_xml(): try: - conn = urllib.request.urlopen(MONIT_XML_URL) + req = urllib.request.Request(url=MONIT_XML_URL) + if os.getenv("password"): + auth_str = "%s:%s" % (os.getenv("username"), os.getenv("password")) + auth_bytes = bytes(auth_str, "utf-8") + auth_base64_bytes = base64.b64encode(auth_bytes) + auth_base64_str = str(auth_base64_bytes, "ascii") + auth_value = "Basic %s" % auth_base64_str + req.add_header("Authorization", auth_value) + conn = urllib.request.urlopen(req) except urllib.error.URLError as exc: conn = None if conn is None: From ca5f13024c4b995bcfe7738f6467587733375c54 Mon Sep 17 00:00:00 2001 From: Cristian Deluxe Date: Wed, 7 Dec 2016 05:45:06 +0100 Subject: [PATCH 72/89] Updated Bootstrap to v3.3.7 --- .../munstrap/static/css/bootstrap.min.css | 9 +- .../munstrap/static/css/bootstrap.min.css.map | 1 + .../fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 485 ++++++++++-------- .../fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes templates/munstrap/static/js/bootstrap.min.js | 9 +- 8 files changed, 282 insertions(+), 222 deletions(-) create mode 100644 templates/munstrap/static/css/bootstrap.min.css.map create mode 100644 templates/munstrap/static/fonts/glyphicons-halflings-regular.woff2 diff --git a/templates/munstrap/static/css/bootstrap.min.css b/templates/munstrap/static/css/bootstrap.min.css index 679272d2..ed3905e0 100644 --- a/templates/munstrap/static/css/bootstrap.min.css +++ b/templates/munstrap/static/css/bootstrap.min.css @@ -1,7 +1,6 @@ /*! - * Bootstrap v3.1.1 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 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}} \ No newline at end of file + *//*! 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:"\002a"}.glyphicon-plus:before{content:"\002b"}.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: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: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::-ms-expand{background-color:transparent;border:0}.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:11px;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: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.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,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.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,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.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,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.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,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.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,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.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,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-left-radius:4px;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-right-radius:4px;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 .form-control:focus{z-index:3}.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:2;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:3;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{padding-right:15px;padding-left:15px;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{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);background-color:rgba(0,0,0,0);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:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.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,.modal-header:after,.modal-header: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,.modal-header: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}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/templates/munstrap/static/css/bootstrap.min.css.map b/templates/munstrap/static/css/bootstrap.min.css.map new file mode 100644 index 00000000..6c7fa40b --- /dev/null +++ b/templates/munstrap/static/css/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/normalize.less","less/print.less","bootstrap.css","dist/css/bootstrap.css","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":";;;;4EAQA,KACE,YAAA,WACA,yBAAA,KACA,qBAAA,KAOF,KACE,OAAA,EAaF,QAAA,MAAA,QAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,KAAA,IAAA,QAAA,QAaE,QAAA,MAQF,MAAA,OAAA,SAAA,MAIE,QAAA,aACA,eAAA,SAQF,sBACE,QAAA,KACA,OAAA,EAQF,SAAA,SAEE,QAAA,KAUF,EACE,iBAAA,YAQF,SAAA,QAEE,QAAA,EAUF,YACE,cAAA,IAAA,OAOF,EAAA,OAEE,YAAA,IAOF,IACE,WAAA,OAQF,GACE,OAAA,MAAA,EACA,UAAA,IAOF,KACE,MAAA,KACA,WAAA,KAOF,MACE,UAAA,IAOF,IAAA,IAEE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IACE,IAAA,MAGF,IACE,OAAA,OAUF,IACE,OAAA,EAOF,eACE,SAAA,OAUF,OACE,OAAA,IAAA,KAOF,GACE,OAAA,EAAA,mBAAA,YAAA,gBAAA,YACA,WAAA,YAOF,IACE,SAAA,KAOF,KAAA,IAAA,IAAA,KAIE,YAAA,UAAA,UACA,UAAA,IAkBF,OAAA,MAAA,SAAA,OAAA,SAKE,OAAA,EACA,KAAA,QACA,MAAA,QAOF,OACE,SAAA,QAUF,OAAA,OAEE,eAAA,KAWF,OAAA,wBAAA,kBAAA,mBAIE,mBAAA,OACA,OAAA,QAOF,iBAAA,qBAEE,OAAA,QAOF,yBAAA,wBAEE,QAAA,EACA,OAAA,EAQF,MACE,YAAA,OAWF,qBAAA,kBAEE,mBAAA,WAAA,gBAAA,WAAA,WAAA,WACA,QAAA,EASF,8CAAA,8CAEE,OAAA,KAQF,mBACE,mBAAA,YACA,gBAAA,YAAA,WAAA,YAAA,mBAAA,UASF,iDAAA,8CAEE,mBAAA,KAOF,SACE,QAAA,MAAA,OAAA,MACA,OAAA,EAAA,IACA,OAAA,IAAA,MAAA,OAQF,OACE,QAAA,EACA,OAAA,EAOF,SACE,SAAA,KAQF,SACE,YAAA,IAUF,MACE,eAAA,EACA,gBAAA,SAGF,GAAA,GAEE,QAAA,uFCjUF,aA7FI,EAAA,OAAA,QAGI,MAAA,eACA,YAAA,eACA,WAAA,cAAA,mBAAA,eACA,WAAA,eAGJ,EAAA,UAEI,gBAAA,UAGJ,cACI,QAAA,KAAA,WAAA,IAGJ,kBACI,QAAA,KAAA,YAAA,IAKJ,6BAAA,mBAEI,QAAA,GAGJ,WAAA,IAEI,OAAA,IAAA,MAAA,KC4KL,kBAAA,MDvKK,MC0KL,QAAA,mBDrKK,IE8KN,GDLC,kBAAA,MDrKK,ICwKL,UAAA,eCUD,GF5KM,GE2KN,EF1KM,QAAA,ECuKL,OAAA,ECSD,GF3KM,GCsKL,iBAAA,MD/JK,QCkKL,QAAA,KCSD,YFtKU,oBCiKT,iBAAA,eD7JK,OCgKL,OAAA,IAAA,MAAA,KD5JK,OC+JL,gBAAA,mBCSD,UFpKU,UC+JT,iBAAA,eDzJS,mBEkKV,mBDLC,OAAA,IAAA,MAAA,gBEjPD,WACA,YAAA,uBFsPD,IAAA,+CE7OC,IAAK,sDAAuD,4BAA6B,iDAAkD,gBAAiB,gDAAiD,eAAgB,+CAAgD,mBAAoB,2EAA4E,cAE7W,WACA,SAAA,SACA,IAAA,IACA,QAAA,aACA,YAAA,uBACA,WAAA,OACA,YAAA,IACA,YAAA,EAIkC,uBAAA,YAAW,wBAAA,UACX,2BAAW,QAAA,QAEX,uBDuPlC,QAAS,QCtPyB,sBFiPnC,uBEjP8C,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,qBAAW,QAAA,QACX,0BAAW,QAAA,QACX,qBAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,2BAAW,QAAA,QACX,sBAAW,QAAA,QACX,yBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,+BAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,8BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,yBAAW,QAAA,QACX,8BAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,gCAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,iCAAW,QAAA,QACX,0BAAW,QAAA,QACX,6BAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,gCAAW,QAAA,QACX,gCAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,0BAAW,QAAA,QACX,+BAAW,QAAA,QACX,+BAAW,QAAA,QACX,wBAAW,QAAA,QACX,+BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,0BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,2BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,mCAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,+BAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,yBAAW,QAAA,QACX,6BAAW,QAAA,QACX,+BAAW,QAAA,QACX,0BAAW,QAAA,QACX,gCAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,kCAAW,QAAA,QACX,oCAAW,QAAA,QACX,sBAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,0BAAW,QAAA,QACX,4BAAW,QAAA,QACX,qCAAW,QAAA,QACX,oCAAW,QAAA,QACX,kCAAW,QAAA,QACX,oCAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,uBAAW,QAAA,QACX,mCAAW,QAAA,QACX,uCAAW,QAAA,QACX,gCAAW,QAAA,QACX,oCAAW,QAAA,QACX,qCAAW,QAAA,QACX,yCAAW,QAAA,QACX,4BAAW,QAAA,QACX,yBAAW,QAAA,QACX,gCAAW,QAAA,QACX,8BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,0BAAW,QAAA,QACX,6BAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,gCAAW,QAAA,QACX,8BAAW,QAAA,QACX,8BAAW,QAAA,QACX,8BAAW,QAAA,QACX,2BAAW,QAAA,QACX,0BAAW,QAAA,QACX,yBAAW,QAAA,QACX,6BAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,iCAAW,QAAA,QACX,oCAAW,QAAA,QACX,iCAAW,QAAA,QACX,+BAAW,QAAA,QACX,+BAAW,QAAA,QACX,iCAAW,QAAA,QACX,qBAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QASX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,yBAAW,QAAA,QACX,yBAAW,QAAA,QACX,+BAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,uBAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,2BAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,mCAAW,QAAA,QACX,4BAAW,QAAA,QACX,oCAAW,QAAA,QACX,kCAAW,QAAA,QACX,iCAAW,QAAA,QACX,+BAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,kCAAW,QAAA,QACX,mCAAW,QAAA,QACX,sCAAW,QAAA,QACX,0CAAW,QAAA,QACX,oCAAW,QAAA,QACX,wCAAW,QAAA,QACX,qCAAW,QAAA,QACX,iCAAW,QAAA,QACX,gCAAW,QAAA,QACX,kCAAW,QAAA,QACX,+BAAW,QAAA,QACX,0BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QCtS/C,0BCgEE,QAAA,QHi+BF,EDNC,mBAAA,WGxhCI,gBAAiB,WFiiCZ,WAAY,WGl+BZ,OADL,QJg+BJ,mBAAA,WGthCI,gBAAiB,WACpB,WAAA,WHyhCD,KGrhCC,UAAW,KAEX,4BAAA,cAEA,KACA,YAAA,iBAAA,UAAA,MAAA,WHuhCD,UAAA,KGnhCC,YAAa,WF4hCb,MAAO,KACP,iBAAkB,KExhClB,OADA,MAEA,OHqhCD,SG/gCC,YAAa,QACb,UAAA,QACA,YAAA,QAEA,EFwhCA,MAAO,QEthCL,gBAAA,KAIF,QH8gCD,QKjkCC,MAAA,QACA,gBAAA,UF6DF,QACE,QAAA,IAAA,KAAA,yBHygCD,eAAA,KGlgCC,OHqgCD,OAAA,ECSD,IACE,eAAgB,ODDjB,4BM/kCC,0BLklCF,gBKnlCE,iBADA,eH4EA,QAAS,MACT,UAAA,KHugCD,OAAA,KGhgCC,aACA,cAAA,IAEA,eACA,QAAA,aC6FA,UAAA,KACK,OAAA,KACG,QAAA,IEvLR,YAAA,WACA,iBAAA,KACA,OAAA,IAAA,MAAA,KN+lCD,cAAA,IGjgCC,mBAAoB,IAAI,IAAI,YAC5B,cAAA,IAAA,IAAA,YHmgCD,WAAA,IAAA,IAAA,YG5/BC,YACA,cAAA,IAEA,GH+/BD,WAAA,KGv/BC,cAAe,KACf,OAAA,EACA,WAAA,IAAA,MAAA,KAEA,SACA,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EHy/BD,OAAA,KGj/BC,SAAA,OF0/BA,KAAM,cEx/BJ,OAAA,EAEA,0BACA,yBACA,SAAA,OACA,MAAA,KHm/BH,OAAA,KGx+BC,OAAQ,EACR,SAAA,QH0+BD,KAAA,KCSD,cACE,OAAQ,QAQV,IACA,IMlpCE,IACA,IACA,IACA,INwoCF,GACA,GACA,GACA,GACA,GACA,GDAC,YAAA,QOlpCC,YAAa,IN2pCb,YAAa,IACb,MAAO,QAoBT,WAZA,UAaA,WAZA,UM5pCI,WN6pCJ,UM5pCI,WN6pCJ,UM5pCI,WN6pCJ,UDMC,WCLD,UACA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SMppCE,YAAa,INwqCb,YAAa,EACb,MAAO,KAGT,IMxqCE,IAJF,IN2qCA,GAEA,GDLC,GCSC,WAAY,KACZ,cAAe,KASjB,WANA,UDCC,WCCD,UM5qCA,WN8qCA,UACA,UANA,SM5qCI,UN8qCJ,SM3qCA,UN6qCA,SAQE,UAAW,IAGb,IMprCE,IAJF,INurCA,GAEA,GDLC,GCSC,WAAY,KACZ,cAAe,KASjB,WANA,UDCC,WCCD,UMvrCA,WNyrCA,UACA,UANA,SMxrCI,UN0rCJ,SMtrCA,UNwrCA,SMxrCU,UAAA,IACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KAOR,IADF,GPssCC,UAAA,KCSD,EMzsCE,OAAA,EAAA,EAAA,KAEA,MPosCD,cAAA,KO/rCC,UAAW,KAwOX,YAAa,IA1OX,YAAA,IPssCH,yBO7rCC,MNssCE,UAAW,MMjsCf,OAAA,MAEE,UAAA,IAKF,MP0rCC,KO1rCsB,QAAA,KP6rCtB,iBAAA,QO5rCsB,WP+rCtB,WAAA,KO9rCsB,YPisCtB,WAAA,MOhsCsB,aPmsCtB,WAAA,OOlsCsB,cPqsCtB,WAAA,QOlsCsB,aPqsCtB,YAAA,OOpsCsB,gBPusCtB,eAAA,UOtsCsB,gBPysCtB,eAAA,UOrsCC,iBPwsCD,eAAA,WQ3yCC,YR8yCD,MAAA,KCSD,cOpzCI,MAAA,QAHF,qBDwGF,qBP6sCC,MAAA,QCSD,cO3zCI,MAAA,QAHF,qBD2GF,qBPitCC,MAAA,QCSD,WOl0CI,MAAA,QAHF,kBD8GF,kBPqtCC,MAAA,QCSD,cOz0CI,MAAA,QAHF,qBDiHF,qBPytCC,MAAA,QCSD,aOh1CI,MAAA,QDwHF,oBAHF,oBExHE,MAAA,QACA,YR01CA,MAAO,KQx1CL,iBAAA,QAHF,mBF8HF,mBP2tCC,iBAAA,QCSD,YQ/1CI,iBAAA,QAHF,mBFiIF,mBP+tCC,iBAAA,QCSD,SQt2CI,iBAAA,QAHF,gBFoIF,gBPmuCC,iBAAA,QCSD,YQ72CI,iBAAA,QAHF,mBFuIF,mBPuuCC,iBAAA,QCSD,WQp3CI,iBAAA,QF6IF,kBADF,kBAEE,iBAAA,QPsuCD,aO7tCC,eAAgB,INsuChB,OAAQ,KAAK,EAAE,KMpuCf,cAAA,IAAA,MAAA,KAFF,GPkuCC,GCSC,WAAY,EACZ,cAAe,KM9tCf,MP0tCD,MO3tCD,MAPI,MASF,cAAA,EAIF,eALE,aAAA,EACA,WAAA,KPkuCD,aO9tCC,aAAc,EAKZ,YAAA,KACA,WAAA,KP6tCH,gBOvtCC,QAAS,aACT,cAAA,IACA,aAAA,IAEF,GNguCE,WAAY,EM9tCZ,cAAA,KAGA,GADF,GP0tCC,YAAA,WOttCC,GPytCD,YAAA,IOnnCD,GAvFM,YAAA,EAEA,yBACA,kBGtNJ,MAAA,KACA,MAAA,MACA,SAAA,OVq6CC,MAAA,KO7nCC,WAAY,MAhFV,cAAA,SPgtCH,YAAA,OOtsCD,kBNgtCE,YAAa,OM1sCjB,0BPssCC,YOrsCC,OAAA,KA9IqB,cAAA,IAAA,OAAA,KAmJvB,YACE,UAAA,IACA,eAAA,UAEA,WPssCD,QAAA,KAAA,KOjsCG,OAAA,EAAA,EAAA,KN0sCF,UAAW,OACX,YAAa,IAAI,MAAM,KMptCzB,yBP+sCC,wBO/sCD,yBNytCE,cAAe,EMnsCb,kBAFA,kBACA,iBPksCH,QAAA,MO/rCG,UAAA,INwsCF,YAAa,WACb,MAAO,KMhsCT,yBP2rCC,yBO3rCD,wBAEE,QAAA,cAEA,oBACA,sBACA,cAAA,KP6rCD,aAAA,EOvrCG,WAAA,MNgsCF,aAAc,IAAI,MAAM,KACxB,YAAa,EMhsCX,kCNksCJ,kCMnsCe,iCACX,oCNmsCJ,oCDLC,mCCUC,QAAS,GMjsCX,iCNmsCA,iCMzsCM,gCAOJ,mCNmsCF,mCDLC,kCO7rCC,QAAA,cPksCD,QWv+CC,cAAe,KVg/Cf,WAAY,OACZ,YAAa,WU7+Cb,KXy+CD,IWr+CD,IACE,KACA,YAAA,MAAA,OAAA,SAAA,cAAA,UAEA,KACA,QAAA,IAAA,IXu+CD,UAAA,IWn+CC,MAAO,QACP,iBAAA,QACA,cAAA,IAEA,IACA,QAAA,IAAA,IACA,UAAA,IV4+CA,MU5+CA,KXq+CD,iBAAA,KW3+CC,cAAe,IASb,mBAAA,MAAA,EAAA,KAAA,EAAA,gBACA,WAAA,MAAA,EAAA,KAAA,EAAA,gBAEA,QV6+CF,QU7+CE,EXq+CH,UAAA,KWh+CC,YAAa,IACb,mBAAA,KACA,WAAA,KAEA,IACA,QAAA,MACA,QAAA,MACA,OAAA,EAAA,EAAA,KACA,UAAA,KACA,YAAA,WACA,MAAA,KACA,WAAA,UXk+CD,UAAA,WW7+CC,iBAAkB,QAehB,OAAA,IAAA,MAAA,KACA,cAAA,IAEA,SACA,QAAA,EACA,UAAA,QXi+CH,MAAA,QW59CC,YAAa,SACb,iBAAA,YACA,cAAA,EC1DF,gBCHE,WAAA,MACA,WAAA,OAEA,Wb8hDD,cAAA,KYxhDC,aAAA,KAqEA,aAAc,KAvEZ,YAAA,KZ+hDH,yBY1hDC,WAkEE,MAAO,OZ69CV,yBY5hDC,WA+DE,MAAO,OZk+CV,0BYzhDC,WCvBA,MAAA,QAGA,iBbmjDD,cAAA,KYthDC,aAAc,KCvBd,aAAA,KACA,YAAA,KCAE,KACE,aAAA,MAEA,YAAA,MAGA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UdgjDL,SAAA,SchiDG,WAAA,IACE,cAAA,KdkiDL,aAAA,Kc1hDG,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Ud6hDH,MAAA,Kc7hDG,WdgiDH,MAAA,KchiDG,WdmiDH,MAAA,acniDG,WdsiDH,MAAA,actiDG,UdyiDH,MAAA,IcziDG,Ud4iDH,MAAA,ac5iDG,Ud+iDH,MAAA,ac/iDG,UdkjDH,MAAA,IcljDG,UdqjDH,MAAA,acrjDG,UdwjDH,MAAA,acxjDG,Ud2jDH,MAAA,Ic3jDG,Ud8jDH,MAAA,ac/iDG,UdkjDH,MAAA,YcljDG,gBdqjDH,MAAA,KcrjDG,gBdwjDH,MAAA,acxjDG,gBd2jDH,MAAA,ac3jDG,ed8jDH,MAAA,Ic9jDG,edikDH,MAAA,acjkDG,edokDH,MAAA,acpkDG,edukDH,MAAA,IcvkDG,ed0kDH,MAAA,ac1kDG,ed6kDH,MAAA,ac7kDG,edglDH,MAAA,IchlDG,edmlDH,MAAA,ac9kDG,edilDH,MAAA,YchmDG,edmmDH,MAAA,KcnmDG,gBdsmDH,KAAA,KctmDG,gBdymDH,KAAA,aczmDG,gBd4mDH,KAAA,ac5mDG,ed+mDH,KAAA,Ic/mDG,edknDH,KAAA,aclnDG,edqnDH,KAAA,acrnDG,edwnDH,KAAA,IcxnDG,ed2nDH,KAAA,ac3nDG,ed8nDH,KAAA,ac9nDG,edioDH,KAAA,IcjoDG,edooDH,KAAA,ac/nDG,edkoDH,KAAA,YcnnDG,edsnDH,KAAA,KctnDG,kBdynDH,YAAA,KcznDG,kBd4nDH,YAAA,ac5nDG,kBd+nDH,YAAA,ac/nDG,iBdkoDH,YAAA,IcloDG,iBdqoDH,YAAA,acroDG,iBdwoDH,YAAA,acxoDG,iBd2oDH,YAAA,Ic3oDG,iBd8oDH,YAAA,ac9oDG,iBdipDH,YAAA,acjpDG,iBdopDH,YAAA,IcppDG,iBdupDH,YAAA,acvpDG,iBd0pDH,YAAA,Yc5rDG,iBACE,YAAA,EAOJ,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Ud0rDD,MAAA,Kc1rDC,Wd6rDD,MAAA,Kc7rDC,WdgsDD,MAAA,achsDC,WdmsDD,MAAA,acnsDC,UdssDD,MAAA,IctsDC,UdysDD,MAAA,aczsDC,Ud4sDD,MAAA,ac5sDC,Ud+sDD,MAAA,Ic/sDC,UdktDD,MAAA,acltDC,UdqtDD,MAAA,acrtDC,UdwtDD,MAAA,IcxtDC,Ud2tDD,MAAA,ac5sDC,Ud+sDD,MAAA,Yc/sDC,gBdktDD,MAAA,KcltDC,gBdqtDD,MAAA,acrtDC,gBdwtDD,MAAA,acxtDC,ed2tDD,MAAA,Ic3tDC,ed8tDD,MAAA,ac9tDC,ediuDD,MAAA,acjuDC,edouDD,MAAA,IcpuDC,eduuDD,MAAA,acvuDC,ed0uDD,MAAA,ac1uDC,ed6uDD,MAAA,Ic7uDC,edgvDD,MAAA,ac3uDC,ed8uDD,MAAA,Yc7vDC,edgwDD,MAAA,KchwDC,gBdmwDD,KAAA,KcnwDC,gBdswDD,KAAA,actwDC,gBdywDD,KAAA,aczwDC,ed4wDD,KAAA,Ic5wDC,ed+wDD,KAAA,ac/wDC,edkxDD,KAAA,aclxDC,edqxDD,KAAA,IcrxDC,edwxDD,KAAA,acxxDC,ed2xDD,KAAA,ac3xDC,ed8xDD,KAAA,Ic9xDC,ediyDD,KAAA,ac5xDC,ed+xDD,KAAA,YchxDC,edmxDD,KAAA,KcnxDC,kBdsxDD,YAAA,KctxDC,kBdyxDD,YAAA,aczxDC,kBd4xDD,YAAA,ac5xDC,iBd+xDD,YAAA,Ic/xDC,iBdkyDD,YAAA,aclyDC,iBdqyDD,YAAA,acryDC,iBdwyDD,YAAA,IcxyDC,iBd2yDD,YAAA,ac3yDC,iBd8yDD,YAAA,ac9yDC,iBdizDD,YAAA,IcjzDC,iBdozDD,YAAA,acpzDC,iBduzDD,YAAA,YY9yDD,iBE3CE,YAAA,GAQF,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Udw1DD,MAAA,Kcx1DC,Wd21DD,MAAA,Kc31DC,Wd81DD,MAAA,ac91DC,Wdi2DD,MAAA,acj2DC,Udo2DD,MAAA,Icp2DC,Udu2DD,MAAA,acv2DC,Ud02DD,MAAA,ac12DC,Ud62DD,MAAA,Ic72DC,Udg3DD,MAAA,ach3DC,Udm3DD,MAAA,acn3DC,Uds3DD,MAAA,Ict3DC,Udy3DD,MAAA,ac12DC,Ud62DD,MAAA,Yc72DC,gBdg3DD,MAAA,Kch3DC,gBdm3DD,MAAA,acn3DC,gBds3DD,MAAA,act3DC,edy3DD,MAAA,Icz3DC,ed43DD,MAAA,ac53DC,ed+3DD,MAAA,ac/3DC,edk4DD,MAAA,Icl4DC,edq4DD,MAAA,acr4DC,edw4DD,MAAA,acx4DC,ed24DD,MAAA,Ic34DC,ed84DD,MAAA,acz4DC,ed44DD,MAAA,Yc35DC,ed85DD,MAAA,Kc95DC,gBdi6DD,KAAA,Kcj6DC,gBdo6DD,KAAA,acp6DC,gBdu6DD,KAAA,acv6DC,ed06DD,KAAA,Ic16DC,ed66DD,KAAA,ac76DC,edg7DD,KAAA,ach7DC,edm7DD,KAAA,Icn7DC,eds7DD,KAAA,act7DC,edy7DD,KAAA,acz7DC,ed47DD,KAAA,Ic57DC,ed+7DD,KAAA,ac17DC,ed67DD,KAAA,Yc96DC,edi7DD,KAAA,Kcj7DC,kBdo7DD,YAAA,Kcp7DC,kBdu7DD,YAAA,acv7DC,kBd07DD,YAAA,ac17DC,iBd67DD,YAAA,Ic77DC,iBdg8DD,YAAA,ach8DC,iBdm8DD,YAAA,acn8DC,iBds8DD,YAAA,Ict8DC,iBdy8DD,YAAA,acz8DC,iBd48DD,YAAA,ac58DC,iBd+8DD,YAAA,Ic/8DC,iBdk9DD,YAAA,acl9DC,iBdq9DD,YAAA,YYz8DD,iBE9CE,YAAA,GAQF,0BACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Uds/DD,MAAA,Kct/DC,Wdy/DD,MAAA,Kcz/DC,Wd4/DD,MAAA,ac5/DC,Wd+/DD,MAAA,ac//DC,UdkgED,MAAA,IclgEC,UdqgED,MAAA,acrgEC,UdwgED,MAAA,acxgEC,Ud2gED,MAAA,Ic3gEC,Ud8gED,MAAA,ac9gEC,UdihED,MAAA,acjhEC,UdohED,MAAA,IcphEC,UduhED,MAAA,acxgEC,Ud2gED,MAAA,Yc3gEC,gBd8gED,MAAA,Kc9gEC,gBdihED,MAAA,acjhEC,gBdohED,MAAA,acphEC,eduhED,MAAA,IcvhEC,ed0hED,MAAA,ac1hEC,ed6hED,MAAA,ac7hEC,edgiED,MAAA,IchiEC,edmiED,MAAA,acniEC,edsiED,MAAA,actiEC,edyiED,MAAA,IcziEC,ed4iED,MAAA,acviEC,ed0iED,MAAA,YczjEC,ed4jED,MAAA,Kc5jEC,gBd+jED,KAAA,Kc/jEC,gBdkkED,KAAA,aclkEC,gBdqkED,KAAA,acrkEC,edwkED,KAAA,IcxkEC,ed2kED,KAAA,ac3kEC,ed8kED,KAAA,ac9kEC,edilED,KAAA,IcjlEC,edolED,KAAA,acplEC,edulED,KAAA,acvlEC,ed0lED,KAAA,Ic1lEC,ed6lED,KAAA,acxlEC,ed2lED,KAAA,Yc5kEC,ed+kED,KAAA,Kc/kEC,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A,KlBq7FM,WAAY,KkBn7FhB,QAAA,IASN,eC3DE,yBACA,eAAA,KpBi+FD,aoB99FC,MAAA,KnB0+FA,iBAAkB,KmBx+FhB,aAAA,KpBk+FH,mBoBh+FO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBi+FH,mBoB99FC,MAAA,KnB0+FA,iBAAkB,QAClB,aAAc,QmBt+FR,oBADJ,oBpBi+FH,mCoB99FG,MAAA,KnB0+FF,iBAAkB,QAClB,aAAc,QmBt+FN,0BnB4+FV,0BAHA,0BmB1+FM,0BnB4+FN,0BAHA,0BDFC,yCoBx+FK,yCnB4+FN,yCmBv+FE,MAAA,KnB++FA,iBAAkB,QAClB,aAAc,QmBx+FZ,oBpBg+FH,oBoBh+FG,mCnB6+FF,iBAAkB,KmBz+FV,4BnB8+FV,4BAHA,4BDHC,6BCOD,6BAHA,6BkB39FA,sCClBM,sCnB8+FN,sCmBx+FI,iBAAA,KACA,aAAA,KDcJ,oBC9DE,MAAA,KACA,iBAAA,KpB0hGD,aoBvhGC,MAAA,KnBmiGA,iBAAkB,QmBjiGhB,aAAA,QpB2hGH,mBoBzhGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB0hGH,mBoBvhGC,MAAA,KnBmiGA,iBAAkB,QAClB,aAAc,QmB/hGR,oBADJ,oBpB0hGH,mCoBvhGG,MAAA,KnBmiGF,iBAAkB,QAClB,aAAc,QmB/hGN,0BnBqiGV,0BAHA,0BmBniGM,0BnBqiGN,0BAHA,0BDFC,yCoBjiGK,yCnBqiGN,yCmBhiGE,MAAA,KnBwiGA,iBAAkB,QAClB,aAAc,QmBjiGZ,oBpByhGH,oBoBzhGG,mCnBsiGF,iBAAkB,KmBliGV,4BnBuiGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBjhGA,sCCrBM,sCnBuiGN,sCmBjiGI,iBAAA,QACA,aAAA,QDkBJ,oBClEE,MAAA,QACA,iBAAA,KpBmlGD,aoBhlGC,MAAA,KnB4lGA,iBAAkB,QmB1lGhB,aAAA,QpBolGH,mBoBllGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBmlGH,mBoBhlGC,MAAA,KnB4lGA,iBAAkB,QAClB,aAAc,QmBxlGR,oBADJ,oBpBmlGH,mCoBhlGG,MAAA,KnB4lGF,iBAAkB,QAClB,aAAc,QmBxlGN,0BnB8lGV,0BAHA,0BmB5lGM,0BnB8lGN,0BAHA,0BDFC,yCoB1lGK,yCnB8lGN,yCmBzlGE,MAAA,KnBimGA,iBAAkB,QAClB,aAAc,QmB1lGZ,oBpBklGH,oBoBllGG,mCnB+lGF,iBAAkB,KmB3lGV,4BnBgmGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBtkGA,sCCzBM,sCnBgmGN,sCmB1lGI,iBAAA,QACA,aAAA,QDsBJ,oBCtEE,MAAA,QACA,iBAAA,KpB4oGD,UoBzoGC,MAAA,KnBqpGA,iBAAkB,QmBnpGhB,aAAA,QpB6oGH,gBoB3oGO,gBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB4oGH,gBoBzoGC,MAAA,KnBqpGA,iBAAkB,QAClB,aAAc,QmBjpGR,iBADJ,iBpB4oGH,gCoBzoGG,MAAA,KnBqpGF,iBAAkB,QAClB,aAAc,QmBjpGN,uBnBupGV,uBAHA,uBmBrpGM,uBnBupGN,uBAHA,uBDFC,sCoBnpGK,sCnBupGN,sCmBlpGE,MAAA,KnB0pGA,iBAAkB,QAClB,aAAc,QmBnpGZ,iBpB2oGH,iBoB3oGG,gCnBwpGF,iBAAkB,KmBppGV,yBnBypGV,yBAHA,yBDHC,0BCOD,0BAHA,0BkB3nGA,mCC7BM,mCnBypGN,mCmBnpGI,iBAAA,QACA,aAAA,QD0BJ,iBC1EE,MAAA,QACA,iBAAA,KpBqsGD,aoBlsGC,MAAA,KnB8sGA,iBAAkB,QmB5sGhB,aAAA,QpBssGH,mBoBpsGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBqsGH,mBoBlsGC,MAAA,KnB8sGA,iBAAkB,QAClB,aAAc,QmB1sGR,oBADJ,oBpBqsGH,mCoBlsGG,MAAA,KnB8sGF,iBAAkB,QAClB,aAAc,QmB1sGN,0BnBgtGV,0BAHA,0BmB9sGM,0BnBgtGN,0BAHA,0BDFC,yCoB5sGK,yCnBgtGN,yCmB3sGE,MAAA,KnBmtGA,iBAAkB,QAClB,aAAc,QmB5sGZ,oBpBosGH,oBoBpsGG,mCnBitGF,iBAAkB,KmB7sGV,4BnBktGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBhrGA,sCCjC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A,QkDrxKC,WAAY,IAAI,MAAM,KjDizKtB,2BAA4B,IiD9yK1B,0BAAA,IAHJ,mBAAA,mCAMM,cAAA,ElDwxKL,oCkDnxKG,oDjD+yKF,aAAc,IAAI,EiD7yKZ,cAAA,EvBtEL,4D3B61KF,4EkDjxKG,WAAA,EjD6yKF,uBAAwB,IiD3yKlB,wBAAA,IvBtEL,0D3B21KF,0EkD1yKC,cAAe,EvB1Df,2BAAA,IACC,0BAAA,IuB0FH,+EAEI,uBAAA,ElD8wKH,wBAAA,EkD1wKC,wDlD6wKD,iBAAA,EC4BD,0BACE,iBAAkB,EiDlyKpB,8BlD0wKC,ckD1wKD,gCjDuyKE,cAAe,EiDvyKjB,sCAQM,sBlDwwKL,wCC4BC,cAAe,K0Br5Kf,aAAA,KuByGF,wDlDqxKC,0BC4BC,uBAAwB,IACxB,wBAAyB,IiDlzK3B,yFAoBQ,yFlDwwKP,2DkDzwKO,2DjDqyKN,uBAAwB,IACxB,wBAAyB,IAK3B,wGiD9zKA,wGjD4zKA,wGDtBC,wGCuBD,0EiD7zKA,0EjD2zKA,0EiDnyKU,0EjD2yKR,uBAAwB,IAK1B,uGiDx0KA,uGjDs0KA,uGDtBC,uGCuBD,yEiDv0KA,yEjDq0KA,yEiDzyKU,yEvB7HR,wBAAA,IuBiGF,sDlDqzKC,yBC4BC,2BAA4B,IAC5B,0BAA2B,IiDxyKrB,qFA1CR,qFAyCQ,wDlDmxKP,wDC4BC,2BAA4B,IAC5B,0BAA2B,IAG7B,oGDtBC,oGCwBD,oGiD91KA,oGjD21KA,uEiD7yKU,uEjD+yKV,uEiD71KA,uEjDm2KE,0BAA2B,IAG7B,mGDtBC,mGCwBD,mGiDx2KA,mGjDq2KA,sEiDnzKU,sEjDqzKV,sEiDv2KA,sEjD62KE,2BAA4B,IiDlzK1B,0BlD2xKH,qCkDt1KD,0BAAA,qCA+DI,WAAA,IAAA,MAAA,KA/DJ,kDAAA,kDAmEI,WAAA,EAnEJ,uBAAA,yCjD23KE,OAAQ,EiDjzKA,+CjDqzKV,+CiD/3KA,+CjDi4KA,+CAEA,+CANA,+CDjBC,iECoBD,iEiDh4KA,iEjDk4KA,iEAEA,iEANA,iEAWE,YAAa,EiD3zKL,8CjD+zKV,8CiD74KA,8CjD+4KA,8CAEA,8CANA,8CDjBC,gECo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Dk2MD,kBACF,QAAA,iB+D91MG,yB/Dk2MD,mBACF,QAAA,kBgEh6MC,yBhEo6MC,yBgEn6MD,QAAA,wBACA,+CAAU,YhEw6MT,QAAA,gBC4BD,iB+Dl8MU,QAAA,gBhE26MX,c+Dr2MG,QAAS,oB/Dy2MV,c+D32MC,c/D42MH,QAAA,sB+Dv2MG,+C/D22MD,kBACF,QAAA,iB+Dv2MG,+C/D22MD,mBACF,QAAA,kBgE97MC,+ChEk8MC,yBgEj8MD,QAAA,wBACA,gDAAU,YhEs8MT,QAAA,gBC4BD,iB+Dh+MU,QAAA,gBhEy8MX,c+D92MG,QAAS,oB/Dk3MV,c+Dp3MC,c/Dq3MH,QAAA,sB+Dh3MG,gD/Do3MD,kBACF,QAAA,iB+Dh3MG,gD/Do3MD,mBACF,QAAA,kBgE59MC,gDhEg+MC,yBgE/9MD,QAAA,wBACA,0BAAU,YhEo+MT,QAAA,gBC4BD,iB+D9/MU,QAAA,gBhEu+MX,c+Dv3MG,QAAS,oB/D23MV,c+D73MC,c/D83MH,QAAA,sB+Dz3MG,0B/D63MD,kBACF,QAAA,iB+Dz3MG,0B/D63MD,mBACF,QAAA,kBgEl/MC,0BhEs/MC,yBACF,QAAA,wBgEv/MC,yBhE2/MC,WACF,QAAA,gBgE5/MC,+ChEggNC,WACF,QAAA,gBgEjgNC,gDhEqgNC,WACF,QAAA,gBAGA,0B+Dh3MC,WA4BE,QAAS,gBC5LX,eAAU,QAAA,eACV,aAAU,ehEyhNT,QAAA,gBC4BD,oB+DnjNU,QAAA,gBhE4hNX,iB+D93MG,QAAS,oBAMX,iB/D23MD,iB+Dt2MG,QAAS,sB/D22MZ,qB+D/3MC,QAAS,e/Dk4MV,a+D53MC,qBAcE,QAAS,iB/Dm3MZ,sB+Dh4MC,QAAS,e/Dm4MV,a+D73MC,sBAOE,QAAS,kB/D23MZ,4B+D53MC,QAAS,eCpLT,ahEojNC,4BACF,QAAA,wBC6BD,aACE,cACE,QAAS","sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n 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');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.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 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.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 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .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 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .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 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .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 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n margin: .67em 0;\n font-size: 2em;\n}\nmark {\n color: #000;\n background: #ff0;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -.5em;\n}\nsub {\n bottom: -.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n height: 0;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0;\n font: inherit;\n color: inherit;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n padding: .35em .625em .75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\nlegend {\n padding: 0;\n border: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n\n src: url('../fonts/glyphicons-halflings-regular.eot');\n 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');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all .2s ease-in-out;\n -o-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: .2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n margin-left: -5px;\n list-style: none;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n overflow: hidden;\n clear: left;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.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 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.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 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .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 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 992px) {\n .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 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .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 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: .01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: normal;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity .15s linear;\n -o-transition: opacity .15s linear;\n transition: opacity .15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n -webkit-transition-duration: .35s;\n -o-transition-duration: .35s;\n transition-duration: .35s;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555;\n text-align: center;\n background-color: #eee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.nav > li.disabled > a {\n color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n -webkit-overflow-scrolling: touch;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-top: 8px;\n margin-right: 15px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-top: 8px;\n margin-right: -15px;\n margin-bottom: 8px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border .2s ease-in-out;\n -o-transition: border .2s ease-in-out;\n transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n float: left;\n width: 0;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n -webkit-transition: width .6s ease;\n -o-transition: width .6s ease;\n transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n 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);\n 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);\n 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);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n 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);\n 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);\n 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);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n 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);\n 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);\n 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);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n 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);\n 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);\n 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);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n 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);\n 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);\n 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);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: .2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: .5;\n}\nbutton.close {\n -webkit-appearance: none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transition: -webkit-transform .3s ease-out;\n -o-transition: -o-transform .3s ease-out;\n transition: transform .3s ease-out;\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n line-break: auto;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999;\n border-top-color: rgba(0, 0, 0, .25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999;\n border-right-color: rgba(0, 0, 0, .25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999;\n border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999;\n border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: .6s ease-in-out left;\n -o-transition: .6s ease-in-out left;\n transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform .6s ease-in-out;\n -o-transition: -o-transform .6s ease-in-out;\n transition: transform .6s ease-in-out;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n left: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n left: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n left: 0;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n filter: alpha(opacity=90);\n outline: 0;\n opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n//
Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on ``\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// 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\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n 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+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n 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+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n 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\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n 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\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on