From 67caa9e91f179d44eafc68cf3d9127b58e2288af Mon Sep 17 00:00:00 2001 From: William Gearty Date: Sun, 19 Jan 2025 12:44:30 -0500 Subject: [PATCH 1/8] Add new theme --- .../themes/theme_data/droplets/__init__.py | 0 .../themes/theme_data/droplets/config_form.py | 21 ++ .../theme_data/droplets/images/header.png | Bin 0 -> 41129 bytes .../theme_data/droplets/images/logo.png | Bin 0 -> 6166 bytes .../themes/theme_data/droplets/less/main.less | 207 ++++++++++++++++++ .../theme_data/droplets/less/variables.less | 7 + .../droplets/scripts/mit_usersearch.js | 91 ++++++++ .../theme_data/droplets/templates/index.html | 26 +++ .../theme_data/droplets/templates/main.html | 120 ++++++++++ .../droplets/templates/sidebar/admin.html | 35 +++ .../droplets/templates/sidebar/nav.html | 20 ++ .../templates/users/loginbox_content.html | 51 +++++ 12 files changed, 578 insertions(+) create mode 100644 esp/esp/themes/theme_data/droplets/__init__.py create mode 100644 esp/esp/themes/theme_data/droplets/config_form.py create mode 100644 esp/esp/themes/theme_data/droplets/images/header.png create mode 100644 esp/esp/themes/theme_data/droplets/images/logo.png create mode 100644 esp/esp/themes/theme_data/droplets/less/main.less create mode 100644 esp/esp/themes/theme_data/droplets/less/variables.less create mode 100644 esp/esp/themes/theme_data/droplets/scripts/mit_usersearch.js create mode 100644 esp/esp/themes/theme_data/droplets/templates/index.html create mode 100644 esp/esp/themes/theme_data/droplets/templates/main.html create mode 100644 esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html create mode 100644 esp/esp/themes/theme_data/droplets/templates/sidebar/nav.html create mode 100644 esp/esp/themes/theme_data/droplets/templates/users/loginbox_content.html diff --git a/esp/esp/themes/theme_data/droplets/__init__.py b/esp/esp/themes/theme_data/droplets/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/esp/esp/themes/theme_data/droplets/config_form.py b/esp/esp/themes/theme_data/droplets/config_form.py new file mode 100644 index 0000000000..56089179f9 --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/config_form.py @@ -0,0 +1,21 @@ +from __future__ import absolute_import +from django import forms + +from esp.themes.forms import ThemeConfigurationForm +from esp.utils.widgets import NavStructureWidgetWithIcons, ContactFieldsWidget + +class ConfigForm(ThemeConfigurationForm): + titlebar_prefix = forms.CharField() + full_group_name = forms.CharField() + show_group_name = forms.BooleanField(required = False, help_text='Should the full group name be shown in the page header?') + show_email = forms.BooleanField(required = False, help_text='Should the group email address be shown in the page header?') + contact_info = forms.CharField(required = False, widget=forms.Textarea, + help_text='Generic text to include in the page header. Leave blank to omit this field in the header.') + contact_links = forms.Field(required = False, widget=ContactFieldsWidget, + label='Contact links below contact info (use absolute or relative URLs)', + initial=[{"text": "contact us", "link": "/contact.html"}]) + nav_structure = forms.Field(widget=NavStructureWidgetWithIcons) + facebook_link = forms.URLField(required=False, help_text='Leave blank to omit a Facebook link.') + # URLField requires an absolute URL, here we probably want relative. + faq_link = forms.CharField(required=False, initial='/faq.html', + help_text='Leave blank to omit an FAQ link.') diff --git a/esp/esp/themes/theme_data/droplets/images/header.png b/esp/esp/themes/theme_data/droplets/images/header.png new file mode 100644 index 0000000000000000000000000000000000000000..35499e13c7e1d119a032b4df68f9594b5cea0905 GIT binary patch literal 41129 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 literal 0 HcmV?d00001 diff --git a/esp/esp/themes/theme_data/droplets/images/logo.png b/esp/esp/themes/theme_data/droplets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2c8b69a5584c98a5bf75a01a4f29a21125c73ec6 GIT binary patch literal 6166 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 ul { + list-style: none; + } + input[type="text"], input[type="password"], textarea, select, label { + margin: 0; + padding: 0.3em 0.5em; + font-size: inherit; + line-height: normal; + vertical-align: text-bottom; + } + input[type="text"], input[type="password"], textarea, select { + box-sizing: border-box; + display: inline-block; + -webkit-appearance: none; + color: black; + background-color: #fdfdfd; + border: 1px solid @accent2; + &:focus { + border-color: @accent1; + outline: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + } + input[type="text"], input[type="password"] { + border-width: 1px 0px; + border-top: 1px solid #eee; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + line-height: 2.5em; + height: 2.5em; + } +} + + + +body { + background: @bodyBackground; + position: relative; + padding-top: 40px; + width: 100%; +} +.container { + margin: 0 auto; + width: calc(100% - 2rem); + padding-left: 1rem; + padding-right: 1rem; +} +body, .jumbotron { + box-sizing: border-box; +} +.header-cell { + display: inline-block; + vertical-align: bottom; +} + + +div.qsd_edit_visible textarea, textarea.wide { + font-family: monospace; + width: 100%; + box-sizing: border-box; +} +input, textarea, select, .uneditable-input { + vertical-align: baseline; +} + +.logged_in.nav.hidden { + display: none; + visibility: hidden; +} + +.btn:hover { + background-position: 0; +} + +.navbar .navbar-inner { + padding-left: 1rem; + padding-right: 1rem; + font-size: @navFontSize; +} + +@media (max-width: 979px) { + .navbar-fixed-top { + position: fixed; + margin-bottom: 20px; + } +} + +#adminbar_content .title { + padding: 3px 3px !important; +} + +.logo { + max-width: 300px; + max-height: 300px; + margin: 0; +} +.jumbotron { + margin-bottom: 30px; + position: relative; + padding: 50px 20px; + color: #fff; + text-shadow: 0 1px 3px rgba(0,0,0,.7), 0 0 30px rgba(0,0,0,.075); + background-size: cover; + background-position: center; + -webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2); + -moz-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2); + box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2); +} +.jumbotron-announcements { + font-size: 20px; + + p { + margin: 0 0 0.5em; + font-family: inherit; + font-size: 1em; + line-height: normal; + } +} + +.contact-form { + th, td { + padding: 4px 3px; + } + th { + vertical-align: top; + text-align: right; + white-space: nowrap; + label { + display: block; + } + } + td { + vertical-align: top; + } + #id_message { + width: 100% !important; + display: block; + } + #id_subject { + width: 100% !important; + } +} + +#user_search_form input { + box-sizing: border-box; + display: block; + height: auto; + margin: 0; + width: 100%; +} + +.form_error { + color: red; + display: inline-block; +} + +/* copied from fruitsalad, but with #main instead of #content. + TODO(benkraft): something less theme-specific for things like this. */ +#main form { + display: inline; + margin: 0; + padding: 0; +} +#reg_types_div { + font-size: 13px; +} diff --git a/esp/esp/themes/theme_data/droplets/less/variables.less b/esp/esp/themes/theme_data/droplets/less/variables.less new file mode 100644 index 0000000000..0f709e2433 --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/less/variables.less @@ -0,0 +1,7 @@ +@accent1: #FF8000; +@accent2: #1C1953; + +@navBackground: #fafafa; +@navFontColor: #333333; + +@navFontSize: 16px; \ No newline at end of file diff --git a/esp/esp/themes/theme_data/droplets/scripts/mit_usersearch.js b/esp/esp/themes/theme_data/droplets/scripts/mit_usersearch.js new file mode 100644 index 0000000000..ba7c01674a --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/scripts/mit_usersearch.js @@ -0,0 +1,91 @@ +ESP = (function(){ + var loaded = false; + var queued_modules = []; + var adminbar = document.getElementById('adminbar_content'); + + $j(document).ready(function() { + loaded = true; + for (var i = 0; i < queued_modules.length; i++) + { + ESP.registerAdminModule(queued_modules[i]); + } + }); + + return { + toggleDisplay: function(id) { + var el = document.getElementById(id); + if (el.style.display == "none") { + el.style.display = "block"; + } else { + el.style.display = "none"; + } + }, + registerAdminModule: function(module) { + if (loaded) { + var module_wrap = document.createElement("div"); + var module_class = "adminbar_" + module.name; + module_wrap.className = module_class; + module_wrap.innerHTML = + "
" + module.displayName + "
"; + var module_content = document.createElement("div"); + module_content.id = module_class+"_content"; + module_content.className = "content"; + if (module.content_html) { + module_content.innerHTML = module.content_html; + } else { + module_content.appendChild(document.getElementById(module.content_target)); + } + module_wrap.appendChild(module_content); + + adminbar.appendChild(module_wrap); + } else { + queued_modules.push(module); + } + } + }; +})(); + +// In Bootstrap 3, replace these with +// http://getbootstrap.com/components/#input-groups-buttons + +ESP.registerAdminModule({ +content_html: + '
' + + '
' + + '' + + '' + + '
' + + '
', + name: 'user_search', + displayName: 'User Search' +}); + +if (currentPrograms && currentPrograms.forEach) { + currentPrograms.forEach(function (currentProgram) { + if (currentProgram.class_search) { + ESP.registerAdminModule({ + content_html: + '
' + + '
' + + '' + + '' + + '
' + + '
', + name: 'class_search', + displayName: 'Class Search' + + ' (' + currentProgram.name + ')' + }); + ESP.registerAdminModule({ + content_html: ' Main Management Page
Program Dashboard
Main Onsite Page', + name: 'Manage', + displayName: 'Manage ' + currentProgram.name +}); + }; + }); +} + +ESP.registerAdminModule({ + content_html: ' Manage other programs
Manage static pages
Administration pages
Manage media files
Manage theme settings', + name: 'Links', + displayName: 'Links' +}); diff --git a/esp/esp/themes/theme_data/droplets/templates/index.html b/esp/esp/themes/theme_data/droplets/templates/index.html new file mode 100644 index 0000000000..e34486a291 --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/templates/index.html @@ -0,0 +1,26 @@ +{% extends "main.html" %} + +{% block title %}Welcome{% endblock %} + +{% block content %} + +{% load render_qsd %} + +{% inline_qsd_block "homepage_qsdpart" %} +
+
+

Learn

+

Edit this page to serve as a starting point for your students.

+
+
+

Teach

+

Edit this page to serve as a starting point for your teachers.

+
+
+

Volunteer

+

Edit this page to serve as a starting point for your volunteers.

+
+
+{% end_inline_qsd_block %} + +{% endblock content %} diff --git a/esp/esp/themes/theme_data/droplets/templates/main.html b/esp/esp/themes/theme_data/droplets/templates/main.html new file mode 100644 index 0000000000..b61e818b22 --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/templates/main.html @@ -0,0 +1,120 @@ +{% extends "elements/html" %} + +{% block fulltitle %}{{ theme.titlebar_prefix }} - {% block title %}Home{% endblock %}{% endblock %} + +{% block stylesheets %} +{{ block.super }} + +{% endblock stylesheets %} + +{% block body %} + +{% block navbar %} + +{% endblock navbar%} + +{% block heading %} +
+
+
+ + + +
+ {% if theme.show_group_name %} + {{ theme.full_group_name }}
+ {% endif %} + {% if theme.contact_info %} + {{ theme.contact_info|linebreaksbr }}
+ {% endif %} + {% if theme.show_email %} + Email: {{ settings.DEFAULT_EMAIL_ADDRESSES.default }}
+ {% endif %} + {% if theme.contact_links %} + + {% for link in theme.contact_links %} + {{ link.text }} + {% if forloop.counter|divisibleby:3 %}
+ {% elif not forloop.last %} | {% endif %} + {% endfor %} +

+ {% endif %} + {% if theme.faq_link or theme.facebook_link %} + + {% if theme.faq_link %} + FAQ + {% endif %} + {% if theme.faq_link and theme.facebook_link %} | {% endif %} + {% if theme.facebook_link %} + facebook + {% endif %} +
+ {% endif %} + Privacy Policy +
+
+
+ {% load render_qsd %} + {% inline_qsd_block "jumbotron" %} + {% end_inline_qsd_block %} +
+
+
+{% endblock %} + +{% block main %} + +
+
+ {% if request.mod_required %} +
+ + This page is required for {% if request.tl == "teach" %}teacher{% elif request.tl == "learn" %}student{% elif request.tl == "volunteer" %}volunteer{% endif %} registration. You must complete it to proceed. +
+ {% endif %} + {% if request.show_perm_info %} +
+ + Permission/deadline required to view this page: {{ request.perm_names|join:", " }} +
+ {% if request.roles_with_perm %} + Roles with permission to view this page: {{ request.roles_with_perm|join:", " }} + {% else %} + No (non-admin) roles have permission to view this page! + {% endif %} +
+ {% endif %} + {% block content %} + {% endblock content %} +
+
+ +
+
+ +{% endblock main %} + +{% endblock body %} diff --git a/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html b/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html new file mode 100644 index 0000000000..6c75b0158f --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html @@ -0,0 +1,35 @@ + diff --git a/esp/esp/themes/theme_data/droplets/templates/sidebar/nav.html b/esp/esp/themes/theme_data/droplets/templates/sidebar/nav.html new file mode 100644 index 0000000000..2b5209d51a --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/templates/sidebar/nav.html @@ -0,0 +1,20 @@ +{% for category in theme.nav_structure %} + +{% endfor %} diff --git a/esp/esp/themes/theme_data/droplets/templates/users/loginbox_content.html b/esp/esp/themes/theme_data/droplets/templates/users/loginbox_content.html new file mode 100644 index 0000000000..4a0bab69f8 --- /dev/null +++ b/esp/esp/themes/theme_data/droplets/templates/users/loginbox_content.html @@ -0,0 +1,51 @@ +{% if login_result %} + +{% endif %} + + + + + + + \ No newline at end of file From 9946f66670bba034da0554c159b09d5dfcc223b9 Mon Sep 17 00:00:00 2001 From: William Gearty Date: Sun, 19 Jan 2025 12:46:36 -0500 Subject: [PATCH 2/8] Make theme responsive (and other themes, too, I guess?) --- esp/esp/themes/controllers.py | 1 + esp/templates/elements/html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/esp/esp/themes/controllers.py b/esp/esp/themes/controllers.py index a2e301780d..1bbee09a5c 100644 --- a/esp/esp/themes/controllers.py +++ b/esp/esp/themes/controllers.py @@ -188,6 +188,7 @@ def get_less_names(self, theme_name, theme_only=False): if not theme_only: result += self.global_less() result.append(os.path.join(themes_settings.less_dir, 'bootstrap.less')) + result.append(os.path.join(themes_settings.less_dir, 'responsive.less')) result.append(os.path.join(themes_settings.less_dir, 'variables_custom.less')) result.append(os.path.join(themes_settings.less_dir, 'main.less')) diff --git a/esp/templates/elements/html b/esp/templates/elements/html index ce181bc8d4..7855ff20ba 100644 --- a/esp/templates/elements/html +++ b/esp/templates/elements/html @@ -9,13 +9,13 @@ + {% endblock meta %} {% block stylesheets %} - From ecad538ff6ddc5570b3456ebf85ccc32a5c730ec Mon Sep 17 00:00:00 2001 From: William Gearty Date: Sun, 19 Jan 2025 12:46:50 -0500 Subject: [PATCH 3/8] Remove unneeded file --- .../theme_editor/less/bootstrap-test.css | 4176 ----------------- 1 file changed, 4176 deletions(-) delete mode 100644 esp/public/media/theme_editor/less/bootstrap-test.css diff --git a/esp/public/media/theme_editor/less/bootstrap-test.css b/esp/public/media/theme_editor/less/bootstrap-test.css deleted file mode 100644 index 8f4f4e072f..0000000000 --- a/esp/public/media/theme_editor/less/bootstrap-test.css +++ /dev/null @@ -1,4176 +0,0 @@ -/*! - * Bootstrap v2.0.3 - * - * Copyright 2012 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world @twitter by @mdo and @fat. - */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section { - display: block; -} -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} -audio:not([controls]) { - display: none; -} -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -a:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -a:hover, -a:active { - outline: 0; -} -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -img { - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; -} -button, -input, -select, -textarea { - margin: 0; - font-size: 100%; - vertical-align: middle; -} -button, -input { - *overflow: visible; - line-height: normal; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} -button, -input[type="button"], -input[type="reset"], -input[type="submit"] { - cursor: pointer; - -webkit-appearance: button; -} -input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} -textarea { - overflow: auto; - vertical-align: top; -} -.clearfix { - *zoom: 1; -} -.clearfix:before, -.clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} -.hide-text { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.input-block-level { - display: block; - width: 100%; - min-height: 28px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} -body { - margin: 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 13px; - line-height: 18px; - color: #333333; - background-color: #ffffff; -} -a { - color: #0088cc; - text-decoration: none; -} -a:hover { - color: #005580; - text-decoration: underline; -} -.row { - margin-left: -20px; - *zoom: 1; -} -.row:before, -.row:after { - display: table; - content: ""; -} -.row:after { - clear: both; -} -[class*="span"] { - float: left; - margin-left: 20px; -} -.container, -.navbar-fixed-top .container, -.navbar-fixed-bottom .container { - width: 940px; -} -.span12 { - width: 940px; -} -.span11 { - width: 860px; -} -.span10 { - width: 780px; -} -.span9 { - width: 700px; -} -.span8 { - width: 620px; -} -.span7 { - width: 540px; -} -.span6 { - width: 460px; -} -.span5 { - width: 380px; -} -.span4 { - width: 300px; -} -.span3 { - width: 220px; -} -.span2 { - width: 140px; -} -.span1 { - width: 60px; -} -.offset12 { - margin-left: 980px; -} -.offset11 { - margin-left: 900px; -} -.offset10 { - margin-left: 820px; -} -.offset9 { - margin-left: 740px; -} -.offset8 { - margin-left: 660px; -} -.offset7 { - margin-left: 580px; -} -.offset6 { - margin-left: 500px; -} -.offset5 { - margin-left: 420px; -} -.offset4 { - margin-left: 340px; -} -.offset3 { - margin-left: 260px; -} -.offset2 { - margin-left: 180px; -} -.offset1 { - margin-left: 100px; -} -.row-fluid { - width: 100%; - *zoom: 1; -} -.row-fluid:before, -.row-fluid:after { - display: table; - content: ""; -} -.row-fluid:after { - clear: both; -} -.row-fluid [class*="span"] { - display: block; - width: 100%; - min-height: 28px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - float: left; - margin-left: 2.127659574%; - *margin-left: 2.0744680846382977%; -} -.row-fluid [class*="span"]:first-child { - margin-left: 0; -} -.row-fluid .span12 { - width: 99.99999998999999%; - *width: 99.94680850063828%; -} -.row-fluid .span11 { - width: 91.489361693%; - *width: 91.4361702036383%; -} -.row-fluid .span10 { - width: 82.97872339599999%; - *width: 82.92553190663828%; -} -.row-fluid .span9 { - width: 74.468085099%; - *width: 74.4148936096383%; -} -.row-fluid .span8 { - width: 65.95744680199999%; - *width: 65.90425531263828%; -} -.row-fluid .span7 { - width: 57.446808505%; - *width: 57.3936170156383%; -} -.row-fluid .span6 { - width: 48.93617020799999%; - *width: 48.88297871863829%; -} -.row-fluid .span5 { - width: 40.425531911%; - *width: 40.3723404216383%; -} -.row-fluid .span4 { - width: 31.914893614%; - *width: 31.8617021246383%; -} -.row-fluid .span3 { - width: 23.404255317%; - *width: 23.3510638276383%; -} -.row-fluid .span2 { - width: 14.89361702%; - *width: 14.8404255306383%; -} -.row-fluid .span1 { - width: 6.382978723%; - *width: 6.329787233638298%; -} -.container { - margin-right: auto; - margin-left: auto; - *zoom: 1; -} -.container:before, -.container:after { - display: table; - content: ""; -} -.container:after { - clear: both; -} -.container-fluid { - padding-right: 20px; - padding-left: 20px; - *zoom: 1; -} -.container-fluid:before, -.container-fluid:after { - display: table; - content: ""; -} -.container-fluid:after { - clear: both; -} -p { - margin: 0 0 9px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 13px; - line-height: 18px; -} -p small { - font-size: 11px; - color: #999999; -} -.lead { - margin-bottom: 18px; - font-size: 20px; - font-weight: 200; - line-height: 27px; -} -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 0; - font-family: inherit; - font-weight: bold; - color: inherit; - text-rendering: optimizelegibility; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small { - font-weight: normal; - color: #999999; -} -h1 { - font-size: 30px; - line-height: 36px; -} -h1 small { - font-size: 18px; -} -h2 { - font-size: 24px; - line-height: 36px; -} -h2 small { - font-size: 18px; -} -h3 { - font-size: 18px; - line-height: 27px; -} -h3 small { - font-size: 14px; -} -h4, -h5, -h6 { - line-height: 18px; -} -h4 { - font-size: 14px; -} -h4 small { - font-size: 12px; -} -h5 { - font-size: 12px; -} -h6 { - font-size: 11px; - color: #999999; - text-transform: uppercase; -} -.page-header { - padding-bottom: 17px; - margin: 18px 0; - border-bottom: 1px solid #eeeeee; -} -.page-header h1 { - line-height: 1; -} -ul, -ol { - padding: 0; - margin: 0 0 9px 25px; -} -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; -} -ul { - list-style: disc; -} -ol { - list-style: decimal; -} -li { - line-height: 18px; -} -ul.unstyled, -ol.unstyled { - margin-left: 0; - list-style: none; -} -dl { - margin-bottom: 18px; -} -dt, -dd { - line-height: 18px; -} -dt { - font-weight: bold; - line-height: 17px; -} -dd { - margin-left: 9px; -} -.dl-horizontal dt { - float: left; - width: 120px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.dl-horizontal dd { - margin-left: 130px; -} -hr { - margin: 18px 0; - border: 0; - border-top: 1px solid #eeeeee; - border-bottom: 1px solid #ffffff; -} -strong { - font-weight: bold; -} -em { - font-style: italic; -} -.muted { - color: #999999; -} -abbr[title] { - cursor: help; - border-bottom: 1px dotted #ddd; -} -abbr.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 0 0 0 15px; - margin: 0 0 18px; - border-left: 5px solid #eeeeee; -} -blockquote p { - margin-bottom: 0; - font-size: 16px; - font-weight: 300; - line-height: 22.5px; -} -blockquote small { - display: block; - line-height: 18px; - color: #999999; -} -blockquote small:before { - content: '\2014 \00A0'; -} -blockquote.pull-right { - float: right; - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; -} -blockquote.pull-right p, -blockquote.pull-right small { - text-align: right; -} -q:before, -q:after, -blockquote:before, -blockquote:after { - content: ""; -} -address { - display: block; - margin-bottom: 18px; - font-style: normal; - line-height: 18px; -} -small { - font-size: 100%; -} -cite { - font-style: normal; -} -code, -pre { - padding: 0 3px 2px; - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 12px; - color: #333333; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -code { - padding: 2px 4px; - color: #d14; - background-color: #f7f7f9; - border: 1px solid #e1e1e8; -} -pre { - display: block; - padding: 8.5px; - margin: 0 0 9px; - font-size: 12.025px; - line-height: 18px; - word-break: break-all; - word-wrap: break-word; - white-space: pre; - white-space: pre-wrap; - background-color: #f5f5f5; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.15); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -pre.prettyprint { - margin-bottom: 18px; -} -pre code { - padding: 0; - color: inherit; - background-color: transparent; - border: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -form { - margin: 0 0 18px; -} -fieldset { - padding: 0; - margin: 0; - border: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 27px; - font-size: 19.5px; - line-height: 36px; - color: #333333; - border: 0; - border-bottom: 1px solid #eee; -} -legend small { - font-size: 13.5px; - color: #999999; -} -label, -input, -button, -select, -textarea { - font-size: 13px; - font-weight: normal; - line-height: 18px; -} -input, -button, -select, -textarea { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -} -label { - display: block; - margin-bottom: 5px; - color: #333333; -} -input, -textarea, -select, -.uneditable-input { - display: inline-block; - width: 210px; - height: 18px; - padding: 4px; - margin-bottom: 9px; - font-size: 13px; - line-height: 18px; - color: #555555; - background-color: #ffffff; - border: 1px solid #cccccc; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.uneditable-textarea { - width: auto; - height: auto; -} -label input, -label textarea, -label select { - display: block; -} -input[type="image"], -input[type="checkbox"], -input[type="radio"] { - width: auto; - height: auto; - padding: 0; - margin: 3px 0; - *margin-top: 0; - /* IE7 */ - - line-height: normal; - cursor: pointer; - background-color: transparent; - border: 0 \9; - /* IE9 and down */ - - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -input[type="image"] { - border: 0; -} -input[type="file"] { - width: auto; - padding: initial; - line-height: initial; - background-color: #ffffff; - background-color: initial; - border: initial; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -input[type="button"], -input[type="reset"], -input[type="submit"] { - width: auto; - height: auto; -} -select, -input[type="file"] { - height: 28px; - /* In IE7, the height of the select element cannot be changed by height, only font-size */ - - *margin-top: 4px; - /* For IE7, add top margin to align select with labels */ - - line-height: 28px; -} -input[type="file"] { - line-height: 18px \9; -} -select { - width: 220px; - background-color: #ffffff; -} -select[multiple], -select[size] { - height: auto; -} -input[type="image"] { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea { - height: auto; -} -input[type="hidden"] { - display: none; -} -.radio, -.checkbox { - min-height: 18px; - padding-left: 18px; -} -.radio input[type="radio"], -.checkbox input[type="checkbox"] { - float: left; - margin-left: -18px; -} -.controls > .radio:first-child, -.controls > .checkbox:first-child { - padding-top: 5px; -} -.radio.inline, -.checkbox.inline { - display: inline-block; - padding-top: 5px; - margin-bottom: 0; - vertical-align: middle; -} -.radio.inline + .radio.inline, -.checkbox.inline + .checkbox.inline { - margin-left: 10px; -} -input, -textarea { - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; - -moz-transition: border linear 0.2s, box-shadow linear 0.2s; - -ms-transition: border linear 0.2s, box-shadow linear 0.2s; - -o-transition: border linear 0.2s, box-shadow linear 0.2s; - transition: border linear 0.2s, box-shadow linear 0.2s; -} -input:focus, -textarea:focus { - border-color: rgba(82, 168, 236, 0.8); - outline: 0; - outline: thin dotted \9; - /* IE6-9 */ - - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); - -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus, -select:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.input-mini { - width: 60px; -} -.input-small { - width: 90px; -} -.input-medium { - width: 150px; -} -.input-large { - width: 210px; -} -.input-xlarge { - width: 270px; -} -.input-xxlarge { - width: 530px; -} -input[class*="span"], -select[class*="span"], -textarea[class*="span"], -.uneditable-input[class*="span"], -.row-fluid input[class*="span"], -.row-fluid select[class*="span"], -.row-fluid textarea[class*="span"], -.row-fluid .uneditable-input[class*="span"] { - float: none; - margin-left: 0; -} -input, -textarea, -.uneditable-input { - margin-left: 0; -} -input.span12, textarea.span12, .uneditable-input.span12 { - width: 930px; -} -input.span11, textarea.span11, .uneditable-input.span11 { - width: 850px; -} -input.span10, textarea.span10, .uneditable-input.span10 { - width: 770px; -} -input.span9, textarea.span9, .uneditable-input.span9 { - width: 690px; -} -input.span8, textarea.span8, .uneditable-input.span8 { - width: 610px; -} -input.span7, textarea.span7, .uneditable-input.span7 { - width: 530px; -} -input.span6, textarea.span6, .uneditable-input.span6 { - width: 450px; -} -input.span5, textarea.span5, .uneditable-input.span5 { - width: 370px; -} -input.span4, textarea.span4, .uneditable-input.span4 { - width: 290px; -} -input.span3, textarea.span3, .uneditable-input.span3 { - width: 210px; -} -input.span2, textarea.span2, .uneditable-input.span2 { - width: 130px; -} -input.span1, textarea.span1, .uneditable-input.span1 { - width: 50px; -} -input[disabled], -select[disabled], -textarea[disabled], -input[readonly], -select[readonly], -textarea[readonly] { - cursor: not-allowed; - background-color: #eeeeee; - border-color: #ddd; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"][readonly], -input[type="checkbox"][readonly] { - background-color: transparent; -} -.control-group.warning > label, -.control-group.warning .help-block, -.control-group.warning .help-inline { - color: #c09853; -} -.control-group.warning input, -.control-group.warning select, -.control-group.warning textarea { - color: #c09853; - border-color: #c09853; -} -.control-group.warning input:focus, -.control-group.warning select:focus, -.control-group.warning textarea:focus { - border-color: #a47e3c; - -webkit-box-shadow: 0 0 6px #dbc59e; - -moz-box-shadow: 0 0 6px #dbc59e; - box-shadow: 0 0 6px #dbc59e; -} -.control-group.warning .input-prepend .add-on, -.control-group.warning .input-append .add-on { - color: #c09853; - background-color: #fcf8e3; - border-color: #c09853; -} -.control-group.error > label, -.control-group.error .help-block, -.control-group.error .help-inline { - color: #b94a48; -} -.control-group.error input, -.control-group.error select, -.control-group.error textarea { - color: #b94a48; - border-color: #b94a48; -} -.control-group.error input:focus, -.control-group.error select:focus, -.control-group.error textarea:focus { - border-color: #953b39; - -webkit-box-shadow: 0 0 6px #d59392; - -moz-box-shadow: 0 0 6px #d59392; - box-shadow: 0 0 6px #d59392; -} -.control-group.error .input-prepend .add-on, -.control-group.error .input-append .add-on { - color: #b94a48; - background-color: #f2dede; - border-color: #b94a48; -} -.control-group.success > label, -.control-group.success .help-block, -.control-group.success .help-inline { - color: #468847; -} -.control-group.success input, -.control-group.success select, -.control-group.success textarea { - color: #468847; - border-color: #468847; -} -.control-group.success input:focus, -.control-group.success select:focus, -.control-group.success textarea:focus { - border-color: #356635; - -webkit-box-shadow: 0 0 6px #7aba7b; - -moz-box-shadow: 0 0 6px #7aba7b; - box-shadow: 0 0 6px #7aba7b; -} -.control-group.success .input-prepend .add-on, -.control-group.success .input-append .add-on { - color: #468847; - background-color: #dff0d8; - border-color: #468847; -} -input:focus:required:invalid, -textarea:focus:required:invalid, -select:focus:required:invalid { - color: #b94a48; - border-color: #ee5f5b; -} -input:focus:required:invalid:focus, -textarea:focus:required:invalid:focus, -select:focus:required:invalid:focus { - border-color: #e9322d; - -webkit-box-shadow: 0 0 6px #f8b9b7; - -moz-box-shadow: 0 0 6px #f8b9b7; - box-shadow: 0 0 6px #f8b9b7; -} -.form-actions { - padding: 17px 20px 18px; - margin-top: 18px; - margin-bottom: 18px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - *zoom: 1; -} -.form-actions:before, -.form-actions:after { - display: table; - content: ""; -} -.form-actions:after { - clear: both; -} -.uneditable-input { - overflow: hidden; - white-space: nowrap; - cursor: not-allowed; - background-color: #ffffff; - border-color: #eee; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); -} -:-moz-placeholder { - color: #999999; -} -::-webkit-input-placeholder { - color: #999999; -} -.help-block, -.help-inline { - color: #555555; -} -.help-block { - display: block; - margin-bottom: 9px; -} -.help-inline { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; - vertical-align: middle; - padding-left: 5px; -} -.input-prepend, -.input-append { - margin-bottom: 5px; -} -.input-prepend input, -.input-append input, -.input-prepend select, -.input-append select, -.input-prepend .uneditable-input, -.input-append .uneditable-input { - position: relative; - margin-bottom: 0; - *margin-left: 0; - vertical-align: middle; - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} -.input-prepend input:focus, -.input-append input:focus, -.input-prepend select:focus, -.input-append select:focus, -.input-prepend .uneditable-input:focus, -.input-append .uneditable-input:focus { - z-index: 2; -} -.input-prepend .uneditable-input, -.input-append .uneditable-input { - border-left-color: #ccc; -} -.input-prepend .add-on, -.input-append .add-on { - display: inline-block; - width: auto; - height: 18px; - min-width: 16px; - padding: 4px 5px; - font-weight: normal; - line-height: 18px; - text-align: center; - text-shadow: 0 1px 0 #ffffff; - vertical-align: middle; - background-color: #eeeeee; - border: 1px solid #ccc; -} -.input-prepend .add-on, -.input-append .add-on, -.input-prepend .btn, -.input-append .btn { - margin-left: -1px; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.input-prepend .active, -.input-append .active { - background-color: #a9dba9; - border-color: #46a546; -} -.input-prepend .add-on, -.input-prepend .btn { - margin-right: -1px; -} -.input-prepend .add-on:first-child, -.input-prepend .btn:first-child { - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; -} -.input-append input, -.input-append select, -.input-append .uneditable-input { - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; -} -.input-append .uneditable-input { - border-right-color: #ccc; - border-left-color: #eee; -} -.input-append .add-on:last-child, -.input-append .btn:last-child { - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} -.input-prepend.input-append input, -.input-prepend.input-append select, -.input-prepend.input-append .uneditable-input { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.input-prepend.input-append .add-on:first-child, -.input-prepend.input-append .btn:first-child { - margin-right: -1px; - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; -} -.input-prepend.input-append .add-on:last-child, -.input-prepend.input-append .btn:last-child { - margin-left: -1px; - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} -.search-query { - padding-right: 14px; - padding-right: 4px \9; - padding-left: 14px; - padding-left: 4px \9; - /* IE7-8 doesn't have border-radius, so don't indent the padding */ - - margin-bottom: 0; - -webkit-border-radius: 14px; - -moz-border-radius: 14px; - border-radius: 14px; -} -.form-search input, -.form-inline input, -.form-horizontal input, -.form-search textarea, -.form-inline textarea, -.form-horizontal textarea, -.form-search select, -.form-inline select, -.form-horizontal select, -.form-search .help-inline, -.form-inline .help-inline, -.form-horizontal .help-inline, -.form-search .uneditable-input, -.form-inline .uneditable-input, -.form-horizontal .uneditable-input, -.form-search .input-prepend, -.form-inline .input-prepend, -.form-horizontal .input-prepend, -.form-search .input-append, -.form-inline .input-append, -.form-horizontal .input-append { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; - margin-bottom: 0; -} -.form-search .hide, -.form-inline .hide, -.form-horizontal .hide { - display: none; -} -.form-search label, -.form-inline label { - display: inline-block; -} -.form-search .input-append, -.form-inline .input-append, -.form-search .input-prepend, -.form-inline .input-prepend { - margin-bottom: 0; -} -.form-search .radio, -.form-search .checkbox, -.form-inline .radio, -.form-inline .checkbox { - padding-left: 0; - margin-bottom: 0; - vertical-align: middle; -} -.form-search .radio input[type="radio"], -.form-search .checkbox input[type="checkbox"], -.form-inline .radio input[type="radio"], -.form-inline .checkbox input[type="checkbox"] { - float: left; - margin-right: 3px; - margin-left: 0; -} -.control-group { - margin-bottom: 9px; -} -legend + .control-group { - margin-top: 18px; - -webkit-margin-top-collapse: separate; -} -.form-horizontal .control-group { - margin-bottom: 18px; - *zoom: 1; -} -.form-horizontal .control-group:before, -.form-horizontal .control-group:after { - display: table; - content: ""; -} -.form-horizontal .control-group:after { - clear: both; -} -.form-horizontal .control-label { - float: left; - width: 140px; - padding-top: 5px; - text-align: right; -} -.form-horizontal .controls { - *display: inline-block; - *padding-left: 20px; - margin-left: 160px; - *margin-left: 0; -} -.form-horizontal .controls:first-child { - *padding-left: 160px; -} -.form-horizontal .help-block { - margin-top: 9px; - margin-bottom: 0; -} -.form-horizontal .form-actions { - padding-left: 160px; -} -table { - max-width: 100%; - background-color: transparent; - border-collapse: collapse; - border-spacing: 0; -} -.table { - width: 100%; - margin-bottom: 18px; -} -.table th, -.table td { - padding: 8px; - line-height: 18px; - text-align: left; - vertical-align: top; - border-top: 1px solid #dddddd; -} -.table th { - font-weight: bold; -} -.table thead th { - vertical-align: bottom; -} -.table caption + thead tr:first-child th, -.table caption + thead tr:first-child td, -.table colgroup + thead tr:first-child th, -.table colgroup + thead tr:first-child td, -.table thead:first-child tr:first-child th, -.table thead:first-child tr:first-child td { - border-top: 0; -} -.table tbody + tbody { - border-top: 2px solid #dddddd; -} -.table-condensed th, -.table-condensed td { - padding: 4px 5px; -} -.table-bordered { - border: 1px solid #dddddd; - border-collapse: separate; - *border-collapse: collapsed; - border-left: 0; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.table-bordered th, -.table-bordered td { - border-left: 1px solid #dddddd; -} -.table-bordered caption + thead tr:first-child th, -.table-bordered caption + tbody tr:first-child th, -.table-bordered caption + tbody tr:first-child td, -.table-bordered colgroup + thead tr:first-child th, -.table-bordered colgroup + tbody tr:first-child th, -.table-bordered colgroup + tbody tr:first-child td, -.table-bordered thead:first-child tr:first-child th, -.table-bordered tbody:first-child tr:first-child th, -.table-bordered tbody:first-child tr:first-child td { - border-top: 0; -} -.table-bordered thead:first-child tr:first-child th:first-child, -.table-bordered tbody:first-child tr:first-child td:first-child { - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-topleft: 4px; -} -.table-bordered thead:first-child tr:first-child th:last-child, -.table-bordered tbody:first-child tr:first-child td:last-child { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-topright: 4px; -} -.table-bordered thead:last-child tr:last-child th:first-child, -.table-bordered tbody:last-child tr:last-child td:first-child { - -webkit-border-radius: 0 0 0 4px; - -moz-border-radius: 0 0 0 4px; - border-radius: 0 0 0 4px; - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; -} -.table-bordered thead:last-child tr:last-child th:last-child, -.table-bordered tbody:last-child tr:last-child td:last-child { - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -moz-border-radius-bottomright: 4px; -} -.table-striped tbody tr:nth-child(odd) td, -.table-striped tbody tr:nth-child(odd) th { - background-color: #f9f9f9; -} -.table tbody tr:hover td, -.table tbody tr:hover th { - background-color: #f5f5f5; -} -table .span1 { - float: none; - width: 44px; - margin-left: 0; -} -table .span2 { - float: none; - width: 124px; - margin-left: 0; -} -table .span3 { - float: none; - width: 204px; - margin-left: 0; -} -table .span4 { - float: none; - width: 284px; - margin-left: 0; -} -table .span5 { - float: none; - width: 364px; - margin-left: 0; -} -table .span6 { - float: none; - width: 444px; - margin-left: 0; -} -table .span7 { - float: none; - width: 524px; - margin-left: 0; -} -table .span8 { - float: none; - width: 604px; - margin-left: 0; -} -table .span9 { - float: none; - width: 684px; - margin-left: 0; -} -table .span10 { - float: none; - width: 764px; - margin-left: 0; -} -table .span11 { - float: none; - width: 844px; - margin-left: 0; -} -table .span12 { - float: none; - width: 924px; - margin-left: 0; -} -table .span13 { - float: none; - width: 1004px; - margin-left: 0; -} -table .span14 { - float: none; - width: 1084px; - margin-left: 0; -} -table .span15 { - float: none; - width: 1164px; - margin-left: 0; -} -table .span16 { - float: none; - width: 1244px; - margin-left: 0; -} -table .span17 { - float: none; - width: 1324px; - margin-left: 0; -} -table .span18 { - float: none; - width: 1404px; - margin-left: 0; -} -table .span19 { - float: none; - width: 1484px; - margin-left: 0; -} -table .span20 { - float: none; - width: 1564px; - margin-left: 0; -} -table .span21 { - float: none; - width: 1644px; - margin-left: 0; -} -table .span22 { - float: none; - width: 1724px; - margin-left: 0; -} -table .span23 { - float: none; - width: 1804px; - margin-left: 0; -} -table .span24 { - float: none; - width: 1884px; - margin-left: 0; -} -[class^="icon-"], -[class*=" icon-"] { - display: inline-block; - width: 14px; - height: 14px; - *margin-right: .3em; - line-height: 14px; - vertical-align: text-top; - background-image: url("../img/glyphicons-halflings.png"); - background-position: 14px 14px; - background-repeat: no-repeat; -} -[class^="icon-"]:last-child, -[class*=" icon-"]:last-child { - *margin-left: 0; -} -.icon-white { - background-image: url("../img/glyphicons-halflings-white.png"); -} -.icon-glass { - background-position: 0 0; -} -.icon-music { - background-position: -24px 0; -} -.icon-search { - background-position: -48px 0; -} -.icon-envelope { - background-position: -72px 0; -} -.icon-heart { - background-position: -96px 0; -} -.icon-star { - background-position: -120px 0; -} -.icon-star-empty { - background-position: -144px 0; -} -.icon-user { - background-position: -168px 0; -} -.icon-film { - background-position: -192px 0; -} -.icon-th-large { - background-position: -216px 0; -} -.icon-th { - background-position: -240px 0; -} -.icon-th-list { - background-position: -264px 0; -} -.icon-ok { - background-position: -288px 0; -} -.icon-remove { - background-position: -312px 0; -} -.icon-zoom-in { - background-position: -336px 0; -} -.icon-zoom-out { - background-position: -360px 0; -} -.icon-off { - background-position: -384px 0; -} -.icon-signal { - background-position: -408px 0; -} -.icon-cog { - background-position: -432px 0; -} -.icon-trash { - background-position: -456px 0; -} -.icon-home { - background-position: 0 -24px; -} -.icon-file { - background-position: -24px -24px; -} -.icon-time { - background-position: -48px -24px; -} -.icon-road { - background-position: -72px -24px; -} -.icon-download-alt { - background-position: -96px -24px; -} -.icon-download { - background-position: -120px -24px; -} -.icon-upload { - background-position: -144px -24px; -} -.icon-inbox { - background-position: -168px -24px; -} -.icon-play-circle { - background-position: -192px -24px; -} -.icon-repeat { - background-position: -216px -24px; -} -.icon-refresh { - background-position: -240px -24px; -} -.icon-list-alt { - background-position: -264px -24px; -} -.icon-lock { - background-position: -287px -24px; -} -.icon-flag { - background-position: -312px -24px; -} -.icon-headphones { - background-position: -336px -24px; -} -.icon-volume-off { - background-position: -360px -24px; -} -.icon-volume-down { - background-position: -384px -24px; -} -.icon-volume-up { - background-position: -408px -24px; -} -.icon-qrcode { - background-position: -432px -24px; -} -.icon-barcode { - background-position: -456px -24px; -} -.icon-tag { - background-position: 0 -48px; -} -.icon-tags { - background-position: -25px -48px; -} -.icon-book { - background-position: -48px -48px; -} -.icon-bookmark { - background-position: -72px -48px; -} -.icon-print { - background-position: -96px -48px; -} -.icon-camera { - background-position: -120px -48px; -} -.icon-font { - background-position: -144px -48px; -} -.icon-bold { - background-position: -167px -48px; -} -.icon-italic { - background-position: -192px -48px; -} -.icon-text-height { - background-position: -216px -48px; -} -.icon-text-width { - background-position: -240px -48px; -} -.icon-align-left { - background-position: -264px -48px; -} -.icon-align-center { - background-position: -288px -48px; -} -.icon-align-right { - background-position: -312px -48px; -} -.icon-align-justify { - background-position: -336px -48px; -} -.icon-list { - background-position: -360px -48px; -} -.icon-indent-left { - background-position: -384px -48px; -} -.icon-indent-right { - background-position: -408px -48px; -} -.icon-facetime-video { - background-position: -432px -48px; -} -.icon-picture { - background-position: -456px -48px; -} -.icon-pencil { - background-position: 0 -72px; -} -.icon-map-marker { - background-position: -24px -72px; -} -.icon-adjust { - background-position: -48px -72px; -} -.icon-tint { - background-position: -72px -72px; -} -.icon-edit { - background-position: -96px -72px; -} -.icon-share { - background-position: -120px -72px; -} -.icon-check { - background-position: -144px -72px; -} -.icon-move { - background-position: -168px -72px; -} -.icon-step-backward { - background-position: -192px -72px; -} -.icon-fast-backward { - background-position: -216px -72px; -} -.icon-backward { - background-position: -240px -72px; -} -.icon-play { - background-position: -264px -72px; -} -.icon-pause { - background-position: -288px -72px; -} -.icon-stop { - background-position: -312px -72px; -} -.icon-forward { - background-position: -336px -72px; -} -.icon-fast-forward { - background-position: -360px -72px; -} -.icon-step-forward { - background-position: -384px -72px; -} -.icon-eject { - background-position: -408px -72px; -} -.icon-chevron-left { - background-position: -432px -72px; -} -.icon-chevron-right { - background-position: -456px -72px; -} -.icon-plus-sign { - background-position: 0 -96px; -} -.icon-minus-sign { - background-position: -24px -96px; -} -.icon-remove-sign { - background-position: -48px -96px; -} -.icon-ok-sign { - background-position: -72px -96px; -} -.icon-question-sign { - background-position: -96px -96px; -} -.icon-info-sign { - background-position: -120px -96px; -} -.icon-screenshot { - background-position: -144px -96px; -} -.icon-remove-circle { - background-position: -168px -96px; -} -.icon-ok-circle { - background-position: -192px -96px; -} -.icon-ban-circle { - background-position: -216px -96px; -} -.icon-arrow-left { - background-position: -240px -96px; -} -.icon-arrow-right { - background-position: -264px -96px; -} -.icon-arrow-up { - background-position: -289px -96px; -} -.icon-arrow-down { - background-position: -312px -96px; -} -.icon-share-alt { - background-position: -336px -96px; -} -.icon-resize-full { - background-position: -360px -96px; -} -.icon-resize-small { - background-position: -384px -96px; -} -.icon-plus { - background-position: -408px -96px; -} -.icon-minus { - background-position: -433px -96px; -} -.icon-asterisk { - background-position: -456px -96px; -} -.icon-exclamation-sign { - background-position: 0 -120px; -} -.icon-gift { - background-position: -24px -120px; -} -.icon-leaf { - background-position: -48px -120px; -} -.icon-fire { - background-position: -72px -120px; -} -.icon-eye-open { - background-position: -96px -120px; -} -.icon-eye-close { - background-position: -120px -120px; -} -.icon-warning-sign { - background-position: -144px -120px; -} -.icon-plane { - background-position: -168px -120px; -} -.icon-calendar { - background-position: -192px -120px; -} -.icon-random { - background-position: -216px -120px; -} -.icon-comment { - background-position: -240px -120px; -} -.icon-magnet { - background-position: -264px -120px; -} -.icon-chevron-up { - background-position: -288px -120px; -} -.icon-chevron-down { - background-position: -313px -119px; -} -.icon-retweet { - background-position: -336px -120px; -} -.icon-shopping-cart { - background-position: -360px -120px; -} -.icon-folder-close { - background-position: -384px -120px; -} -.icon-folder-open { - background-position: -408px -120px; -} -.icon-resize-vertical { - background-position: -432px -119px; -} -.icon-resize-horizontal { - background-position: -456px -118px; -} -.icon-hdd { - background-position: 0 -144px; -} -.icon-bullhorn { - background-position: -24px -144px; -} -.icon-bell { - background-position: -48px -144px; -} -.icon-certificate { - background-position: -72px -144px; -} -.icon-thumbs-up { - background-position: -96px -144px; -} -.icon-thumbs-down { - background-position: -120px -144px; -} -.icon-hand-right { - background-position: -144px -144px; -} -.icon-hand-left { - background-position: -168px -144px; -} -.icon-hand-up { - background-position: -192px -144px; -} -.icon-hand-down { - background-position: -216px -144px; -} -.icon-circle-arrow-right { - background-position: -240px -144px; -} -.icon-circle-arrow-left { - background-position: -264px -144px; -} -.icon-circle-arrow-up { - background-position: -288px -144px; -} -.icon-circle-arrow-down { - background-position: -312px -144px; -} -.icon-globe { - background-position: -336px -144px; -} -.icon-wrench { - background-position: -360px -144px; -} -.icon-tasks { - background-position: -384px -144px; -} -.icon-filter { - background-position: -408px -144px; -} -.icon-briefcase { - background-position: -432px -144px; -} -.icon-fullscreen { - background-position: -456px -144px; -} -.dropup, -.dropdown { - position: relative; -} -.dropdown-toggle { - *margin-bottom: -3px; -} -.dropdown-toggle:active, -.open .dropdown-toggle { - outline: 0; -} -.caret { - display: inline-block; - width: 0; - height: 0; - vertical-align: top; - border-top: 4px solid #000000; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - content: ""; - opacity: 0.3; - filter: alpha(opacity=30); -} -.dropdown .caret { - margin-top: 8px; - margin-left: 2px; -} -.dropdown:hover .caret, -.open .caret { - opacity: 1; - filter: alpha(opacity=100); -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 4px 0; - margin: 1px 0 0; - list-style: none; - background-color: #ffffff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - *border-right-width: 2px; - *border-bottom-width: 2px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - *width: 100%; - height: 1px; - margin: 8px 1px; - *margin: -5px 0 5px; - overflow: hidden; - background-color: #e5e5e5; - border-bottom: 1px solid #ffffff; -} -.dropdown-menu a { - display: block; - padding: 3px 15px; - clear: both; - font-weight: normal; - line-height: 18px; - color: #333333; - white-space: nowrap; -} -.dropdown-menu li > a:hover, -.dropdown-menu .active > a, -.dropdown-menu .active > a:hover { - color: #ffffff; - text-decoration: none; - background-color: #0088cc; -} -.open { - *z-index: 1000; -} -.open .dropdown-menu { - display: block; -} -.pull-right .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px solid #000000; - content: "\2191"; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} -.typeahead { - margin-top: 2px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #eee; - border: 1px solid rgba(0, 0, 0, 0.05); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} -.well-large { - padding: 24px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; -} -.well-small { - padding: 9px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.fade { - opacity: 0; - filter: alpha(opacity=0); - -webkit-transition: opacity 0.15s linear; - -moz-transition: opacity 0.15s linear; - -ms-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} -.fade.in { - opacity: 1; - filter: alpha(opacity=100); -} -.collapse { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - -moz-transition: height 0.35s ease; - -ms-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; -} -.collapse.in { - height: auto; -} -.close { - float: right; - font-size: 20px; - font-weight: bold; - line-height: 18px; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); -} -.close:hover { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.4; - filter: alpha(opacity=40); -} -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -.btn { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; - padding: 4px 10px 4px; - margin-bottom: 0; - font-size: 13px; - line-height: 18px; - *line-height: 20px; - color: #333333; - text-align: center; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - vertical-align: middle; - cursor: pointer; - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(top, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #e6e6e6; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - border: 1px solid #cccccc; - *border: 0; - border-bottom-color: #b3b3b3; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - *margin-left: .3em; - -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); - -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); - box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); -} -.btn:hover, -.btn:active, -.btn.active, -.btn.disabled, -.btn[disabled] { - background-color: #e6e6e6; - *background-color: #d9d9d9; -} -.btn:active, -.btn.active { - background-color: #cccccc \9; -} -.btn:first-child { - *margin-left: 0; -} -.btn:hover { - color: #333333; - text-decoration: none; - background-color: #e6e6e6; - *background-color: #d9d9d9; - /* Buttons in IE7 don't get borders, so darken on hover */ - - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -ms-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; -} -.btn:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn.active, -.btn:active { - background-color: #e6e6e6; - background-color: #d9d9d9 \9; - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); - -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); - box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); -} -.btn.disabled, -.btn[disabled] { - cursor: default; - background-color: #e6e6e6; - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.btn-large { - padding: 9px 14px; - font-size: 15px; - line-height: normal; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} -.btn-large [class^="icon-"] { - margin-top: 1px; -} -.btn-small { - padding: 5px 9px; - font-size: 11px; - line-height: 16px; -} -.btn-small [class^="icon-"] { - margin-top: -1px; -} -.btn-mini { - padding: 2px 6px; - font-size: 11px; - line-height: 14px; -} -.btn-primary, -.btn-primary:hover, -.btn-warning, -.btn-warning:hover, -.btn-danger, -.btn-danger:hover, -.btn-success, -.btn-success:hover, -.btn-info, -.btn-info:hover, -.btn-inverse, -.btn-inverse:hover { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.btn-primary.active, -.btn-warning.active, -.btn-danger.active, -.btn-success.active, -.btn-info.active, -.btn-inverse.active { - color: rgba(255, 255, 255, 0.75); -} -.btn { - border-color: #ccc; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); -} -.btn-primary { - background-color: #0074cc; - background-image: -moz-linear-gradient(top, #0088cc, #0055cc); - background-image: -ms-linear-gradient(top, #0088cc, #0055cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0055cc); - background-image: -o-linear-gradient(top, #0088cc, #0055cc); - background-image: linear-gradient(top, #0088cc, #0055cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0); - border-color: #0055cc #0055cc #003580; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #0055cc; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.btn-primary:hover, -.btn-primary:active, -.btn-primary.active, -.btn-primary.disabled, -.btn-primary[disabled] { - background-color: #0055cc; - *background-color: #004ab3; -} -.btn-primary:active, -.btn-primary.active { - background-color: #004099 \9; -} -.btn-warning { - background-color: #faa732; - background-image: -moz-linear-gradient(top, #fbb450, #f89406); - background-image: -ms-linear-gradient(top, #fbb450, #f89406); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); - background-image: -webkit-linear-gradient(top, #fbb450, #f89406); - background-image: -o-linear-gradient(top, #fbb450, #f89406); - background-image: linear-gradient(top, #fbb450, #f89406); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); - border-color: #f89406 #f89406 #ad6704; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #f89406; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.btn-warning:hover, -.btn-warning:active, -.btn-warning.active, -.btn-warning.disabled, -.btn-warning[disabled] { - background-color: #f89406; - *background-color: #df8505; -} -.btn-warning:active, -.btn-warning.active { - background-color: #c67605 \9; -} -.btn-danger { - background-color: #da4f49; - background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); - background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); - background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); - background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); - background-image: linear-gradient(top, #ee5f5b, #bd362f); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); - border-color: #bd362f #bd362f #802420; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #bd362f; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.btn-danger:hover, -.btn-danger:active, -.btn-danger.active, -.btn-danger.disabled, -.btn-danger[disabled] { - background-color: #bd362f; - *background-color: #a9302a; -} -.btn-danger:active, -.btn-danger.active { - background-color: #942a25 \9; -} -.btn-success { - background-color: #5bb75b; - background-image: -moz-linear-gradient(top, #62c462, #51a351); - background-image: -ms-linear-gradient(top, #62c462, #51a351); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); - background-image: -webkit-linear-gradient(top, #62c462, #51a351); - background-image: -o-linear-gradient(top, #62c462, #51a351); - background-image: linear-gradient(top, #62c462, #51a351); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); - border-color: #51a351 #51a351 #387038; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #51a351; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.btn-success:hover, -.btn-success:active, -.btn-success.active, -.btn-success.disabled, -.btn-success[disabled] { - background-color: #51a351; - *background-color: #499249; -} -.btn-success:active, -.btn-success.active { - background-color: #408140 \9; -} -.btn-info { - background-color: #49afcd; - background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); - background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); - background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); - background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); - background-image: linear-gradient(top, #5bc0de, #2f96b4); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); - border-color: #2f96b4 #2f96b4 #1f6377; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #2f96b4; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.btn-info:hover, -.btn-info:active, -.btn-info.active, -.btn-info.disabled, -.btn-info[disabled] { - background-color: #2f96b4; - *background-color: #2a85a0; -} -.btn-info:active, -.btn-info.active { - background-color: #24748c \9; -} -.btn-inverse { - background-color: #414141; - background-image: -moz-linear-gradient(top, #555555, #222222); - background-image: -ms-linear-gradient(top, #555555, #222222); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); - background-image: -webkit-linear-gradient(top, #555555, #222222); - background-image: -o-linear-gradient(top, #555555, #222222); - background-image: linear-gradient(top, #555555, #222222); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); - border-color: #222222 #222222 #000000; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #222222; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.btn-inverse:hover, -.btn-inverse:active, -.btn-inverse.active, -.btn-inverse.disabled, -.btn-inverse[disabled] { - background-color: #222222; - *background-color: #151515; -} -.btn-inverse:active, -.btn-inverse.active { - background-color: #080808 \9; -} -button.btn, -input[type="submit"].btn { - *padding-top: 2px; - *padding-bottom: 2px; -} -button.btn::-moz-focus-inner, -input[type="submit"].btn::-moz-focus-inner { - padding: 0; - border: 0; -} -button.btn.btn-large, -input[type="submit"].btn.btn-large { - *padding-top: 7px; - *padding-bottom: 7px; -} -button.btn.btn-small, -input[type="submit"].btn.btn-small { - *padding-top: 3px; - *padding-bottom: 3px; -} -button.btn.btn-mini, -input[type="submit"].btn.btn-mini { - *padding-top: 1px; - *padding-bottom: 1px; -} -.btn-group { - position: relative; - *zoom: 1; - *margin-left: .3em; -} -.btn-group:before, -.btn-group:after { - display: table; - content: ""; -} -.btn-group:after { - clear: both; -} -.btn-group:first-child { - *margin-left: 0; -} -.btn-group + .btn-group { - margin-left: 5px; -} -.btn-toolbar { - margin-top: 9px; - margin-bottom: 9px; -} -.btn-toolbar .btn-group { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; -} -.btn-group > .btn { - position: relative; - float: left; - margin-left: -1px; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; - -webkit-border-top-left-radius: 4px; - -moz-border-radius-topleft: 4px; - border-top-left-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; - border-bottom-left-radius: 4px; -} -.btn-group > .btn:last-child, -.btn-group > .dropdown-toggle { - -webkit-border-top-right-radius: 4px; - -moz-border-radius-topright: 4px; - border-top-right-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -moz-border-radius-bottomright: 4px; - border-bottom-right-radius: 4px; -} -.btn-group > .btn.large:first-child { - margin-left: 0; - -webkit-border-top-left-radius: 6px; - -moz-border-radius-topleft: 6px; - border-top-left-radius: 6px; - -webkit-border-bottom-left-radius: 6px; - -moz-border-radius-bottomleft: 6px; - border-bottom-left-radius: 6px; -} -.btn-group > .btn.large:last-child, -.btn-group > .large.dropdown-toggle { - -webkit-border-top-right-radius: 6px; - -moz-border-radius-topright: 6px; - border-top-right-radius: 6px; - -webkit-border-bottom-right-radius: 6px; - -moz-border-radius-bottomright: 6px; - border-bottom-right-radius: 6px; -} -.btn-group > .btn:hover, -.btn-group > .btn:focus, -.btn-group > .btn:active, -.btn-group > .btn.active { - z-index: 2; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; - -webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); - -moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); - box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); - *padding-top: 4px; - *padding-bottom: 4px; -} -.btn-group > .btn-mini.dropdown-toggle { - padding-left: 5px; - padding-right: 5px; -} -.btn-group > .btn-small.dropdown-toggle { - *padding-top: 4px; - *padding-bottom: 4px; -} -.btn-group > .btn-large.dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} -.btn-group.open .dropdown-toggle { - background-image: none; - -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); - -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); - box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); -} -.btn-group.open .btn.dropdown-toggle { - background-color: #e6e6e6; -} -.btn-group.open .btn-primary.dropdown-toggle { - background-color: #0055cc; -} -.btn-group.open .btn-warning.dropdown-toggle { - background-color: #f89406; -} -.btn-group.open .btn-danger.dropdown-toggle { - background-color: #bd362f; -} -.btn-group.open .btn-success.dropdown-toggle { - background-color: #51a351; -} -.btn-group.open .btn-info.dropdown-toggle { - background-color: #2f96b4; -} -.btn-group.open .btn-inverse.dropdown-toggle { - background-color: #222222; -} -.btn .caret { - margin-top: 7px; - margin-left: 0; -} -.btn:hover .caret, -.open.btn-group .caret { - opacity: 1; - filter: alpha(opacity=100); -} -.btn-mini .caret { - margin-top: 5px; -} -.btn-small .caret { - margin-top: 6px; -} -.btn-large .caret { - margin-top: 6px; - border-left-width: 5px; - border-right-width: 5px; - border-top-width: 5px; -} -.dropup .btn-large .caret { - border-bottom: 5px solid #000000; - border-top: 0; -} -.btn-primary .caret, -.btn-warning .caret, -.btn-danger .caret, -.btn-info .caret, -.btn-success .caret, -.btn-inverse .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; - opacity: 0.75; - filter: alpha(opacity=75); -} -.alert { - padding: 8px 35px 8px 14px; - margin-bottom: 18px; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); - background-color: #fcf8e3; - border: 1px solid #fbeed5; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - color: #c09853; -} -.alert-heading { - color: inherit; -} -.alert .close { - position: relative; - top: -2px; - right: -21px; - line-height: 18px; -} -.alert-success { - background-color: #dff0d8; - border-color: #d6e9c6; - color: #468847; -} -.alert-danger, -.alert-error { - background-color: #f2dede; - border-color: #eed3d7; - color: #b94a48; -} -.alert-info { - background-color: #d9edf7; - border-color: #bce8f1; - color: #3a87ad; -} -.alert-block { - padding-top: 14px; - padding-bottom: 14px; -} -.alert-block > p, -.alert-block > ul { - margin-bottom: 0; -} -.alert-block p + p { - margin-top: 5px; -} -.nav { - margin-left: 0; - margin-bottom: 18px; - list-style: none; -} -.nav > li > a { - display: block; -} -.nav > li > a:hover { - text-decoration: none; - background-color: #eeeeee; -} -.nav > .pull-right { - float: right; -} -.nav .nav-header { - display: block; - padding: 3px 15px; - font-size: 11px; - font-weight: bold; - line-height: 18px; - color: #999999; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); - text-transform: uppercase; -} -.nav li + .nav-header { - margin-top: 9px; -} -.nav-list { - padding-left: 15px; - padding-right: 15px; - margin-bottom: 0; -} -.nav-list > li > a, -.nav-list .nav-header { - margin-left: -15px; - margin-right: -15px; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -} -.nav-list > li > a { - padding: 3px 15px; -} -.nav-list > .active > a, -.nav-list > .active > a:hover { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - background-color: #0088cc; -} -.nav-list [class^="icon-"] { - margin-right: 2px; -} -.nav-list .divider { - *width: 100%; - height: 1px; - margin: 8px 1px; - *margin: -5px 0 5px; - overflow: hidden; - background-color: #e5e5e5; - border-bottom: 1px solid #ffffff; -} -.nav-tabs, -.nav-pills { - *zoom: 1; -} -.nav-tabs:before, -.nav-pills:before, -.nav-tabs:after, -.nav-pills:after { - display: table; - content: ""; -} -.nav-tabs:after, -.nav-pills:after { - clear: both; -} -.nav-tabs > li, -.nav-pills > li { - float: left; -} -.nav-tabs > li > a, -.nav-pills > li > a { - padding-right: 12px; - padding-left: 12px; - margin-right: 2px; - line-height: 14px; -} -.nav-tabs { - border-bottom: 1px solid #ddd; -} -.nav-tabs > li { - margin-bottom: -1px; -} -.nav-tabs > li > a { - padding-top: 8px; - padding-bottom: 8px; - line-height: 18px; - border: 1px solid transparent; - -webkit-border-radius: 4px 4px 0 0; - -moz-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #dddddd; -} -.nav-tabs > .active > a, -.nav-tabs > .active > a:hover { - color: #555555; - background-color: #ffffff; - border: 1px solid #ddd; - border-bottom-color: transparent; - cursor: default; -} -.nav-pills > li > a { - padding-top: 8px; - padding-bottom: 8px; - margin-top: 2px; - margin-bottom: 2px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} -.nav-pills > .active > a, -.nav-pills > .active > a:hover { - color: #ffffff; - background-color: #0088cc; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li > a { - margin-right: 0; -} -.nav-tabs.nav-stacked { - border-bottom: 0; -} -.nav-tabs.nav-stacked > li > a { - border: 1px solid #ddd; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.nav-tabs.nav-stacked > li:first-child > a { - -webkit-border-radius: 4px 4px 0 0; - -moz-border-radius: 4px 4px 0 0; - border-radius: 4px 4px 0 0; -} -.nav-tabs.nav-stacked > li:last-child > a { - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} -.nav-tabs.nav-stacked > li > a:hover { - border-color: #ddd; - z-index: 2; -} -.nav-pills.nav-stacked > li > a { - margin-bottom: 3px; -} -.nav-pills.nav-stacked > li:last-child > a { - margin-bottom: 1px; -} -.nav-tabs .dropdown-menu { - -webkit-border-radius: 0 0 5px 5px; - -moz-border-radius: 0 0 5px 5px; - border-radius: 0 0 5px 5px; -} -.nav-pills .dropdown-menu { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.nav-tabs .dropdown-toggle .caret, -.nav-pills .dropdown-toggle .caret { - border-top-color: #0088cc; - border-bottom-color: #0088cc; - margin-top: 6px; -} -.nav-tabs .dropdown-toggle:hover .caret, -.nav-pills .dropdown-toggle:hover .caret { - border-top-color: #005580; - border-bottom-color: #005580; -} -.nav-tabs .active .dropdown-toggle .caret, -.nav-pills .active .dropdown-toggle .caret { - border-top-color: #333333; - border-bottom-color: #333333; -} -.nav > .dropdown.active > a:hover { - color: #000000; - cursor: pointer; -} -.nav-tabs .open .dropdown-toggle, -.nav-pills .open .dropdown-toggle, -.nav > li.dropdown.open.active > a:hover { - color: #ffffff; - background-color: #999999; - border-color: #999999; -} -.nav li.dropdown.open .caret, -.nav li.dropdown.open.active .caret, -.nav li.dropdown.open a:hover .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; - opacity: 1; - filter: alpha(opacity=100); -} -.tabs-stacked .open > a:hover { - border-color: #999999; -} -.tabbable { - *zoom: 1; -} -.tabbable:before, -.tabbable:after { - display: table; - content: ""; -} -.tabbable:after { - clear: both; -} -.tab-content { - overflow: auto; -} -.tabs-below > .nav-tabs, -.tabs-right > .nav-tabs, -.tabs-left > .nav-tabs { - border-bottom: 0; -} -.tab-content > .tab-pane, -.pill-content > .pill-pane { - display: none; -} -.tab-content > .active, -.pill-content > .active { - display: block; -} -.tabs-below > .nav-tabs { - border-top: 1px solid #ddd; -} -.tabs-below > .nav-tabs > li { - margin-top: -1px; - margin-bottom: 0; -} -.tabs-below > .nav-tabs > li > a { - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; -} -.tabs-below > .nav-tabs > li > a:hover { - border-bottom-color: transparent; - border-top-color: #ddd; -} -.tabs-below > .nav-tabs > .active > a, -.tabs-below > .nav-tabs > .active > a:hover { - border-color: transparent #ddd #ddd #ddd; -} -.tabs-left > .nav-tabs > li, -.tabs-right > .nav-tabs > li { - float: none; -} -.tabs-left > .nav-tabs > li > a, -.tabs-right > .nav-tabs > li > a { - min-width: 74px; - margin-right: 0; - margin-bottom: 3px; -} -.tabs-left > .nav-tabs { - float: left; - margin-right: 19px; - border-right: 1px solid #ddd; -} -.tabs-left > .nav-tabs > li > a { - margin-right: -1px; - -webkit-border-radius: 4px 0 0 4px; - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.tabs-left > .nav-tabs > li > a:hover { - border-color: #eeeeee #dddddd #eeeeee #eeeeee; -} -.tabs-left > .nav-tabs .active > a, -.tabs-left > .nav-tabs .active > a:hover { - border-color: #ddd transparent #ddd #ddd; - *border-right-color: #ffffff; -} -.tabs-right > .nav-tabs { - float: right; - margin-left: 19px; - border-left: 1px solid #ddd; -} -.tabs-right > .nav-tabs > li > a { - margin-left: -1px; - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.tabs-right > .nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #eeeeee #dddddd; -} -.tabs-right > .nav-tabs .active > a, -.tabs-right > .nav-tabs .active > a:hover { - border-color: #ddd #ddd #ddd transparent; - *border-left-color: #ffffff; -} -.navbar { - *position: relative; - *z-index: 2; - overflow: visible; - margin-bottom: 18px; -} -.navbar-inner { - min-height: 40px; - padding-left: 20px; - padding-right: 20px; - background-color: #2c2c2c; - background-image: -moz-linear-gradient(top, #333333, #222222); - background-image: -ms-linear-gradient(top, #333333, #222222); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222)); - background-image: -webkit-linear-gradient(top, #333333, #222222); - background-image: -o-linear-gradient(top, #333333, #222222); - background-image: linear-gradient(top, #333333, #222222); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); - -moz-box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); - box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1); -} -.navbar .container { - width: auto; -} -.nav-collapse.collapse { - height: auto; -} -.navbar { - color: #999999; -} -.navbar .brand:hover { - text-decoration: none; -} -.navbar .brand { - float: left; - display: block; - padding: 8px 20px 12px; - margin-left: -20px; - font-size: 20px; - font-weight: 200; - line-height: 1; - color: #999999; -} -.navbar .navbar-text { - margin-bottom: 0; - line-height: 40px; -} -.navbar .navbar-link { - color: #999999; -} -.navbar .navbar-link:hover { - color: #ffffff; -} -.navbar .btn, -.navbar .btn-group { - margin-top: 5px; -} -.navbar .btn-group .btn { - margin: 0; -} -.navbar-form { - margin-bottom: 0; - *zoom: 1; -} -.navbar-form:before, -.navbar-form:after { - display: table; - content: ""; -} -.navbar-form:after { - clear: both; -} -.navbar-form input, -.navbar-form select, -.navbar-form .radio, -.navbar-form .checkbox { - margin-top: 5px; -} -.navbar-form input, -.navbar-form select { - display: inline-block; - margin-bottom: 0; -} -.navbar-form input[type="image"], -.navbar-form input[type="checkbox"], -.navbar-form input[type="radio"] { - margin-top: 3px; -} -.navbar-form .input-append, -.navbar-form .input-prepend { - margin-top: 6px; - white-space: nowrap; -} -.navbar-form .input-append input, -.navbar-form .input-prepend input { - margin-top: 0; -} -.navbar-search { - position: relative; - float: left; - margin-top: 6px; - margin-bottom: 0; -} -.navbar-search .search-query { - padding: 4px 9px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 13px; - font-weight: normal; - line-height: 1; - color: #ffffff; - background-color: #626262; - border: 1px solid #151515; - -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15); - -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15); - box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15); - -webkit-transition: none; - -moz-transition: none; - -ms-transition: none; - -o-transition: none; - transition: none; -} -.navbar-search .search-query:-moz-placeholder { - color: #cccccc; -} -.navbar-search .search-query::-webkit-input-placeholder { - color: #cccccc; -} -.navbar-search .search-query:focus, -.navbar-search .search-query.focused { - padding: 5px 10px; - color: #333333; - text-shadow: 0 1px 0 #ffffff; - background-color: #ffffff; - border: 0; - -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); - outline: 0; -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - margin-bottom: 0; -} -.navbar-fixed-top .navbar-inner, -.navbar-fixed-bottom .navbar-inner { - padding-left: 0; - padding-right: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.navbar-fixed-top .container, -.navbar-fixed-bottom .container { - width: 940px; -} -.navbar-fixed-top { - top: 0; -} -.navbar-fixed-bottom { - bottom: 0; -} -.navbar .nav { - position: relative; - left: 0; - display: block; - float: left; - margin: 0 10px 0 0; -} -.navbar .nav.pull-right { - float: right; -} -.navbar .nav > li { - display: block; - float: left; -} -.navbar .nav > li > a { - float: none; - padding: 9px 10px 11px; - line-height: 19px; - color: #999999; - text-decoration: none; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.navbar .btn { - display: inline-block; - padding: 4px 10px 4px; - margin: 5px 5px 6px; - line-height: 18px; -} -.navbar .btn-group { - margin: 0; - padding: 5px 5px 6px; -} -.navbar .nav > li > a:hover { - background-color: transparent; - color: #ffffff; - text-decoration: none; -} -.navbar .nav .active > a, -.navbar .nav .active > a:hover { - color: #ffffff; - text-decoration: none; - background-color: #222222; -} -.navbar .divider-vertical { - height: 40px; - width: 1px; - margin: 0 9px; - overflow: hidden; - background-color: #222222; - border-right: 1px solid #333333; -} -.navbar .nav.pull-right { - margin-left: 10px; - margin-right: 0; -} -.navbar .btn-navbar { - display: none; - float: right; - padding: 7px 10px; - margin-left: 5px; - margin-right: 5px; - background-color: #2c2c2c; - background-image: -moz-linear-gradient(top, #333333, #222222); - background-image: -ms-linear-gradient(top, #333333, #222222); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222)); - background-image: -webkit-linear-gradient(top, #333333, #222222); - background-image: -o-linear-gradient(top, #333333, #222222); - background-image: linear-gradient(top, #333333, #222222); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); - border-color: #222222 #222222 #000000; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #222222; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); - -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); - box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); -} -.navbar .btn-navbar:hover, -.navbar .btn-navbar:active, -.navbar .btn-navbar.active, -.navbar .btn-navbar.disabled, -.navbar .btn-navbar[disabled] { - background-color: #222222; - *background-color: #151515; -} -.navbar .btn-navbar:active, -.navbar .btn-navbar.active { - background-color: #080808 \9; -} -.navbar .btn-navbar .icon-bar { - display: block; - width: 18px; - height: 2px; - background-color: #f5f5f5; - -webkit-border-radius: 1px; - -moz-border-radius: 1px; - border-radius: 1px; - -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -} -.btn-navbar .icon-bar + .icon-bar { - margin-top: 3px; -} -.navbar .dropdown-menu:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; - top: -7px; - left: 9px; -} -.navbar .dropdown-menu:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; - top: -6px; - left: 10px; -} -.navbar-fixed-bottom .dropdown-menu:before { - border-top: 7px solid #ccc; - border-top-color: rgba(0, 0, 0, 0.2); - border-bottom: 0; - bottom: -7px; - top: auto; -} -.navbar-fixed-bottom .dropdown-menu:after { - border-top: 6px solid #ffffff; - border-bottom: 0; - bottom: -6px; - top: auto; -} -.navbar .nav li.dropdown .dropdown-toggle .caret, -.navbar .nav li.dropdown.open .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} -.navbar .nav li.dropdown.active .caret { - opacity: 1; - filter: alpha(opacity=100); -} -.navbar .nav li.dropdown.open > .dropdown-toggle, -.navbar .nav li.dropdown.active > .dropdown-toggle, -.navbar .nav li.dropdown.open.active > .dropdown-toggle { - background-color: transparent; -} -.navbar .nav li.dropdown.active > .dropdown-toggle:hover { - color: #ffffff; -} -.navbar .pull-right .dropdown-menu, -.navbar .dropdown-menu.pull-right { - left: auto; - right: 0; -} -.navbar .pull-right .dropdown-menu:before, -.navbar .dropdown-menu.pull-right:before { - left: auto; - right: 12px; -} -.navbar .pull-right .dropdown-menu:after, -.navbar .dropdown-menu.pull-right:after { - left: auto; - right: 13px; -} -.breadcrumb { - padding: 7px 14px; - margin: 0 0 18px; - list-style: none; - background-color: #fbfbfb; - background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5); - background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5)); - background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5); - background-image: -o-linear-gradient(top, #ffffff, #f5f5f5); - background-image: linear-gradient(top, #ffffff, #f5f5f5); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0); - border: 1px solid #ddd; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - -webkit-box-shadow: inset 0 1px 0 #ffffff; - -moz-box-shadow: inset 0 1px 0 #ffffff; - box-shadow: inset 0 1px 0 #ffffff; -} -.breadcrumb li { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; - text-shadow: 0 1px 0 #ffffff; -} -.breadcrumb .divider { - padding: 0 5px; - color: #999999; -} -.breadcrumb .active a { - color: #333333; -} -.pagination { - height: 36px; - margin: 18px 0; -} -.pagination ul { - display: inline-block; - *display: inline; - /* IE7 inline-block hack */ - - *zoom: 1; - margin-left: 0; - margin-bottom: 0; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -} -.pagination li { - display: inline; -} -.pagination a { - float: left; - padding: 0 14px; - line-height: 34px; - text-decoration: none; - border: 1px solid #ddd; - border-left-width: 0; -} -.pagination a:hover, -.pagination .active a { - background-color: #f5f5f5; -} -.pagination .active a { - color: #999999; - cursor: default; -} -.pagination .disabled span, -.pagination .disabled a, -.pagination .disabled a:hover { - color: #999999; - background-color: transparent; - cursor: default; -} -.pagination li:first-child a { - border-left-width: 1px; - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; -} -.pagination li:last-child a { - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} -.pagination-centered { - text-align: center; -} -.pagination-right { - text-align: right; -} -.pager { - margin-left: 0; - margin-bottom: 18px; - list-style: none; - text-align: center; - *zoom: 1; -} -.pager:before, -.pager:after { - display: table; - content: ""; -} -.pager:after { - clear: both; -} -.pager li { - display: inline; -} -.pager a { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - -webkit-border-radius: 15px; - -moz-border-radius: 15px; - border-radius: 15px; -} -.pager a:hover { - text-decoration: none; - background-color: #f5f5f5; -} -.pager .next a { - float: right; -} -.pager .previous a { - float: left; -} -.pager .disabled a, -.pager .disabled a:hover { - color: #999999; - background-color: #fff; - cursor: default; -} -.modal-open .dropdown-menu { - z-index: 2050; -} -.modal-open .dropdown.open { - *z-index: 2050; -} -.modal-open .popover { - z-index: 2060; -} -.modal-open .tooltip { - z-index: 2070; -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000000; -} -.modal-backdrop.fade { - opacity: 0; -} -.modal-backdrop, -.modal-backdrop.fade.in { - opacity: 0.8; - filter: alpha(opacity=80); -} -.modal { - position: fixed; - top: 50%; - left: 50%; - z-index: 1050; - overflow: auto; - width: 560px; - margin: -250px 0 0 -280px; - background-color: #ffffff; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, 0.3); - *border: 1px solid #999; - /* IE6-7 */ - - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - -webkit-background-clip: padding-box; - -moz-background-clip: padding-box; - background-clip: padding-box; -} -.modal.fade { - -webkit-transition: opacity .3s linear, top .3s ease-out; - -moz-transition: opacity .3s linear, top .3s ease-out; - -ms-transition: opacity .3s linear, top .3s ease-out; - -o-transition: opacity .3s linear, top .3s ease-out; - transition: opacity .3s linear, top .3s ease-out; - top: -25%; -} -.modal.fade.in { - top: 50%; -} -.modal-header { - padding: 9px 15px; - border-bottom: 1px solid #eee; -} -.modal-header .close { - margin-top: 2px; -} -.modal-body { - overflow-y: auto; - max-height: 400px; - padding: 15px; -} -.modal-form { - margin-bottom: 0; -} -.modal-footer { - padding: 14px 15px 15px; - margin-bottom: 0; - text-align: right; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - -webkit-border-radius: 0 0 6px 6px; - -moz-border-radius: 0 0 6px 6px; - border-radius: 0 0 6px 6px; - -webkit-box-shadow: inset 0 1px 0 #ffffff; - -moz-box-shadow: inset 0 1px 0 #ffffff; - box-shadow: inset 0 1px 0 #ffffff; - *zoom: 1; -} -.modal-footer:before, -.modal-footer:after { - display: table; - content: ""; -} -.modal-footer:after { - clear: both; -} -.modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.tooltip { - position: absolute; - z-index: 1020; - display: block; - visibility: visible; - padding: 5px; - font-size: 11px; - opacity: 0; - filter: alpha(opacity=0); -} -.tooltip.in { - opacity: 0.8; - filter: alpha(opacity=80); -} -.tooltip.top { - margin-top: -2px; -} -.tooltip.right { - margin-left: 2px; -} -.tooltip.bottom { - margin-top: 2px; -} -.tooltip.left { - margin-left: -2px; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 5px solid #000000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-left: 5px solid #000000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-bottom: 5px solid #000000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-right: 5px solid #000000; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #ffffff; - text-align: center; - text-decoration: none; - background-color: #000000; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1010; - display: none; - padding: 5px; -} -.popover.top { - margin-top: -5px; -} -.popover.right { - margin-left: 5px; -} -.popover.bottom { - margin-top: 5px; -} -.popover.left { - margin-left: -5px; -} -.popover.top .arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 5px solid #000000; -} -.popover.right .arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-right: 5px solid #000000; -} -.popover.bottom .arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-bottom: 5px solid #000000; -} -.popover.left .arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-left: 5px solid #000000; -} -.popover .arrow { - position: absolute; - width: 0; - height: 0; -} -.popover-inner { - padding: 3px; - width: 280px; - overflow: hidden; - background: #000000; - background: rgba(0, 0, 0, 0.8); - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); - box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -} -.popover-title { - padding: 9px 15px; - line-height: 1; - background-color: #f5f5f5; - border-bottom: 1px solid #eee; - -webkit-border-radius: 3px 3px 0 0; - -moz-border-radius: 3px 3px 0 0; - border-radius: 3px 3px 0 0; -} -.popover-content { - padding: 14px; - background-color: #ffffff; - -webkit-border-radius: 0 0 3px 3px; - -moz-border-radius: 0 0 3px 3px; - border-radius: 0 0 3px 3px; - -webkit-background-clip: padding-box; - -moz-background-clip: padding-box; - background-clip: padding-box; -} -.popover-content p, -.popover-content ul, -.popover-content ol { - margin-bottom: 0; -} -.thumbnails { - margin-left: -20px; - list-style: none; - *zoom: 1; -} -.thumbnails:before, -.thumbnails:after { - display: table; - content: ""; -} -.thumbnails:after { - clear: both; -} -.row-fluid .thumbnails { - margin-left: 0; -} -.thumbnails > li { - float: left; - margin-bottom: 18px; - margin-left: 20px; -} -.thumbnail { - display: block; - padding: 4px; - line-height: 1; - border: 1px solid #ddd; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); -} -a.thumbnail:hover { - border-color: #0088cc; - -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); - -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); - box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -} -.thumbnail > img { - display: block; - max-width: 100%; - margin-left: auto; - margin-right: auto; -} -.thumbnail .caption { - padding: 9px; -} -.label, -.badge { - font-size: 10.998px; - font-weight: bold; - line-height: 14px; - color: #ffffff; - vertical-align: baseline; - white-space: nowrap; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #999999; -} -.label { - padding: 1px 4px 2px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.badge { - padding: 1px 9px 2px; - -webkit-border-radius: 9px; - -moz-border-radius: 9px; - border-radius: 9px; -} -a.label:hover, -a.badge:hover { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.label-important, -.badge-important { - background-color: #b94a48; -} -.label-important[href], -.badge-important[href] { - background-color: #953b39; -} -.label-warning, -.badge-warning { - background-color: #f89406; -} -.label-warning[href], -.badge-warning[href] { - background-color: #c67605; -} -.label-success, -.badge-success { - background-color: #468847; -} -.label-success[href], -.badge-success[href] { - background-color: #356635; -} -.label-info, -.badge-info { - background-color: #3a87ad; -} -.label-info[href], -.badge-info[href] { - background-color: #2d6987; -} -.label-inverse, -.badge-inverse { - background-color: #333333; -} -.label-inverse[href], -.badge-inverse[href] { - background-color: #1a1a1a; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-moz-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-ms-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 0 0; - } - to { - background-position: 40px 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - overflow: hidden; - height: 18px; - margin-bottom: 18px; - background-color: #f7f7f7; - background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); - background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: linear-gradient(top, #f5f5f5, #f9f9f9); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0); - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.progress .bar { - width: 0%; - height: 18px; - color: #ffffff; - font-size: 12px; - text-align: center; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #0e90d2; - background-image: -moz-linear-gradient(top, #149bdf, #0480be); - background-image: -ms-linear-gradient(top, #149bdf, #0480be); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); - background-image: -webkit-linear-gradient(top, #149bdf, #0480be); - background-image: -o-linear-gradient(top, #149bdf, #0480be); - background-image: linear-gradient(top, #149bdf, #0480be); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0); - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: width 0.6s ease; - -moz-transition: width 0.6s ease; - -ms-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; -} -.progress-striped .bar { - background-color: #149bdf; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - -moz-background-size: 40px 40px; - -o-background-size: 40px 40px; - background-size: 40px 40px; -} -.progress.active .bar { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -moz-animation: progress-bar-stripes 2s linear infinite; - -ms-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-danger .bar { - background-color: #dd514c; - background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); - background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); - background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); - background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); - background-image: linear-gradient(top, #ee5f5b, #c43c35); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0); -} -.progress-danger.progress-striped .bar { - background-color: #ee5f5b; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-success .bar { - background-color: #5eb95e; - background-image: -moz-linear-gradient(top, #62c462, #57a957); - background-image: -ms-linear-gradient(top, #62c462, #57a957); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); - background-image: -webkit-linear-gradient(top, #62c462, #57a957); - background-image: -o-linear-gradient(top, #62c462, #57a957); - background-image: linear-gradient(top, #62c462, #57a957); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0); -} -.progress-success.progress-striped .bar { - background-color: #62c462; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-info .bar { - background-color: #4bb1cf; - background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); - background-image: -ms-linear-gradient(top, #5bc0de, #339bb9); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); - background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); - background-image: -o-linear-gradient(top, #5bc0de, #339bb9); - background-image: linear-gradient(top, #5bc0de, #339bb9); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0); -} -.progress-info.progress-striped .bar { - background-color: #5bc0de; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-warning .bar { - background-color: #faa732; - background-image: -moz-linear-gradient(top, #fbb450, #f89406); - background-image: -ms-linear-gradient(top, #fbb450, #f89406); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); - background-image: -webkit-linear-gradient(top, #fbb450, #f89406); - background-image: -o-linear-gradient(top, #fbb450, #f89406); - background-image: linear-gradient(top, #fbb450, #f89406); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); -} -.progress-warning.progress-striped .bar { - background-color: #fbb450; - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.accordion { - margin-bottom: 18px; -} -.accordion-group { - margin-bottom: 2px; - border: 1px solid #e5e5e5; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.accordion-heading { - border-bottom: 0; -} -.accordion-heading .accordion-toggle { - display: block; - padding: 8px 15px; -} -.accordion-toggle { - cursor: pointer; -} -.accordion-inner { - padding: 9px 15px; - border-top: 1px solid #e5e5e5; -} -.carousel { - position: relative; - margin-bottom: 18px; - line-height: 1; -} -.carousel-inner { - overflow: hidden; - width: 100%; - position: relative; -} -.carousel .item { - display: none; - position: relative; - -webkit-transition: 0.6s ease-in-out left; - -moz-transition: 0.6s ease-in-out left; - -ms-transition: 0.6s ease-in-out left; - -o-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} -.carousel .item > img { - display: block; - line-height: 1; -} -.carousel .active, -.carousel .next, -.carousel .prev { - display: block; -} -.carousel .active { - left: 0; -} -.carousel .next, -.carousel .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel .next { - left: 100%; -} -.carousel .prev { - left: -100%; -} -.carousel .next.left, -.carousel .prev.right { - left: 0; -} -.carousel .active.left { - left: -100%; -} -.carousel .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 40%; - left: 15px; - width: 40px; - height: 40px; - margin-top: -20px; - font-size: 60px; - font-weight: 100; - line-height: 30px; - color: #ffffff; - text-align: center; - background: #222222; - border: 3px solid #ffffff; - -webkit-border-radius: 23px; - -moz-border-radius: 23px; - border-radius: 23px; - opacity: 0.5; - filter: alpha(opacity=50); -} -.carousel-control.right { - left: auto; - right: 15px; -} -.carousel-control:hover { - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} -.carousel-caption { - position: absolute; - left: 0; - right: 0; - bottom: 0; - padding: 10px 15px 5px; - background: #333333; - background: rgba(0, 0, 0, 0.75); -} -.carousel-caption h4, -.carousel-caption p { - color: #ffffff; -} -.hero-unit { - padding: 60px; - margin-bottom: 30px; - background-color: #eeeeee; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; -} -.hero-unit h1 { - margin-bottom: 0; - font-size: 60px; - line-height: 1; - color: inherit; - letter-spacing: -1px; -} -.hero-unit p { - font-size: 18px; - font-weight: 200; - line-height: 27px; - color: inherit; -} -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.hide { - display: none; -} -.show { - display: block; -} -.invisible { - visibility: hidden; -} From 3b4050ad78e245b86b57a5781e9d1da964e2d5e5 Mon Sep 17 00:00:00 2001 From: William Gearty Date: Tue, 21 Jan 2025 22:10:06 -0500 Subject: [PATCH 4/8] Clean up styling of admin bar --- .../themes/theme_data/droplets/less/main.less | 25 ++++++++++- .../{mit_usersearch.js => admin_bar.js} | 45 ++++++++++--------- .../droplets/templates/sidebar/admin.html | 2 +- 3 files changed, 49 insertions(+), 23 deletions(-) rename esp/esp/themes/theme_data/droplets/scripts/{mit_usersearch.js => admin_bar.js} (58%) diff --git a/esp/esp/themes/theme_data/droplets/less/main.less b/esp/esp/themes/theme_data/droplets/less/main.less index 50ccdabdd3..2dbc16bce0 100644 --- a/esp/esp/themes/theme_data/droplets/less/main.less +++ b/esp/esp/themes/theme_data/droplets/less/main.less @@ -127,7 +127,30 @@ input, textarea, select, .uneditable-input { } #adminbar_content .title { - padding: 3px 3px !important; + padding: 3px 6px !important; +} + +#adminbar_Manage_content, #adminbar_Other_content { + padding: 0px 2px !important; +} + +#adminbar_content .content { + padding: 3px 5px; +} + +#adminbar_content a { + color: #333333; /* should match the other navbar dropdowns */ +} + +@media (max-width: 979px) { + #adminbar_content a { + color: #999999; + } +} + +.admin .dropdown-menu { + padding: 0px; + overflow: hidden; } .logo { diff --git a/esp/esp/themes/theme_data/droplets/scripts/mit_usersearch.js b/esp/esp/themes/theme_data/droplets/scripts/admin_bar.js similarity index 58% rename from esp/esp/themes/theme_data/droplets/scripts/mit_usersearch.js rename to esp/esp/themes/theme_data/droplets/scripts/admin_bar.js index ba7c01674a..ab509b5cff 100644 --- a/esp/esp/themes/theme_data/droplets/scripts/mit_usersearch.js +++ b/esp/esp/themes/theme_data/droplets/scripts/admin_bar.js @@ -62,30 +62,33 @@ content_html: if (currentPrograms && currentPrograms.forEach) { currentPrograms.forEach(function (currentProgram) { - if (currentProgram.class_search) { - ESP.registerAdminModule({ - content_html: - '
' + - '
' + - '' + - '' + - '
' + - '
', - name: 'class_search', - displayName: 'Class Search' + - ' (' + currentProgram.name + ')' - }); - ESP.registerAdminModule({ - content_html: ' Main Management Page
Program Dashboard
Main Onsite Page', - name: 'Manage', + ESP.registerAdminModule({ + content_html: + (currentProgram.class_search ? '
' + + '
' + + '' + + '' + + '
' + + '
' : '') + + '', + name: 'class_search', displayName: 'Manage ' + currentProgram.name -}); - }; + }); }); } ESP.registerAdminModule({ - content_html: ' Manage other programs
Manage static pages
Administration pages
Manage media files
Manage theme settings', - name: 'Links', - displayName: 'Links' + content_html: '', + name: 'Other', + displayName: 'Other Important Links' }); diff --git a/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html b/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html index 6c75b0158f..e8ebff8c5b 100644 --- a/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html +++ b/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html @@ -23,7 +23,7 @@ ]; var debug = {{ settings.DEBUG|yesno:"true,false" }}; - + {% comment %} === End Admin Toolbar === {% endcomment %} From 85876151910dc1bf747e5494aa5f7b6a94291338 Mon Sep 17 00:00:00 2001 From: William Gearty Date: Thu, 23 Jan 2025 20:10:46 -0500 Subject: [PATCH 5/8] Fix test --- esp/esp/themes/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esp/esp/themes/tests.py b/esp/esp/themes/tests.py index a1c2858bad..4e8d1c8101 100755 --- a/esp/esp/themes/tests.py +++ b/esp/esp/themes/tests.py @@ -41,7 +41,7 @@ def testAvailableThemes(self): """ Check that the ThemeController says we have the themes we expect to have. """ tc = ThemeController() - names_ref = ['barebones', 'bigpicture', 'circles', 'floaty', 'fruitsalad'] + names_ref = ['barebones', 'bigpicture', 'circles', 'floaty', 'fruitsalad', 'droplets'] names_tc = tc.get_theme_names() self.assertEqual(set(names_ref), set(names_tc)) From 8fc76cae022819a5f52faa3fad857c7663fa400e Mon Sep 17 00:00:00 2001 From: William Gearty Date: Thu, 23 Jan 2025 20:19:44 -0500 Subject: [PATCH 6/8] Rename template folder; fix nav order to match configure form --- esp/esp/themes/theme_data/droplets/templates/main.html | 4 ++-- .../droplets/templates/{sidebar => navbar}/admin.html | 0 .../droplets/templates/{sidebar => navbar}/nav.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename esp/esp/themes/theme_data/droplets/templates/{sidebar => navbar}/admin.html (100%) rename esp/esp/themes/theme_data/droplets/templates/{sidebar => navbar}/nav.html (92%) diff --git a/esp/esp/themes/theme_data/droplets/templates/main.html b/esp/esp/themes/theme_data/droplets/templates/main.html index b61e818b22..447ae053ba 100644 --- a/esp/esp/themes/theme_data/droplets/templates/main.html +++ b/esp/esp/themes/theme_data/droplets/templates/main.html @@ -24,9 +24,9 @@ diff --git a/esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html b/esp/esp/themes/theme_data/droplets/templates/navbar/admin.html similarity index 100% rename from esp/esp/themes/theme_data/droplets/templates/sidebar/admin.html rename to esp/esp/themes/theme_data/droplets/templates/navbar/admin.html diff --git a/esp/esp/themes/theme_data/droplets/templates/sidebar/nav.html b/esp/esp/themes/theme_data/droplets/templates/navbar/nav.html similarity index 92% rename from esp/esp/themes/theme_data/droplets/templates/sidebar/nav.html rename to esp/esp/themes/theme_data/droplets/templates/navbar/nav.html index 2b5209d51a..753c857dab 100644 --- a/esp/esp/themes/theme_data/droplets/templates/sidebar/nav.html +++ b/esp/esp/themes/theme_data/droplets/templates/navbar/nav.html @@ -1,4 +1,4 @@ -{% for category in theme.nav_structure %} +{% for category in theme.nav_structure reversed %}