更改bootstrap-datetimepicker弹出日期选择框只能在下方的限制
来源:互联网 发布:明基vz2470h评测知乎 编辑:程序博客网 时间:2024/04/29 05:42
城市监控的项目,网页调用监控摄像头,并需要replay的日期和时间选择calendar.找了半天,找到一个好东东~~~~bootstrap-datetimepicker, UI也很有型的范,就用它吧~~,
一切顺利,就是这个calendar的弹出框只能在下方,而我需要嵌套在摄像头监控屏幕下的工具条上,如果弹出框在下方就太离谱了,最后决定改,哈就成就今天这个calendar啦,自我感觉效果不错,晒出来装一下B~~~~哈
更改的bootstrap-datetimepicker.js
/** * @license * ========================================================= * bootstrap-datetimepicker.js * http://www.eyecon.ro/bootstrap-datepicker * ========================================================= * Copyright 2012 Stefan Petre * * Contributions: * - Andrew Rowls * - Thiago de Arruda * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ========================================================= */(function($) { var smartPhone = window.orientation != undefined; var DateTimePicker = function(element, options) { this.id = dpgId++; this.init(element, options) }; var dateToDate = function(dt) { if (typeof dt === "string") { return new Date(dt) } return dt }; DateTimePicker.prototype = { constructor: DateTimePicker, init: function(element, options) { var icon; if (!(options.pickTime || options.pickDate)) throw new Error("Must choose at least one picker"); this.options = options; this.$element = $(element); this.language = options.language in dates ? options.language : "en"; this.pickDate = options.pickDate; this.pickTime = options.pickTime; this.isInput = this.$element.is("input"); this.component = false; if (this.$element.find(".input-append") || this.$element.find(".input-prepend")) this.component = this.$element.find(".add-on"); this.format = options.format; if (!this.format) { if (this.isInput) this.format = this.$element.data("format"); else this.format = this.$element.find("input").data("format"); if (!this.format) this.format = "MM/dd/yyyy" } this._compileFormat(); if (this.component) { icon = this.component.find("i") } if (this.pickTime) { if (icon && icon.length) this.timeIcon = icon.data("time-icon"); if (!this.timeIcon) this.timeIcon = "icon-time"; icon.addClass(this.timeIcon) } if (this.pickDate) { if (icon && icon.length) this.dateIcon = icon.data("date-icon"); if (!this.dateIcon) this.dateIcon = "icon-calendar"; icon.removeClass(this.timeIcon); icon.addClass(this.dateIcon) } this.widget = $(getTemplate(this.timeIcon, options.pickDate, options.pickTime, options.pick12HourFormat, options.pickSeconds, options.collapse)).appendTo("body"); this.minViewMode = options.minViewMode || this.$element.data("date-minviewmode") || 0; if (typeof this.minViewMode === "string") { switch (this.minViewMode) { case "months": this.minViewMode = 1; break; case "years": this.minViewMode = 2; break; default: this.minViewMode = 0; break } } this.viewMode = options.viewMode || this.$element.data("date-viewmode") || 0; if (typeof this.viewMode === "string") { switch (this.viewMode) { case "months": this.viewMode = 1; break; case "years": this.viewMode = 2; break; default: this.viewMode = 0; break } } this.startViewMode = this.viewMode; this.weekStart = options.weekStart || this.$element.data("date-weekstart") || 0; this.weekEnd = this.weekStart === 0 ? 6 : this.weekStart - 1; this.setStartDate(options.startDate || this.$element.data("date-startdate")); this.setEndDate(options.endDate || this.$element.data("date-enddate")); this.fillDow(); this.fillMonths(); this.fillHours(); this.fillMinutes(); this.fillSeconds(); this.update(); this.showMode(); this._attachDatePickerEvents(this.widget) }, show: function(e) { this.widget.show(); this.height = this.component ? this.component.outerHeight() : this.$element.outerHeight(); this.place(); this.$element.trigger({ type: "show", date: this._date }); this._attachDatePickerGlobalEvents(); if (e) { e.stopPropagation(); e.preventDefault() } }, disable: function() { this.$element.find("input").prop("disabled", true); this._detachDatePickerEvents() }, enable: function() { this.$element.find("input").prop("disabled", false); this._attachDatePickerEvents(this.widget) }, hide: function() { var collapse = this.widget.find(".collapse"); for (var i = 0; i < collapse.length; i++) { var collapseData = collapse.eq(i).data("collapse"); if (collapseData && collapseData.transitioning) return } this.widget.hide(); this.viewMode = this.startViewMode; this.showMode(); this.set(); this.$element.trigger({ type: "hide", date: this._date }); this._detachDatePickerGlobalEvents() }, set: function() { var formatted = ""; if (!this._unset) formatted = this.formatDate(this._date); if (!this.isInput) { if (this.component) { var input = this.$element.find("input"); input.val(formatted);/****yilei add for display time*****/var displayObj=this.widget.find("#temp-display-datetime span");displayObj.html(input.val());/*********add end************/ this._resetMaskPos(input); } this.$element.data("date", formatted) } else { this.$element.val(formatted); this._resetMaskPos(this.$element) } }, setValue: function(newDate) { if (!newDate) { this._unset = true } else { this._unset = false } if (typeof newDate === "string") { this._date = this.parseDate(newDate) } else if (newDate) { this._date = new Date(newDate) } this.set(); this.viewDate = UTCDate(this._date.getUTCFullYear(), this._date.getUTCMonth(), 1, 0, 0, 0, 0); this.fillDate(); this.fillTime() }, getDate: function() { if (this._unset) return null; return new Date(this._date.valueOf()) }, setDate: function(date) { if (!date) this.setValue(null); else this.setValue(date.valueOf()) }, setStartDate: function(date) { if (date instanceof Date) { this.startDate = date } else if (typeof date === "string") { this.startDate = new UTCDate(date); if (!this.startDate.getUTCFullYear()) { this.startDate = -Infinity } } else { this.startDate = -Infinity } if (this.viewDate) { this.update() } }, setEndDate: function(date) { if (date instanceof Date) { this.endDate = date } else if (typeof date === "string") { this.endDate = new UTCDate(date); if (!this.endDate.getUTCFullYear()) { this.endDate = Infinity } } else { this.endDate = Infinity } if (this.viewDate) { this.update() } }, getLocalDate: function() { if (this._unset) return null; var d = this._date; return new Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds()) }, setLocalDate: function(localDate) { if (!localDate) this.setValue(null); else this.setValue(Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate(), localDate.getHours(), localDate.getMinutes(), localDate.getSeconds(), localDate.getMilliseconds())) }, place: function() { var position = "absolute"; var offset = this.component ? this.component.offset() : this.$element.offset(); this.width = this.component ? this.component.outerWidth() : this.$element.outerWidth(); offset.top = offset.top + this.height; var $window = $(window); if (this.options.width != undefined) { this.widget.width(this.options.width) } if (this.options.orientation == "left") { this.widget.addClass("left-oriented"); offset.left = offset.left - this.widget.width() + 20 }else if(this.options.orientation == "top"){var widgetH=parseInt(this.widget.css("height"));offset.top=offset.top-widgetH-this.height-10;this.widget.removeClass("bootstrap-datetimepicker-widget");this.widget.addClass("bootstrap-datetimepicker-widget-top");} if (this._isInFixed()) { position = "fixed"; offset.top -= $window.scrollTop(); offset.left -= $window.scrollLeft() } if ($window.width() < offset.left + this.widget.outerWidth()) { offset.right = $window.width() - offset.left - this.width; offset.left = "auto"; this.widget.addClass("pull-right") } else { offset.right = "auto"; this.widget.removeClass("pull-right") } this.widget.css({ position: position, top: offset.top, left: offset.left, right: offset.right }) }, notifyChange: function() { this.$element.trigger({ type: "changeDate", date: this.getDate(), localDate: this.getLocalDate() }) }, update: function(newDate) { var dateStr = newDate; if (!dateStr) { if (this.isInput) { dateStr = this.$element.val() } else { dateStr = this.$element.find("input").val() } if (dateStr) { this._date = this.parseDate(dateStr) } if (!this._date) { var tmp = new Date; this._date = UTCDate(tmp.getFullYear(), tmp.getMonth(), tmp.getDate(), tmp.getHours(), tmp.getMinutes(), tmp.getSeconds(), tmp.getMilliseconds()) } } this.viewDate = UTCDate(this._date.getUTCFullYear(), this._date.getUTCMonth(), 1, 0, 0, 0, 0); this.fillDate(); this.fillTime() }, fillDow: function() { var dowCnt = this.weekStart; var html = $("<tr>"); while (dowCnt < this.weekStart + 7) { html.append('<th class="dow">' + dates[this.language].daysMin[dowCnt++ % 7] + "</th>") } this.widget.find(".datepicker-days thead").append(html) }, fillMonths: function() { var html = ""; var i = 0; while (i < 12) { html += '<span class="month">' + dates[this.language].monthsShort[i++] + "</span>" } this.widget.find(".datepicker-months td").append(html) }, fillDate: function() { var year = this.viewDate.getUTCFullYear(); var month = this.viewDate.getUTCMonth(); var currentDate = UTCDate(this._date.getUTCFullYear(), this._date.getUTCMonth(), this._date.getUTCDate(), 0, 0, 0, 0); var startYear = typeof this.startDate === "object" ? this.startDate.getUTCFullYear() : -Infinity; var startMonth = typeof this.startDate === "object" ? this.startDate.getUTCMonth() : -1; var endYear = typeof this.endDate === "object" ? this.endDate.getUTCFullYear() : Infinity; var endMonth = typeof this.endDate === "object" ? this.endDate.getUTCMonth() : 12; this.widget.find(".datepicker-days").find(".disabled").removeClass("disabled"); this.widget.find(".datepicker-months").find(".disabled").removeClass("disabled"); this.widget.find(".datepicker-years").find(".disabled").removeClass("disabled"); this.widget.find(".datepicker-days th:eq(1)").text(dates[this.language].months[month] + " " + year); var prevMonth = UTCDate(year, month - 1, 28, 0, 0, 0, 0); var day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); prevMonth.setUTCDate(day); prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.weekStart + 7) % 7); if (year == startYear && month <= startMonth || year < startYear) { this.widget.find(".datepicker-days th:eq(0)").addClass("disabled") } if (year == endYear && month >= endMonth || year > endYear) { this.widget.find(".datepicker-days th:eq(2)").addClass("disabled") } var nextMonth = new Date(prevMonth.valueOf()); nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); nextMonth = nextMonth.valueOf(); var html = []; var row; var clsName; while (prevMonth.valueOf() < nextMonth) { if (prevMonth.getUTCDay() === this.weekStart) { row = $("<tr>"); html.push(row) } clsName = ""; if (prevMonth.getUTCFullYear() < year || prevMonth.getUTCFullYear() == year && prevMonth.getUTCMonth() < month) { clsName += " old" } else if (prevMonth.getUTCFullYear() > year || prevMonth.getUTCFullYear() == year && prevMonth.getUTCMonth() > month) { clsName += " new" } if (prevMonth.valueOf() === currentDate.valueOf()) { clsName += " active" } if (prevMonth.valueOf() + 864e5 <= this.startDate) { clsName += " disabled" } if (prevMonth.valueOf() > this.endDate) { clsName += " disabled" } row.append('<td class="day' + clsName + '">' + prevMonth.getUTCDate() + "</td>"); prevMonth.setUTCDate(prevMonth.getUTCDate() + 1) } this.widget.find(".datepicker-days tbody").empty().append(html); var currentYear = this._date.getUTCFullYear(); var months = this.widget.find(".datepicker-months").find("th:eq(1)").text(year).end().find("span").removeClass("active"); if (currentYear === year) { months.eq(this._date.getUTCMonth()).addClass("active") } if (currentYear - 1 < startYear) { this.widget.find(".datepicker-months th:eq(0)").addClass("disabled") } if (currentYear + 1 > endYear) { this.widget.find(".datepicker-months th:eq(2)").addClass("disabled") } for (var i = 0; i < 12; i++) { if (year == startYear && startMonth > i || year < startYear) { $(months[i]).addClass("disabled") } else if (year == endYear && endMonth < i || year > endYear) { $(months[i]).addClass("disabled") } } html = ""; year = parseInt(year / 10, 10) * 10; var yearCont = this.widget.find(".datepicker-years").find("th:eq(1)").text(year + "-" + (year + 9)).end().find("td"); this.widget.find(".datepicker-years").find("th").removeClass("disabled"); if (startYear > year) { this.widget.find(".datepicker-years").find("th:eq(0)").addClass("disabled") } if (endYear < year + 9) { this.widget.find(".datepicker-years").find("th:eq(2)").addClass("disabled") } year -= 1; for (var i = -1; i < 11; i++) { html += '<span class="year' + (i === -1 || i === 10 ? " old" : "") + (currentYear === year ? " active" : "") + (year < startYear || year > endYear ? " disabled" : "") + '">' + year + "</span>"; year += 1 } yearCont.html(html) }, fillHours: function() { var table = this.widget.find(".timepicker .timepicker-hours table"); table.parent().hide(); var html = ""; if (this.options.pick12HourFormat) { var current = 1; for (var i = 0; i < 3; i += 1) { html += "<tr>"; for (var j = 0; j < 4; j += 1) { var c = current.toString(); html += '<td class="hour">' + padLeft(c, 2, "0") + "</td>"; current++ } html += "</tr>" } } else { var current = 0; for (var i = 0; i < 6; i += 1) { html += "<tr>"; for (var j = 0; j < 4; j += 1) { var c = current.toString(); html += '<td class="hour">' + padLeft(c, 2, "0") + "</td>"; current++ } html += "</tr>" } } table.html(html) }, fillMinutes: function() { var table = this.widget.find(".timepicker .timepicker-minutes table"); table.parent().hide(); var html = ""; var current = 0; for (var i = 0; i < 5; i++) { html += "<tr>"; for (var j = 0; j < 4; j += 1) { var c = current.toString(); html += '<td class="minute">' + padLeft(c, 2, "0") + "</td>"; current += 3 } html += "</tr>" } table.html(html) }, fillSeconds: function() { var table = this.widget.find(".timepicker .timepicker-seconds table"); table.parent().hide(); var html = ""; var current = 0; for (var i = 0; i < 5; i++) { html += "<tr>"; for (var j = 0; j < 4; j += 1) { var c = current.toString(); html += '<td class="second">' + padLeft(c, 2, "0") + "</td>"; current += 3 } html += "</tr>" } table.html(html) }, fillTime: function() { if (!this._date) return; var timeComponents = this.widget.find(".timepicker span[data-time-component]"); var table = timeComponents.closest("table"); var is12HourFormat = this.options.pick12HourFormat; var hour = this._date.getUTCHours(); var period = "AM"; if (is12HourFormat) { if (hour >= 12) period = "PM"; if (hour === 0) hour = 12; else if (hour != 12) hour = hour % 12; this.widget.find(".timepicker [data-action=togglePeriod]").text(period) } hour = padLeft(hour.toString(), 2, "0"); var minute = padLeft(this._date.getUTCMinutes().toString(), 2, "0"); var second = padLeft(this._date.getUTCSeconds().toString(), 2, "0"); timeComponents.filter("[data-time-component=hours]").text(hour); timeComponents.filter("[data-time-component=minutes]").text(minute); timeComponents.filter("[data-time-component=seconds]").text(second) }, click: function(e) { e.stopPropagation(); e.preventDefault(); this._unset = false; var target = $(e.target).closest("span, td, th"); if (target.length === 1) { if (!target.is(".disabled")) { switch (target[0].nodeName.toLowerCase()) { case "th": switch (target[0].className) { case "switch": this.showMode(1); break; case "prev": case "next": var vd = this.viewDate; var navFnc = DPGlobal.modes[this.viewMode].navFnc; var step = DPGlobal.modes[this.viewMode].navStep; if (target[0].className === "prev") step = step * -1; vd["set" + navFnc](vd["get" + navFnc]() + step); this.fillDate(); this.set(); break } break; case "span": if (target.is(".month")) { var month = target.parent().find("span").index(target); this.viewDate.setUTCMonth(month) } else { var year = parseInt(target.text(), 10) || 0; this.viewDate.setUTCFullYear(year) } if (this.viewMode !== 0) { this._date = UTCDate(this.viewDate.getUTCFullYear(), this.viewDate.getUTCMonth(), this.viewDate.getUTCDate(), this._date.getUTCHours(), this._date.getUTCMinutes(), this._date.getUTCSeconds(), this._date.getUTCMilliseconds()); this.notifyChange() } this.showMode(-1); this.fillDate(); this.set(); break; case "td": if (target.is(".day")) { var day = parseInt(target.text(), 10) || 1; var month = this.viewDate.getUTCMonth(); var year = this.viewDate.getUTCFullYear(); if (target.is(".old")) { if (month === 0) { month = 11; year -= 1 } else { month -= 1 } } else if (target.is(".new")) { if (month == 11) { month = 0; year += 1 } else { month += 1 } } this._date = UTCDate(year, month, day, this._date.getUTCHours(), this._date.getUTCMinutes(), this._date.getUTCSeconds(), this._date.getUTCMilliseconds()); this.viewDate = UTCDate(year, month, Math.min(28, day), 0, 0, 0, 0); this.fillDate(); this.set(); this.notifyChange() } break } } } }, actions: { incrementHours: function(e) { this._date.setUTCHours(this._date.getUTCHours() + 1) }, incrementMinutes: function(e) { this._date.setUTCMinutes(this._date.getUTCMinutes() + 1) }, incrementSeconds: function(e) { this._date.setUTCSeconds(this._date.getUTCSeconds() + 1) }, decrementHours: function(e) { this._date.setUTCHours(this._date.getUTCHours() - 1) }, decrementMinutes: function(e) { this._date.setUTCMinutes(this._date.getUTCMinutes() - 1) }, decrementSeconds: function(e) { this._date.setUTCSeconds(this._date.getUTCSeconds() - 1) }, togglePeriod: function(e) { var hour = this._date.getUTCHours(); if (hour >= 12) hour -= 12; else hour += 12; this._date.setUTCHours(hour) }, showPicker: function() { this.widget.find(".timepicker > div:not(.timepicker-picker)").hide(); this.widget.find(".timepicker .timepicker-picker").show() }, showHours: function() { this.widget.find(".timepicker .timepicker-picker").hide(); this.widget.find(".timepicker .timepicker-hours").show() }, showMinutes: function() { this.widget.find(".timepicker .timepicker-picker").hide(); this.widget.find(".timepicker .timepicker-minutes").show() }, showSeconds: function() { this.widget.find(".timepicker .timepicker-picker").hide(); this.widget.find(".timepicker .timepicker-seconds").show() }, selectHour: function(e) { var tgt = $(e.target); var value = parseInt(tgt.text(), 10); if (this.options.pick12HourFormat) { var current = this._date.getUTCHours(); if (current >= 12) { if (value != 12) value = (value + 12) % 24 } else { if (value === 12) value = 0; else value = value % 12 } } this._date.setUTCHours(value); this.actions.showPicker.call(this) }, selectMinute: function(e) { var tgt = $(e.target); var value = parseInt(tgt.text(), 10); this._date.setUTCMinutes(value); this.actions.showPicker.call(this) }, selectSecond: function(e) { var tgt = $(e.target); var value = parseInt(tgt.text(), 10); this._date.setUTCSeconds(value); this.actions.showPicker.call(this) } }, doAction: function(e) { e.stopPropagation(); e.preventDefault(); if (!this._date) this._date = UTCDate(1970, 0, 0, 0, 0, 0, 0); var action = $(e.currentTarget).data("action"); var rv = this.actions[action].apply(this, arguments); this.set(); this.fillTime(); this.notifyChange(); return rv }, stopEvent: function(e) { e.stopPropagation(); e.preventDefault() }, keydown: function(e) { var self = this, k = e.which, input = $(e.target); if (k == 8 || k == 46) { setTimeout(function() { self._resetMaskPos(input) }) } }, keypress: function(e) { var k = e.which; if (k == 8 || k == 46) { return } var input = $(e.target); var c = String.fromCharCode(k); var val = input.val() || ""; val += c; var mask = this._mask[this._maskPos]; if (!mask) { return false } if (mask.end != val.length) { return } if (!mask.pattern.test(val.slice(mask.start))) { val = val.slice(0, val.length - 1); while ((mask = this._mask[this._maskPos]) && mask.character) { val += mask.character; this._maskPos++ } val += c; if (mask.end != val.length) { input.val(val); return false } else { if (!mask.pattern.test(val.slice(mask.start))) { input.val(val.slice(0, mask.start)); return false } else { input.val(val); this._maskPos++; return false } } } else { this._maskPos++ } }, change: function(e) { var input = $(e.target); var val = input.val(); if (this._formatPattern.test(val)) { this.update(); this.setValue(this._date.getTime()); this.notifyChange(); this.set() } else if (val && val.trim()) { this.setValue(this._date.getTime()); if (this._date) this.set(); else input.val("") } else { if (this._date) { this.setValue(null); this.notifyChange(); this._unset = true } } this._resetMaskPos(input) }, showMode: function(dir) { if (dir) { this.viewMode = Math.max(this.minViewMode, Math.min(2, this.viewMode + dir)) } this.widget.find(".datepicker > div").hide().filter(".datepicker-" + DPGlobal.modes[this.viewMode].clsName).show() }, destroy: function() { this._detachDatePickerEvents(); this._detachDatePickerGlobalEvents(); this.widget.remove(); this.$element.removeData("datetimepicker"); this.component.removeData("datetimepicker") }, formatDate: function(d) { return this.format.replace(formatReplacer, function(match) { var methodName, property, rv, len = match.length; if (match === "ms") len = 1; property = dateFormatComponents[match].property; if (property === "Hours12") { rv = d.getUTCHours(); if (rv === 0) rv = 12; else if (rv !== 12) rv = rv % 12 } else if (property === "Period12") { if (d.getUTCHours() >= 12) return "PM"; else return "AM" } else { methodName = "get" + property; rv = d[methodName]() } if (methodName === "getUTCMonth") rv = rv + 1; if (methodName === "getUTCYear") rv = rv + 1900 - 2e3; return padLeft(rv.toString(), len, "0") }) }, parseDate: function(str) { var match, i, property, methodName, value, parsed = {}; if (!(match = this._formatPattern.exec(str))) return null; for (i = 1; i < match.length; i++) { property = this._propertiesByIndex[i]; if (!property) continue; value = match[i]; if (/^\d+$/.test(value)) value = parseInt(value, 10); parsed[property] = value } return this._finishParsingDate(parsed) }, _resetMaskPos: function(input) { var val = input.val(); for (var i = 0; i < this._mask.length; i++) { if (this._mask[i].end > val.length) { this._maskPos = i; break } else if (this._mask[i].end === val.length) { this._maskPos = i + 1; break } } }, _finishParsingDate: function(parsed) { var year, month, date, hours, minutes, seconds, milliseconds; year = parsed.UTCFullYear; if (parsed.UTCYear) year = 2e3 + parsed.UTCYear; if (!year) year = 1970; if (parsed.UTCMonth) month = parsed.UTCMonth - 1; else month = 0; date = parsed.UTCDate || 1; hours = parsed.UTCHours || 0; minutes = parsed.UTCMinutes || 0; seconds = parsed.UTCSeconds || 0; milliseconds = parsed.UTCMilliseconds || 0; if (parsed.Hours12) { hours = parsed.Hours12 } if (parsed.Period12) { if (/pm/i.test(parsed.Period12)) { if (hours != 12) hours = (hours + 12) % 24 } else { hours = hours % 12 } } return UTCDate(year, month, date, hours, minutes, seconds, milliseconds) }, _compileFormat: function() { var match, component, components = [], mask = [], str = this.format, propertiesByIndex = {}, i = 0, pos = 0; while (match = formatComponent.exec(str)) { component = match[0]; if (component in dateFormatComponents) { i++; propertiesByIndex[i] = dateFormatComponents[component].property; components.push("\\s*" + dateFormatComponents[component].getPattern(this) + "\\s*"); mask.push({ pattern: new RegExp(dateFormatComponents[component].getPattern(this)), property: dateFormatComponents[component].property, start: pos, end: pos += component.length }) } else { components.push(escapeRegExp(component)); mask.push({ pattern: new RegExp(escapeRegExp(component)), character: component, start: pos, end: ++pos }) } str = str.slice(component.length) } this._mask = mask; this._maskPos = 0; this._formatPattern = new RegExp("^\\s*" + components.join("") + "\\s*$"); this._propertiesByIndex = propertiesByIndex }, _attachDatePickerEvents: function(obj) { var self = this; this.widget.on("click", ".datepicker *", $.proxy(this.click, this)); this.widget.on("click", "[data-action]", $.proxy(this.doAction, this)); this.widget.on("mousedown", $.proxy(this.stopEvent, this)); if (this.pickDate && this.pickTime) { this.widget.on("click.togglePicker", ".accordion-toggle", function(e) { e.stopPropagation(); var $this = $(this); var $parent = $this.closest("ul"); var expanded = $parent.find(".collapse.in"); var closed = $parent.find(".collapse:not(.in)"); if (expanded && expanded.length) {//if() var collapseData = expanded.data("collapse"); if (collapseData && collapseData.transitioning) return;expanded.collapse("hide"); closed.collapse("show"); $this.find("i").toggleClass(self.timeIcon + " " + self.dateIcon); self.$element.find(".add-on i").toggleClass(self.timeIcon + " " + self.dateIcon)if(obj.attr("class").indexOf("bootstrap-datetimepicker-widget-top")>-1){var timepickflag=expanded.find(".timepicker");var datepickerObj=obj.find(".datepicker");var timepickerObj=obj.find(".timepicker");if(timepickflag.length==0){var top=parseInt(obj.css("top"))+parseInt(datepickerObj.css("height"))-parseInt(timepickerObj.css("height"));obj.animate({top:top+'px'});}else{var top=parseInt(obj.css("top"))-(parseInt(datepickerObj.css("height"))-parseInt(timepickerObj.css("height")));obj.animate({top:top+'px'});}} } }) } if (this.isInput) { this.$element.on({ focus: $.proxy(this.show, this), change: $.proxy(this.change, this) }); if (this.options.maskInput) { this.$element.on({ keydown: $.proxy(this.keydown, this), keypress: $.proxy(this.keypress, this) }) } } else { this.$element.on({ change: $.proxy(this.change, this) }, "input"); if (this.options.maskInput) { this.$element.on({ keydown: $.proxy(this.keydown, this), keypress: $.proxy(this.keypress, this) }, "input") } if (this.component) { this.component.on("click", $.proxy(this.show, this)) } else { this.$element.on("click", $.proxy(this.show, this)) } } }, _attachDatePickerGlobalEvents: function() { $(window).on("resize.datetimepicker" + this.id, $.proxy(this.place, this)); if (!this.isInput) { $(document).on("mousedown.datetimepicker" + this.id, $.proxy(this.hide, this)) } }, _detachDatePickerEvents: function() { this.widget.off("click", ".datepicker *", this.click); this.widget.off("click", "[data-action]"); this.widget.off("mousedown", this.stopEvent); if (this.pickDate && this.pickTime) { this.widget.off("click.togglePicker") } if (this.isInput) { this.$element.off({ focus: this.show, change: this.change }); if (this.options.maskInput) { this.$element.off({ keydown: this.keydown, keypress: this.keypress }) } } else { this.$element.off({ change: this.change }, "input"); if (this.options.maskInput) { this.$element.off({ keydown: this.keydown, keypress: this.keypress }, "input") } if (this.component) { this.component.off("click", this.show) } else { this.$element.off("click", this.show) } } }, _detachDatePickerGlobalEvents: function() { $(window).off("resize.datetimepicker" + this.id); if (!this.isInput) { $(document).off("mousedown.datetimepicker" + this.id) } }, _isInFixed: function() { if (this.$element) { var parents = this.$element.parents(); var inFixed = false; for (var i = 0; i < parents.length; i++) { if ($(parents[i]).css("position") == "fixed") { inFixed = true; break } } return inFixed } else { return false } } }; $.fn.datetimepicker = function(option, val) { return this.each(function() { var $this = $(this), data = $this.data("datetimepicker"), options = typeof option === "object" && option; if (!data) { $this.data("datetimepicker", data = new DateTimePicker(this, $.extend({}, $.fn.datetimepicker.defaults, options))) } if (typeof option === "string") data[option](val) }) }; $.fn.datetimepicker.defaults = { maskInput: false, pickDate: true, pickTime: true, pick12HourFormat: false, pickSeconds: true, startDate: -Infinity, endDate: Infinity, collapse: true }; $.fn.datetimepicker.Constructor = DateTimePicker; var dpgId = 0; var dates = $.fn.datetimepicker.dates = { en: { days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] } }; var dateFormatComponents = { dd: { property: "UTCDate", getPattern: function() { return "(0?[1-9]|[1-2][0-9]|3[0-1])\\b" } }, MM: { property: "UTCMonth", getPattern: function() { return "(0?[1-9]|1[0-2])\\b" } }, yy: { property: "UTCYear", getPattern: function() { return "(\\d{2})\\b" } }, yyyy: { property: "UTCFullYear", getPattern: function() { return "(\\d{4})\\b" } }, hh: { property: "UTCHours", getPattern: function() { return "(0?[0-9]|1[0-9]|2[0-3])\\b" } }, mm: { property: "UTCMinutes", getPattern: function() { return "(0?[0-9]|[1-5][0-9])\\b" } }, ss: { property: "UTCSeconds", getPattern: function() { return "(0?[0-9]|[1-5][0-9])\\b" } }, ms: { property: "UTCMilliseconds", getPattern: function() { return "([0-9]{1,3})\\b" } }, HH: { property: "Hours12", getPattern: function() { return "(0?[1-9]|1[0-2])\\b" } }, PP: { property: "Period12", getPattern: function() { return "(AM|PM|am|pm|Am|aM|Pm|pM)\\b" } } }; var keys = []; for (var k in dateFormatComponents) keys.push(k); keys[keys.length - 1] += "\\b"; keys.push("."); var formatComponent = new RegExp(keys.join("\\b|")); keys.pop(); var formatReplacer = new RegExp(keys.join("\\b|"), "g"); function escapeRegExp(str) { return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") } function padLeft(s, l, c) { if (l < s.length) return s; else return Array(l - s.length + 1).join(c || " ") + s } function getTemplate(timeIcon, pickDate, pickTime, is12Hours, showSeconds, collapse) { if (pickDate && pickTime) { return '<div class="bootstrap-datetimepicker-widget dropdown-menu"><div class="temp-display-datetime" id="temp-display-datetime"><span></span></div>' + "<ul>" + "<li" + (collapse ? ' class="collapse in"' : "") + ">" + '<div class="datepicker">' + DPGlobal.template + "</div>" + "</li>" + '<li class="picker-switch accordion-toggle"><a><i class="' + timeIcon + '"></i></a></li>' + "<li" + (collapse ? ' class="collapse"' : "") + ">" + '<div class="timepicker">' + TPGlobal.getTemplate(is12Hours, showSeconds) + "</div>" + "</li>" + "</ul>" + "</div>" } else if (pickTime) { return '<div class="bootstrap-datetimepicker-widget dropdown-menu">' + '<div class="timepicker">' + TPGlobal.getTemplate(is12Hours, showSeconds) + "</div>" + "</div>" } else { return '<div class="bootstrap-datetimepicker-widget dropdown-menu">' + '<div class="datepicker">' + DPGlobal.template + "</div>" + "</div>" } } function UTCDate() { return new Date(Date.UTC.apply(Date, arguments)) } var DPGlobal = { modes: [{ clsName: "days", navFnc: "UTCMonth", navStep: 1 }, { clsName: "months", navFnc: "UTCFullYear", navStep: 1 }, { clsName: "years", navFnc: "UTCFullYear", navStep: 10 }], isLeapYear: function(year) { return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0 }, getDaysInMonth: function(year, month) { return [31, DPGlobal.isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] }, headTemplate: "<thead>" + "<tr>" + '<th class="prev">‹</th>' + '<th colspan="5" class="switch"></th>' + '<th class="next">›</th>' + "</tr>" + "</thead>", contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>' }; DPGlobal.template = '<div class="datepicker-days">' + '<table class="table-condensed">' + DPGlobal.headTemplate + "<tbody></tbody>" + "</table>" + "</div>" + '<div class="datepicker-months">' + '<table class="table-condensed">' + DPGlobal.headTemplate + DPGlobal.contTemplate + "</table>" + "</div>" + '<div class="datepicker-years">' + '<table class="table-condensed">' + DPGlobal.headTemplate + DPGlobal.contTemplate + "</table>" + "</div>"; var TPGlobal = { hourTemplate: '<span data-action="showHours" data-time-component="hours" class="timepicker-hour"></span>', minuteTemplate: '<span data-action="showMinutes" data-time-component="minutes" class="timepicker-minute"></span>', secondTemplate: '<span data-action="showSeconds" data-time-component="seconds" class="timepicker-second"></span>' }; TPGlobal.getTemplate = function(is12Hours, showSeconds) { return '<div class="timepicker-picker">' + '<table class="table-condensed"' + (is12Hours ? ' data-hour-format="12"' : "") + ">" + "<tr>" + '<td><a href="#" class="btn" data-action="incrementHours"><i class="icon-chevron-up"></i></a></td>' + '<td class="separator"></td>' + '<td><a href="#" class="btn" data-action="incrementMinutes"><i class="icon-chevron-up"></i></a></td>' + (showSeconds ? '<td class="separator"></td>' + '<td><a href="#" class="btn" data-action="incrementSeconds"><i class="icon-chevron-up"></i></a></td>' : "") + (is12Hours ? '<td class="separator"></td>' : "") + "</tr>" + "<tr>" + "<td>" + TPGlobal.hourTemplate + "</td> " + '<td class="separator">:</td>' + "<td>" + TPGlobal.minuteTemplate + "</td> " + (showSeconds ? '<td class="separator">:</td>' + "<td>" + TPGlobal.secondTemplate + "</td>" : "") + (is12Hours ? '<td class="separator"></td>' + "<td>" + '<button type="button" class="btn btn-primary" data-action="togglePeriod"></button>' + "</td>" : "") + "</tr>" + "<tr>" + '<td><a href="#" class="btn" data-action="decrementHours"><i class="icon-chevron-down"></i></a></td>' + '<td class="separator"></td>' + '<td><a href="#" class="btn" data-action="decrementMinutes"><i class="icon-chevron-down"></i></a></td>' + (showSeconds ? '<td class="separator"></td>' + '<td><a href="#" class="btn" data-action="decrementSeconds"><i class="icon-chevron-down"></i></a></td>' : "") + (is12Hours ? '<td class="separator"></td>' : "") + "</tr>" + "</table>" + "</div>" + '<div class="timepicker-hours" data-action="selectHour">' + '<table class="table-condensed">' + "</table>" + "</div>" + '<div class="timepicker-minutes" data-action="selectMinute">' + '<table class="table-condensed">' + "</table>" + "</div>" + (showSeconds ? '<div class="timepicker-seconds" data-action="selectSecond">' + '<table class="table-condensed">' + "</table>" + "</div>" : "") }})(window.jQuery);
更改的bootstrap-datetimepicker.css
/*! * Datepicker for Bootstrap * * Copyright 2012 Stefan Petre * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * */.clearfix { *zoom: 1}.clearfix:before,.clearfix:after { display: table; content: ""; line-height: 0}.clearfix:after { clear: both}.hide-text { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0}.input-block-level { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box}.bootstrap-datetimepicker-widget { top: 0; left: 0; width: 250px; padding: 4px; margin-top: 1px; z-index: 3000; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.bootstrap-datetimepicker-widget: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: 6px}.bootstrap-datetimepicker-widget:after { content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid #fff; position: absolute; top: -6px; left: 7px}.bootstrap-datetimepicker-widget.pull-right:before { left: auto; right: 6px}.bootstrap-datetimepicker-widget.pull-right:after { left: auto; right: 7px}.bootstrap-datetimepicker-widget>ul { list-style-type: none; margin: 0}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second { width: 100%; font-weight: bold; font-size: 1.2em}.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator { width: 4px; padding: 0; margin: 0}.bootstrap-datetimepicker-widget .datepicker>div { display: none}.bootstrap-datetimepicker-widget .picker-switch { text-align: center}.bootstrap-datetimepicker-widget table { width: 100%; margin: 0}.bootstrap-datetimepicker-widget td,.bootstrap-datetimepicker-widget th { text-align: center; width: 20px; height: 20px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.bootstrap-datetimepicker-widget td.day:hover,.bootstrap-datetimepicker-widget td.hour:hover,.bootstrap-datetimepicker-widget td.minute:hover,.bootstrap-datetimepicker-widget td.second:hover { background: #eee; cursor: pointer}.bootstrap-datetimepicker-widget td.old,.bootstrap-datetimepicker-widget td.new { color: #999}.bootstrap-datetimepicker-widget td.active,.bootstrap-datetimepicker-widget td.active:hover { color: #fff; background-color: #006dcc; background-image: -moz-linear-gradient(top, #08c, #04c); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c)); background-image: -webkit-linear-gradient(top, #08c, #04c); background-image: -o-linear-gradient(top, #08c, #04c); background-image: linear-gradient(to bottom, #08c, #04c); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); border-color: #04c #04c #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #04c; filter: progid: DXImageTransform.Microsoft.gradient(enabled false); color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25)}.bootstrap-datetimepicker-widget td.active:hover,.bootstrap-datetimepicker-widget td.active:hover:hover,.bootstrap-datetimepicker-widget td.active:active,.bootstrap-datetimepicker-widget td.active:hover:active,.bootstrap-datetimepicker-widget td.active.active,.bootstrap-datetimepicker-widget td.active:hover.active,.bootstrap-datetimepicker-widget td.active.disabled,.bootstrap-datetimepicker-widget td.active:hover.disabled,.bootstrap-datetimepicker-widget td.active[disabled],.bootstrap-datetimepicker-widget td.active:hover[disabled] { color: #fff; background-color: #04c; *background-color: #003bb3}.bootstrap-datetimepicker-widget td.active:active,.bootstrap-datetimepicker-widget td.active:hover:active,.bootstrap-datetimepicker-widget td.active.active,.bootstrap-datetimepicker-widget td.active:hover.active { background-color: #039 \9}.bootstrap-datetimepicker-widget td.disabled,.bootstrap-datetimepicker-widget td.disabled:hover { background: 0; color: #999; cursor: not-allowed}.bootstrap-datetimepicker-widget td span { display: block; width: 47px; height: 54px; line-height: 54px; float: left; margin: 2px; cursor: pointer; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.bootstrap-datetimepicker-widget td span:hover { background: #eee}.bootstrap-datetimepicker-widget td span.active { color: #fff; background-color: #006dcc; background-image: -moz-linear-gradient(top, #08c, #04c); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c)); background-image: -webkit-linear-gradient(top, #08c, #04c); background-image: -o-linear-gradient(top, #08c, #04c); background-image: linear-gradient(to bottom, #08c, #04c); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); border-color: #04c #04c #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #04c; filter: progid: DXImageTransform.Microsoft.gradient(enabled false); color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25)}.bootstrap-datetimepicker-widget td span.active:hover,.bootstrap-datetimepicker-widget td span.active:active,.bootstrap-datetimepicker-widget td span.active.active,.bootstrap-datetimepicker-widget td span.active.disabled,.bootstrap-datetimepicker-widget td span.active[disabled] { color: #fff; background-color: #04c; *background-color: #003bb3}.bootstrap-datetimepicker-widget td span.active:active,.bootstrap-datetimepicker-widget td span.active.active { background-color: #039 \9}.bootstrap-datetimepicker-widget td span.old { color: #999}.bootstrap-datetimepicker-widget td span.disabled,.bootstrap-datetimepicker-widget td span.disabled:hover { background: 0; color: #999; cursor: not-allowed}.bootstrap-datetimepicker-widget th.switch { width: 145px}.bootstrap-datetimepicker-widget th.next,.bootstrap-datetimepicker-widget th.prev { font-size: 21px}.bootstrap-datetimepicker-widget th.disabled,.bootstrap-datetimepicker-widget th.disabled:hover { background: 0; color: #999; cursor: not-allowed}.bootstrap-datetimepicker-widget thead tr:first-child th { cursor: pointer}.bootstrap-datetimepicker-widget thead tr:first-child th:hover { background: #eee}.input-append.date .add-on i,.input-prepend.date .add-on i { display: block; cursor: pointer; width: 16px; height: 16px}.bootstrap-datetimepicker-widget.left-oriented:before { left: auto; right: 6px}.bootstrap-datetimepicker-widget.left-oriented:after { left: auto; right: 7px}.bootstrap-datetimepicker-widget-top { top: 0; left: 0; width: 250px; padding: 4px; margin-top: 1px; z-index: 3000; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.bootstrap-datetimepicker-widget-top:after{ content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #fff; position: absolute; bottom: -6px; left: 7px;}.bootstrap-datetimepicker-widget-top:before{ content: ''; display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 7px solid #ccc; border-bottom-color: rgba(0, 0, 0, 0.2); position: absolute; bottom: -7px; left: 6px;}.bootstrap-datetimepicker-widget-top.pull-right:before { left: auto; right: 6px}.bootstrap-datetimepicker-widget-top.pull-right:after { left: auto; right: 7px}.bootstrap-datetimepicker-widget-top>ul { list-style-type: none; margin: 0}.bootstrap-datetimepicker-widget-top .timepicker-hour,.bootstrap-datetimepicker-widget-top .timepicker-minute,.bootstrap-datetimepicker-widget-top .timepicker-second { width: 100%; font-weight: bold; font-size: 1.2em}.bootstrap-datetimepicker-widget-top table[data-hour-format="12"] .separator { width: 4px; padding: 0; margin: 0}.bootstrap-datetimepicker-widget-top .datepicker>div { display: none}.bootstrap-datetimepicker-widget-top .picker-switch { text-align: center}.bootstrap-datetimepicker-widget-top table { width: 100%; margin: 0}.bootstrap-datetimepicker-widget-top td,.bootstrap-datetimepicker-widget-top th { text-align: center; width: 20px; height: 20px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.bootstrap-datetimepicker-widget-top td.day:hover,.bootstrap-datetimepicker-widget-top td.hour:hover,.bootstrap-datetimepicker-widget-top td.minute:hover,.bootstrap-datetimepicker-widget-top td.second:hover { background: #eee; cursor: pointer}.bootstrap-datetimepicker-widget-top td.old,.bootstrap-datetimepicker-widget-top td.new { color: #999}.bootstrap-datetimepicker-widget-top td.active,.bootstrap-datetimepicker-widget-top td.active:hover { color: #fff; background-color: #006dcc; background-image: -moz-linear-gradient(top, #08c, #04c); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c)); background-image: -webkit-linear-gradient(top, #08c, #04c); background-image: -o-linear-gradient(top, #08c, #04c); background-image: linear-gradient(to bottom, #08c, #04c); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); border-color: #04c #04c #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #04c; filter: progid: DXImageTransform.Microsoft.gradient(enabled false); color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25)}.bootstrap-datetimepicker-widget-top td.active:hover,.bootstrap-datetimepicker-widget-top td.active:hover:hover,.bootstrap-datetimepicker-widget-top td.active:active,.bootstrap-datetimepicker-widget-top td.active:hover:active,.bootstrap-datetimepicker-widget-top td.active.active,.bootstrap-datetimepicker-widget-top td.active:hover.active,.bootstrap-datetimepicker-widget-top td.active.disabled,.bootstrap-datetimepicker-widget-top td.active:hover.disabled,.bootstrap-datetimepicker-widget-top td.active[disabled],.bootstrap-datetimepicker-widget-top td.active:hover[disabled] { color: #fff; background-color: #04c; *background-color: #003bb3}.bootstrap-datetimepicker-widget-top td.active:active,.bootstrap-datetimepicker-widget-top td.active:hover:active,.bootstrap-datetimepicker-widget-top td.active.active,.bootstrap-datetimepicker-widget-top td.active:hover.active { background-color: #039 \9}.bootstrap-datetimepicker-widget-top td.disabled,.bootstrap-datetimepicker-widget-top td.disabled:hover { background: 0; color: #999; cursor: not-allowed}.bootstrap-datetimepicker-widget-top td span { display: block; width: 47px; height: 54px; line-height: 54px; float: left; margin: 2px; cursor: pointer; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.bootstrap-datetimepicker-widget-top td span:hover { background: #eee}.bootstrap-datetimepicker-widget-top td span.active { color: #fff; background-color: #006dcc; background-image: -moz-linear-gradient(top, #08c, #04c); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c)); background-image: -webkit-linear-gradient(top, #08c, #04c); background-image: -o-linear-gradient(top, #08c, #04c); background-image: linear-gradient(to bottom, #08c, #04c); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); border-color: #04c #04c #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #04c; filter: progid: DXImageTransform.Microsoft.gradient(enabled false); color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25)}.bootstrap-datetimepicker-widget-top td span.active:hover,.bootstrap-datetimepicker-widget-top td span.active:active,.bootstrap-datetimepicker-widget-top td span.active.active,.bootstrap-datetimepicker-widget-top td span.active.disabled,.bootstrap-datetimepicker-widget-top td span.active[disabled] { color: #fff; background-color: #04c; *background-color: #003bb3}.bootstrap-datetimepicker-widget-top td span.active:active,.bootstrap-datetimepicker-widget-top td span.active.active { background-color: #039 \9}.bootstrap-datetimepicker-widget-top td span.old { color: #999}.bootstrap-datetimepicker-widget-top td span.disabled,.bootstrap-datetimepicker-widget-top td span.disabled:hover { background: 0; color: #999; cursor: not-allowed}.bootstrap-datetimepicker-widget-top th.switch { width: 145px}.bootstrap-datetimepicker-widget-top th.next,.bootstrap-datetimepicker-widget-top th.prev { font-size: 21px}.bootstrap-datetimepicker-widget-top th.disabled,.bootstrap-datetimepicker-widget-top th.disabled:hover { background: 0; color: #999; cursor: not-allowed}.bootstrap-datetimepicker-widget-top thead tr:first-child th { cursor: pointer}.bootstrap-datetimepicker-widget-top thead tr:first-child th:hover { background: #eee}.bootstrap-datetimepicker-widget-top.left-oriented:before { left: auto; right: 6px}.bootstrap-datetimepicker-widget-top.left-oriented:after { left: auto; right: 7px}.bootstrap-datetimepicker-widget-top .temp-display-datetime{ text-align: center; background-color:black; border-radius: 5px; /*min-height:20px;*/}.bootstrap-datetimepicker-widget-top .temp-display-datetime span{ color:white;}.table-condensed th,.table-condensed td {padding:0px;}.bootstrap-datetimepicker-widget-top{font-size:80%;color:#B8B6FA;background-color:gray;}.bootstrap-datetimepicker-widget-top:after{ border-top: 6px solid gray;}.bootstrap-datetimepicker-widget-top:before{border-top:gray;}
test的html
<!DOCTYPE HTML><html> <head> <link href="bootstrap-combined.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" media="screen" href="bootstrap-datetimepicker.css"> <style> #datetimepicker{ position:relative; top:300px; } </style> </head> <body> <div id="datetimepicker" class="input-append date"> <input type="text" style="display:none"></input> <span class="add-on"> <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> </span> </div> <script type="text/javascript" src="jquery-2.0.0.js"> </script> <script type="text/javascript" src="bootstrap.js"> </script> <script type="text/javascript" src="bootstrap-datetimepicker.js"> </script> <script type="text/javascript">/*****yilei change********//******orientation the 'top' option is new one*********//******add the new option in bootstrap-dateimepicker.js---place:XXXXX*********//******add the new style in bootstrap-dateimepicker.css---place:XXXXX*********/ $('#datetimepicker').datetimepicker({ format: 'MM/dd/yyyy hh:mm:ss', language: 'en', pickDate: true, pickTime: true, hourStep: 1, minuteStep: 15, secondStep: 30, orientation: "top",width:"100px" }); $('#datetimepicker').on("hide",function(d){console.dir($(d.target).find("input").val());}) </script> </body><html>
其中用的
bootstrap-combined.css
<pre name="code" class="css">/*! * Bootstrap v2.2.2 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world @twitter by @mdo and @fat. */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section { display: block}audio,canvas,video { display: inline-block; *display: inline; *zoom: 1}audio:not([controls]) { display: none}html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%}a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px}a:hover,a:active { outline: 0}sub,sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline}sup { top: -0.5em}sub { bottom: -0.25em}img { width: auto\9; height: auto; /*max-width:100%;*/ vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic}#map_canvas img,.google-maps img { max-width: none}button,input,select,textarea { margin: 0; font-size: 100%; vertical-align: middle}button,input { *overflow: visible; line-height: normal}button::-moz-focus-inner,input::-moz-focus-inner { padding: 0; border: 0}button,html input[type="button"],input[type="reset"],input[type="submit"] { cursor: pointer; -webkit-appearance: button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"] { cursor: pointer}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}@media print { * { color: #000!important; text-shadow: none!important; background: transparent!important; box-shadow: none!important } a, a:visited { text-decoration: underline } a[href]:after { content: " (" attr(href) ")" } abbr[title]:after { content: " (" attr(title) ")" } .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: "" } pre, blockquote { border: 1px solid #999; page-break-inside: avoid } thead { display: table-header-group } tr, img { page-break-inside: avoid } img { max-width: 100%!important } @page { margin: .5cm } p, h2, h3 { orphans: 3; widows: 3 } h2, h3 { page-break-after: avoid }}.clearfix { *zoom: 1}.clearfix:before,.clearfix:after { display: table; line-height: 0; content: ""}.clearfix:after { clear: both}.hide-text { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0}.input-block-level { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box}body { margin: 0; /*font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff*/}a { color: #08c; text-decoration: none}a:hover { color: #005580; text-decoration: underline}.img-rounded { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px}.img-polaroid { padding: 4px; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1)}.img-circle { -webkit-border-radius: 500px; -moz-border-radius: 500px; border-radius: 500px}.row { margin-left: -20px; *zoom: 1}.row:before,.row:after { display: table; line-height: 0; content: ""}.row:after { clear: both}[class*="span"] { float: left; min-height: 1px; margin-left: 20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container { width: 940px}.span12 { width: 940px}.span11 { width: 860px}.span10 { width: 780px}.span9 { width: 700px}.span8 { width: 620px}.span7 { width: 540px}.span6 { width: 460px}.span5 { width: 380px}.span4 { width: 300px}.span3 { width: 220px}.span2 { width: 140px}.span1 { width: 60px}.offset12 { margin-left: 980px}.offset11 { margin-left: 900px}.offset10 { margin-left: 820px}.offset9 { margin-left: 740px}.offset8 { margin-left: 660px}.offset7 { margin-left: 580px}.offset6 { margin-left: 500px}.offset5 { margin-left: 420px}.offset4 { margin-left: 340px}.offset3 { margin-left: 260px}.offset2 { margin-left: 180px}.offset1 { margin-left: 100px}.row-fluid { width: 100%; *zoom: 1}.row-fluid:before,.row-fluid:after { display: table; line-height: 0; content: ""}.row-fluid:after { clear: both}.row-fluid [class*="span"] { display: block; float: left; width: 100%; min-height: 30px; margin-left: 2.127659574468085%; *margin-left: 2.074468085106383%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box}.row-fluid [class*="span"]:first-child { margin-left: 0}.row-fluid .controls-row [class*="span"]+[class*="span"] { margin-left: 2.127659574468085%}.row-fluid .span12 { width: 100%; *width: 99.94680851063829%}.row-fluid .span11 { width: 91.48936170212765%; *width: 91.43617021276594%}.row-fluid .span10 { width: 82.97872340425532%; *width: 82.92553191489361%}.row-fluid .span9 { width: 74.46808510638297%; *width: 74.41489361702126%}.row-fluid .span8 { width: 65.95744680851064%; *width: 65.90425531914893%}.row-fluid .span7 { width: 57.44680851063829%; *width: 57.39361702127659%}.row-fluid .span6 { width: 48.93617021276595%; *width: 48.88297872340425%}.row-fluid .span5 { width: 40.42553191489362%; *width: 40.37234042553192%}.row-fluid .span4 { width: 31.914893617021278%; *width: 31.861702127659576%}.row-fluid .span3 { width: 23.404255319148934%; *width: 23.351063829787233%}.row-fluid .span2 { width: 14.893617021276595%; *width: 14.840425531914894%}.row-fluid .span1 { width: 6.382978723404255%; *width: 6.329787234042553%}.row-fluid .offset12 { margin-left: 104.25531914893617%; *margin-left: 104.14893617021275%}.row-fluid .offset12:first-child { margin-left: 102.12765957446808%; *margin-left: 102.02127659574467%}.row-fluid .offset11 { margin-left: 95.74468085106382%; *margin-left: 95.6382978723404%}.row-fluid .offset11:first-child { margin-left: 93.61702127659574%; *margin-left: 93.51063829787232%}.row-fluid .offset10 { margin-left: 87.23404255319149%; *margin-left: 87.12765957446807%}.row-fluid .offset10:first-child { margin-left: 85.1063829787234%; *margin-left: 84.99999999999999%}.row-fluid .offset9 { margin-left: 78.72340425531914%; *margin-left: 78.61702127659572%}.row-fluid .offset9:first-child { margin-left: 76.59574468085106%; *margin-left: 76.48936170212764%}.row-fluid .offset8 { margin-left: 70.2127659574468%; *margin-left: 70.10638297872339%}.row-fluid .offset8:first-child { margin-left: 68.08510638297872%; *margin-left: 67.9787234042553%}.row-fluid .offset7 { margin-left: 61.70212765957446%; *margin-left: 61.59574468085106%}.row-fluid .offset7:first-child { margin-left: 59.574468085106375%; *margin-left: 59.46808510638297%}.row-fluid .offset6 { margin-left: 53.191489361702125%; *margin-left: 53.085106382978715%}.row-fluid .offset6:first-child { margin-left: 51.063829787234035%; *margin-left: 50.95744680851063%}.row-fluid .offset5 { margin-left: 44.68085106382979%; *margin-left: 44.57446808510638%}.row-fluid .offset5:first-child { margin-left: 42.5531914893617%; *margin-left: 42.4468085106383%}.row-fluid .offset4 { margin-left: 36.170212765957444%; *margin-left: 36.06382978723405%}.row-fluid .offset4:first-child { margin-left: 34.04255319148936%; *margin-left: 33.93617021276596%}.row-fluid .offset3 { margin-left: 27.659574468085104%; *margin-left: 27.5531914893617%}.row-fluid .offset3:first-child { margin-left: 25.53191489361702%; *margin-left: 25.425531914893618%}.row-fluid .offset2 { margin-left: 19.148936170212764%; *margin-left: 19.04255319148936%}.row-fluid .offset2:first-child { margin-left: 17.02127659574468%; *margin-left: 16.914893617021278%}.row-fluid .offset1 { margin-left: 10.638297872340425%; *margin-left: 10.53191489361702%}.row-fluid .offset1:first-child { margin-left: 8.51063829787234%; *margin-left: 8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide { display: none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right { float: right}.container { margin-right: auto; margin-left: auto; *zoom: 1}.container:before,.container:after { display: table; line-height: 0; content: ""}.container:after { clear: both}.container-fluid { padding-right: 20px; padding-left: 20px; *zoom: 1}.container-fluid:before,.container-fluid:after { display: table; line-height: 0; content: ""}.container-fluid:after { clear: both}p { margin: 0 0 10px}.lead { margin-bottom: 20px; font-size: 21px; font-weight: 200; line-height: 30px}small { font-size: 85%}strong { font-weight: bold}em { font-style: italic}cite { font-style: normal}.muted { color: #999}a.muted:hover { color: #808080}.text-warning { color: #c09853}a.text-warning:hover { color: #a47e3c}.text-error { color: #b94a48}a.text-error:hover { color: #953b39}.text-info { color: #3a87ad}a.text-info:hover { color: #2d6987}.text-success { color: #468847}a.text-success:hover { color: #356635}h1,h2,h3,h4,h5,h6 { margin: 10px 0; font-family: inherit; font-weight: bold; line-height: 20px; color: inherit; text-rendering: optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small { font-weight: normal; line-height: 1; color: #999}h1,h2,h3 { line-height: 40px}h1 { font-size: 38.5px}h2 { font-size: 31.5px}h3 { font-size: 24.5px}h4 { font-size: 17.5px}h5 { font-size: 14px}h6 { font-size: 11.9px}h1 small { font-size: 24.5px}h2 small { font-size: 17.5px}h3 small { font-size: 14px}h4 small { font-size: 14px}.page-header { padding-bottom: 9px; margin: 20px 0 30px; border-bottom: 1px solid #eee}ul,ol { padding: 0; margin: 0 0 10px 25px}ul ul,ul ol,ol ol,ol ul { margin-bottom: 0}li { line-height: 20px}ul.unstyled,ol.unstyled { margin-left: 0; list-style: none}ul.inline,ol.inline { margin-left: 0; list-style: none}ul.inline>li,ol.inline>li { display: inline-block; padding-right: 5px; padding-left: 5px}dl { margin-bottom: 20px}dt,dd { line-height: 20px}dt { font-weight: bold}dd { margin-left: 10px}.dl-horizontal { *zoom: 1}.dl-horizontal:before,.dl-horizontal:after { display: table; line-height: 0; content: ""}.dl-horizontal:after { clear: both}.dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap}.dl-horizontal dd { margin-left: 180px}hr { margin: 20px 0; border: 0; border-top: 1px solid #eee; border-bottom: 1px solid #fff}abbr[title],abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999}abbr.initialism { font-size: 90%; text-transform: uppercase}blockquote { padding: 0 0 0 15px; margin: 0 0 20px; border-left: 5px solid #eee}blockquote p { margin-bottom: 0; font-size: 16px; font-weight: 300; line-height: 25px}blockquote small { display: block; line-height: 20px; color: #999}blockquote small:before { content: '\2014 \00A0'}blockquote.pull-right { float: right; padding-right: 15px; padding-left: 0; border-right: 5px solid #eee; border-left: 0}blockquote.pull-right p,blockquote.pull-right small { text-align: right}blockquote.pull-right small:before { content: ''}blockquote.pull-right small:after { content: '\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after { content: ""}address { display: block; margin-bottom: 20px; font-style: normal; line-height: 20px}code,pre { padding: 0 3px 2px; font-family: Monaco, Menlo, Consolas, "Courier New", monospace; font-size: 12px; color: #333; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px}code { padding: 2px 4px; color: #d14; white-space: nowrap; background-color: #f7f7f9; border: 1px solid #e1e1e8}pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 20px; word-break: break-all; word-wrap: break-word; white-space: pre; white-space: pre-wrap; background-color: #f5f5f5; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}pre.prettyprint { margin-bottom: 20px}pre code { padding: 0; color: inherit; white-space: pre; white-space: pre-wrap; background-color: transparent; border: 0}.pre-scrollable { max-height: 340px; overflow-y: scroll}form { margin: 0 0 20px}fieldset { padding: 0; margin: 0; border: 0}legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: 40px; color: #333; border: 0; border-bottom: 1px solid #e5e5e5}legend small { font-size: 15px; color: #999}label,input,button,select,textarea { font-size: 14px; font-weight: normal; line-height: 20px}input,button,select,textarea { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif}label { display: block; margin-bottom: 5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input { display: inline-block; height: 20px; padding: 4px 6px; margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555; vertical-align: middle; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}input,textarea,.uneditable-input { width: 206px}textarea { height: auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input { background-color: #fff; border: 1px solid #ccc; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border linear .2s, box-shadow linear .2s; -moz-transition: border linear .2s, box-shadow linear .2s; -o-transition: border linear .2s, box-shadow linear .2s; transition: border linear .2s, box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus { border-color: rgba(82, 168, 236, 0.8); outline: 0; outline: thin dotted \9; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6)}input[type="radio"],input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; *margin-top: 0; line-height: normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"] { width: auto}select,input[type="file"] { height: 30px; *margin-top: 4px; line-height: 30px}select { width: 220px; background-color: #fff; border: 1px solid #ccc}select[multiple],select[size] { height: auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px}.uneditable-input,.uneditable-textarea { color: #999; cursor: not-allowed; background-color: #fcfcfc; border-color: #ccc; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025)}.uneditable-input { overflow: hidden; white-space: nowrap}.uneditable-textarea { width: auto; height: auto}input:-moz-placeholder,textarea:-moz-placeholder { color: #999}input:-ms-input-placeholder,textarea:-ms-input-placeholder { color: #999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder { color: #999}.radio,.checkbox { min-height: 20px; padding-left: 20px}.radio input[type="radio"],.checkbox input[type="checkbox"] { float: left; margin-left: -20px}.controls>.radio:first-child,.controls>.checkbox:first-child { padding-top: 5px}.radio.inline,.checkbox.inline { display: inline-block; padding-top: 5px; margin-bottom: 0; vertical-align: middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline { margin-left: 10px}.input-mini { width: 60px}.input-small { width: 90px}.input-medium { width: 150px}.input-large { width: 210px}.input-xlarge { width: 270px}.input-xxlarge { width: 530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"] { float: none; margin-left: 0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"] { display: inline-block}input,textarea,.uneditable-input { margin-left: 0}.controls-row [class*="span"]+[class*="span"] { margin-left: 20px}input.span12,textarea.span12,.uneditable-input.span12 { width: 926px}input.span11,textarea.span11,.uneditable-input.span11 { width: 846px}input.span10,textarea.span10,.uneditable-input.span10 { width: 766px}input.span9,textarea.span9,.uneditable-input.span9 { width: 686px}input.span8,textarea.span8,.uneditable-input.span8 { width: 606px}input.span7,textarea.span7,.uneditable-input.span7 { width: 526px}input.span6,textarea.span6,.uneditable-input.span6 { width: 446px}input.span5,textarea.span5,.uneditable-input.span5 { width: 366px}input.span4,textarea.span4,.uneditable-input.span4 { width: 286px}input.span3,textarea.span3,.uneditable-input.span3 { width: 206px}input.span2,textarea.span2,.uneditable-input.span2 { width: 126px}input.span1,textarea.span1,.uneditable-input.span1 { width: 46px}.controls-row { *zoom: 1}.controls-row:before,.controls-row:after { display: table; line-height: 0; content: ""}.controls-row:after { clear: both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"] { float: left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"] { padding-top: 5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly] { cursor: not-allowed; background-color: #eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly] { background-color: transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline { color: #c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea { color: #c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea { border-color: #c09853; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus { border-color: #a47e3c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on { color: #c09853; background-color: #fcf8e3; border-color: #c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline { color: #b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea { color: #b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea { border-color: #b94a48; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus { border-color: #953b39; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on { color: #b94a48; background-color: #f2dede; border-color: #b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline { color: #468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea { color: #468847}.control-group.success input,.control-group.success select,.control-group.success textarea { border-color: #468847; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus { border-color: #356635; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on { color: #468847; background-color: #dff0d8; border-color: #468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline { color: #3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea { color: #3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea { border-color: #3a87ad; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus { border-color: #2d6987; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on { color: #3a87ad; background-color: #d9edf7; border-color: #3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid { color: #b94a48; border-color: #ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus { border-color: #e9322d; -webkit-box-shadow: 0 0 6px #f8b9b7; -moz-box-shadow: 0 0 6px #f8b9b7; box-shadow: 0 0 6px #f8b9b7}.form-actions { padding: 19px 20px 20px; margin-top: 20px; margin-bottom: 20px; background-color: #f5f5f5; border-top: 1px solid #e5e5e5; *zoom: 1}.form-actions:before,.form-actions:after { display: table; line-height: 0; content: ""}.form-actions:after { clear: both}.help-block,.help-inline { color: #595959}.help-block { display: block; margin-bottom: 10px}.help-inline { display: inline-block; *display: inline; padding-left: 5px; vertical-align: middle; *zoom: 1}.input-append,.input-prepend { margin-bottom: 5px; font-size: 0; white-space: nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu { font-size: 14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input { position: relative; margin-bottom: 0; *margin-left: 0; vertical-align: top; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus { z-index: 2}.input-append .add-on,.input-prepend .add-on { display: inline-block; width: auto; height: 20px; min-width: 16px; padding: 4px 5px; font-size: 14px; font-weight: normal; line-height: 20px; text-align: center; text-shadow: 0 1px 0 #fff; background-color: #eee; border: 1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle { vertical-align: top; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.input-append .active,.input-prepend .active { background-color: #a9dba9; border-color: #46a546}.input-prepend .add-on,.input-prepend .btn { margin-right: -1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group { margin-left: -1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0}.input-prepend.input-append .btn-group:first-child { margin-left: 0}input.search-query { padding-right: 14px; padding-right: 4px \9; padding-left: 14px; padding-left: 4px \9; margin-bottom: 0; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.form-search .input-append .search-query { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px}.form-search .input-append .btn { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0}.form-search .input-prepend .search-query { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0}.form-search .input-prepend .btn { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append { display: inline-block; *display: inline; margin-bottom: 0; vertical-align: middle; *zoom: 1}.form-search .hide,.form-inline .hide,.form-horizontal .hide { display: none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group { display: inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend { margin-bottom: 0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox { padding-left: 0; margin-bottom: 0; vertical-align: middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"] { float: left; margin-right: 3px; margin-left: 0}.control-group { margin-bottom: 10px}legend+.control-group { margin-top: 20px; -webkit-margin-top-collapse: separate}.form-horizontal .control-group { margin-bottom: 20px; *zoom: 1}.form-horizontal .control-group:before,.form-horizontal .control-group:after { display: table; line-height: 0; content: ""}.form-horizontal .control-group:after { clear: both}.form-horizontal .control-label { float: left; width: 160px; padding-top: 5px; text-align: right}.form-horizontal .controls { *display: inline-block; *padding-left: 20px; margin-left: 180px; *margin-left: 0}.form-horizontal .controls:first-child { *padding-left: 180px}.form-horizontal .help-block { margin-bottom: 0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block { margin-top: 10px}.form-horizontal .form-actions { padding-left: 180px}table { max-width: 100%; background-color: transparent; border-collapse: collapse; border-spacing: 0}.table { width: 100%; margin-bottom: 20px}.table th,.table td { padding: 8px; line-height: 20px; text-align: left; vertical-align: top; border-top: 1px solid #ddd}.table th { font-weight: bold}.table thead th { vertical-align: bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td { border-top: 0}.table tbody+tbody { border-top: 2px solid #ddd}.table .table { background-color: #fff}.table-condensed th,.table-condensed td { padding: 4px 5px}.table-bordered { border: 1px solid #ddd; border-collapse: separate; *border-collapse: collapse; border-left: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.table-bordered th,.table-bordered td { border-left: 1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td { border-top: 0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child { -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topleft: 4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-topright: 4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child { -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child { -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child { -webkit-border-bottom-left-radius: 0; border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child { -webkit-border-bottom-right-radius: 0; border-bottom-right-radius: 0; -moz-border-radius-bottomright: 0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child { -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topleft: 4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-topright: 4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th { background-color: #f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th { background-color: #f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"] { display: table-cell; float: none; margin-left: 0}.table td.span1,.table th.span1 { float: none; width: 44px; margin-left: 0}.table td.span2,.table th.span2 { float: none; width: 124px; margin-left: 0}.table td.span3,.table th.span3 { float: none; width: 204px; margin-left: 0}.table td.span4,.table th.span4 { float: none; width: 284px; margin-left: 0}.table td.span5,.table th.span5 { float: none; width: 364px; margin-left: 0}.table td.span6,.table th.span6 { float: none; width: 444px; margin-left: 0}.table td.span7,.table th.span7 { float: none; width: 524px; margin-left: 0}.table td.span8,.table th.span8 { float: none; width: 604px; margin-left: 0}.table td.span9,.table th.span9 { float: none; width: 684px; margin-left: 0}.table td.span10,.table th.span10 { float: none; width: 764px; margin-left: 0}.table td.span11,.table th.span11 { float: none; width: 844px; margin-left: 0}.table td.span12,.table th.span12 { float: none; width: 924px; margin-left: 0}.table tbody tr.success td { background-color: #dff0d8}.table tbody tr.error td { background-color: #f2dede}.table tbody tr.warning td { background-color: #fcf8e3}.table tbody tr.info td { background-color: #d9edf7}.table-hover tbody tr.success:hover td { background-color: #d0e9c6}.table-hover tbody tr.error:hover td { background-color: #ebcccc}.table-hover tbody tr.warning:hover td { background-color: #faf2cc}.table-hover tbody tr.info:hover td { background-color: #c4e3f3}[class^="icon-"],[class*=" icon-"] { display: inline-block; width: 14px; height: 14px; margin-top: 1px; *margin-right: .3em; line-height: 14px; vertical-align: text-top; background-image: url("../img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"] { background-image: url("../img/glyphicons-halflings-white.png")}.icon-glass { background-position: 0 0}.icon-music { background-position: -24px 0}.icon-search { background-position: -48px 0}.icon-envelope { background-position: -72px 0}.icon-heart { background-position: -96px 0}.icon-star { background-position: -120px 0}.icon-star-empty { background-position: -144px 0}.icon-user { background-position: -168px 0}.icon-film { background-position: -192px 0}.icon-th-large { background-position: -216px 0}.icon-th { background-position: -240px 0}.icon-th-list { background-position: -264px 0}.icon-ok { background-position: -288px 0}.icon-remove { background-position: -312px 0}.icon-zoom-in { background-position: -336px 0}.icon-zoom-out { background-position: -360px 0}.icon-off { background-position: -384px 0}.icon-signal { background-position: -408px 0}.icon-cog { background-position: -432px 0}.icon-trash { background-position: -456px 0}.icon-home { background-position: 0 -24px}.icon-file { background-position: -24px -24px}.icon-time { background-position: -48px -24px}.icon-road { background-position: -72px -24px}.icon-download-alt { background-position: -96px -24px}.icon-download { background-position: -120px -24px}.icon-upload { background-position: -144px -24px}.icon-inbox { background-position: -168px -24px}.icon-play-circle { background-position: -192px -24px}.icon-repeat { background-position: -216px -24px}.icon-refresh { background-position: -240px -24px}.icon-list-alt { background-position: -264px -24px}.icon-lock { background-position: -287px -24px}.icon-flag { background-position: -312px -24px}.icon-headphones { background-position: -336px -24px}.icon-volume-off { background-position: -360px -24px}.icon-volume-down { background-position: -384px -24px}.icon-volume-up { background-position: -408px -24px}.icon-qrcode { background-position: -432px -24px}.icon-barcode { background-position: -456px -24px}.icon-tag { background-position: 0 -48px}.icon-tags { background-position: -25px -48px}.icon-book { background-position: -48px -48px}.icon-bookmark { background-position: -72px -48px}.icon-print { background-position: -96px -48px}.icon-camera { background-position: -120px -48px}.icon-font { background-position: -144px -48px}.icon-bold { background-position: -167px -48px}.icon-italic { background-position: -192px -48px}.icon-text-height { background-position: -216px -48px}.icon-text-width { background-position: -240px -48px}.icon-align-left { background-position: -264px -48px}.icon-align-center { background-position: -288px -48px}.icon-align-right { background-position: -312px -48px}.icon-align-justify { background-position: -336px -48px}.icon-list { background-position: -360px -48px}.icon-indent-left { background-position: -384px -48px}.icon-indent-right { background-position: -408px -48px}.icon-facetime-video { background-position: -432px -48px}.icon-picture { background-position: -456px -48px}.icon-pencil { background-position: 0 -72px}.icon-map-marker { background-position: -24px -72px}.icon-adjust { background-position: -48px -72px}.icon-tint { background-position: -72px -72px}.icon-edit { background-position: -96px -72px}.icon-share { background-position: -120px -72px}.icon-check { background-position: -144px -72px}.icon-move { background-position: -168px -72px}.icon-step-backward { background-position: -192px -72px}.icon-fast-backward { background-position: -216px -72px}.icon-backward { background-position: -240px -72px}.icon-play { background-position: -264px -72px}.icon-pause { background-position: -288px -72px}.icon-stop { background-position: -312px -72px}.icon-forward { background-position: -336px -72px}.icon-fast-forward { background-position: -360px -72px}.icon-step-forward { background-position: -384px -72px}.icon-eject { background-position: -408px -72px}.icon-chevron-left { background-position: -432px -72px}.icon-chevron-right { background-position: -456px -72px}.icon-plus-sign { background-position: 0 -96px}.icon-minus-sign { background-position: -24px -96px}.icon-remove-sign { background-position: -48px -96px}.icon-ok-sign { background-position: -72px -96px}.icon-question-sign { background-position: -96px -96px}.icon-info-sign { background-position: -120px -96px}.icon-screenshot { background-position: -144px -96px}.icon-remove-circle { background-position: -168px -96px}.icon-ok-circle { background-position: -192px -96px}.icon-ban-circle { background-position: -216px -96px}.icon-arrow-left { background-position: -240px -96px}.icon-arrow-right { background-position: -264px -96px}.icon-arrow-up { background-position: -289px -96px}.icon-arrow-down { background-position: -312px -96px}.icon-share-alt { background-position: -336px -96px}.icon-resize-full { background-position: -360px -96px}.icon-resize-small { background-position: -384px -96px}.icon-plus { background-position: -408px -96px}.icon-minus { background-position: -433px -96px}.icon-asterisk { background-position: -456px -96px}.icon-exclamation-sign { background-position: 0 -120px}.icon-gift { background-position: -24px -120px}.icon-leaf { background-position: -48px -120px}.icon-fire { background-position: -72px -120px}.icon-eye-open { background-position: -96px -120px}.icon-eye-close { background-position: -120px -120px}.icon-warning-sign { background-position: -144px -120px}.icon-plane { background-position: -168px -120px}.icon-calendar { background-position: -192px -120px}.icon-random { width: 16px; background-position: -216px -120px}.icon-comment { background-position: -240px -120px}.icon-magnet { background-position: -264px -120px}.icon-chevron-up { background-position: -288px -120px}.icon-chevron-down { background-position: -313px -119px}.icon-retweet { background-position: -336px -120px}.icon-shopping-cart { background-position: -360px -120px}.icon-folder-close { background-position: -384px -120px}.icon-folder-open { width: 16px; background-position: -408px -120px}.icon-resize-vertical { background-position: -432px -119px}.icon-resize-horizontal { background-position: -456px -118px}.icon-hdd { background-position: 0 -144px}.icon-bullhorn { background-position: -24px -144px}.icon-bell { background-position: -48px -144px}.icon-certificate { background-position: -72px -144px}.icon-thumbs-up { background-position: -96px -144px}.icon-thumbs-down { background-position: -120px -144px}.icon-hand-right { background-position: -144px -144px}.icon-hand-left { background-position: -168px -144px}.icon-hand-up { background-position: -192px -144px}.icon-hand-down { background-position: -216px -144px}.icon-circle-arrow-right { background-position: -240px -144px}.icon-circle-arrow-left { background-position: -264px -144px}.icon-circle-arrow-up { background-position: -288px -144px}.icon-circle-arrow-down { background-position: -312px -144px}.icon-globe { background-position: -336px -144px}.icon-wrench { background-position: -360px -144px}.icon-tasks { background-position: -384px -144px}.icon-filter { background-position: -408px -144px}.icon-briefcase { background-position: -432px -144px}.icon-fullscreen { background-position: -456px -144px}.dropup,.dropdown { position: relative}.dropdown-toggle { *margin-bottom: -3px}.dropdown-toggle:active,.open .dropdown-toggle { outline: 0}.caret { display: inline-block; width: 0; height: 0; vertical-align: top; border-top: 4px solid #000; border-right: 4px solid transparent; border-left: 4px solid transparent; content: ""}.dropdown .caret { margin-top: 8px; margin-left: 2px}.dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); *border-right-width: 2px; *border-bottom-width: 2px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box}.dropdown-menu.pull-right { right: 0; left: auto}.dropdown-menu .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid #fff}.dropdown-menu li>a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 20px; color: #333; white-space: nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a { color: #fff; text-decoration: none; background-color: #0081c2; background-image: -moz-linear-gradient(top, #08c, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3)); background-image: -webkit-linear-gradient(top, #08c, #0077b3); background-image: -o-linear-gradient(top, #08c, #0077b3); background-image: linear-gradient(to bottom, #08c, #0077b3); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover { color: #fff; text-decoration: none; background-color: #0081c2; background-image: -moz-linear-gradient(top, #08c, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3)); background-image: -webkit-linear-gradient(top, #08c, #0077b3); background-image: -o-linear-gradient(top, #08c, #0077b3); background-image: linear-gradient(to bottom, #08c, #0077b3); background-repeat: repeat-x; outline: 0; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover { color: #999}.dropdown-menu .disabled>a:hover { text-decoration: none; cursor: default; background-color: transparent; background-image: none; filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.open { *z-index: 1000}.open>.dropdown-menu { display: block}.pull-right>.dropdown-menu { right: 0; left: auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px solid #000; content: ""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px}.dropdown-submenu { position: relative}.dropdown-submenu>.dropdown-menu { top: 0; left: 100%; margin-top: -6px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px 6px; border-radius: 0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu { display: block}.dropup .dropdown-submenu>.dropdown-menu { top: auto; bottom: 0; margin-top: 0; margin-bottom: -2px; -webkit-border-radius: 5px 5px 5px 0; -moz-border-radius: 5px 5px 5px 0; border-radius: 5px 5px 5px 0}.dropdown-submenu>a:after { display: block; float: right; width: 0; height: 0; margin-top: 5px; margin-right: -10px; border-color: transparent; border-left-color: #ccc; border-style: solid; border-width: 5px 0 5px 5px; content: " "}.dropdown-submenu:hover>a:after { border-left-color: #fff}.dropdown-submenu.pull-left { float: none}.dropdown-submenu.pull-left>.dropdown-menu { left: -100%; margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px}.dropdown .dropdown-menu .nav-header { padding-right: 20px; padding-left: 20px}.typeahead { z-index: 1051; margin-top: 2px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05)}.well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15)}.well-large { padding: 24px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px}.well-small { padding: 9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px}.fade { opacity: 0; -webkit-transition: opacity .15s linear; -moz-transition: opacity .15s linear; -o-transition: opacity .15s linear; transition: opacity .15s linear}.fade.in { opacity: 1}.collapse { position: relative; height: 0; overflow: hidden; -webkit-transition: height .35s ease; -moz-transition: height .35s ease; -o-transition: height .35s ease; transition: height .35s ease}.collapse.in { height: auto}.close { float: right; font-size: 20px; font-weight: bold; line-height: 20px; color: #000; text-shadow: 0 1px 0 #fff; opacity: .2; filter: alpha(opacity=20)}.close:hover { color: #000; text-decoration: none; cursor: pointer; opacity: .4; filter: alpha(opacity=40)}button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none}.btn { display: inline-block; *display: inline; padding: 4px 12px; margin-bottom: 0; *margin-left: .3em; font-size: 14px; line-height: 20px; color: #333; text-align: center; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); vertical-align: middle; cursor: pointer; background-color: #f5f5f5; *background-color: #e6e6e6; background-image: -moz-linear-gradient(top, #fff, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #fff, #e6e6e6); background-image: -o-linear-gradient(top, #fff, #e6e6e6); background-image: linear-gradient(to bottom, #fff, #e6e6e6); background-repeat: repeat-x; border: 1px solid #bbb; *border: 0; border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-bottom-color: #a2a2a2; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false); *zoom: 1; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled] { color: #333; background-color: #e6e6e6; *background-color: #d9d9d9}.btn:active,.btn.active { background-color: #ccc \9}.btn:first-child { *margin-left: 0}.btn:hover { color: #333; text-decoration: none; background-position: 0 -15px; -webkit-transition: background-position .1s linear; -moz-transition: background-position .1s linear; -o-transition: background-position .1s linear; transition: background-position .1s linear}.btn:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px}.btn.active,.btn:active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.btn.disabled,.btn[disabled] { cursor: default; background-image: none; opacity: .65; filter: alpha(opacity=65); -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none}.btn-large { padding: 11px 19px; font-size: 17.5px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"] { margin-top: 4px}.btn-small { padding: 2px 10px; font-size: 11.9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"] { margin-top: 0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"] { margin-top: -1px}.btn-mini { padding: 0 6px; font-size: 10.5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px}.btn-block { display: block; width: 100%; padding-right: 0; padding-left: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box}.btn-block+.btn-block { margin-top: 5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block { width: 100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active { color: rgba(255, 255, 255, 0.75)}.btn { border-color: #c5c5c5; border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25)}.btn-primary { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006dcc; *background-color: #04c; background-image: -moz-linear-gradient(top, #08c, #04c); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c)); background-image: -webkit-linear-gradient(top, #08c, #04c); background-image: -o-linear-gradient(top, #08c, #04c); background-image: linear-gradient(to bottom, #08c, #04c); background-repeat: repeat-x; border-color: #04c #04c #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled] { color: #fff; background-color: #04c; *background-color: #003bb3}.btn-primary:active,.btn-primary.active { background-color: #039 \9}.btn-warning { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #faa732; *background-color: #f89406; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled] { color: #fff; background-color: #f89406; *background-color: #df8505}.btn-warning:active,.btn-warning.active { background-color: #c67605 \9}.btn-danger { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4f49; *background-color: #bd362f; background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); background-repeat: repeat-x; border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled] { color: #fff; background-color: #bd362f; *background-color: #a9302a}.btn-danger:active,.btn-danger.active { background-color: #942a25 \9}.btn-success { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb75b; *background-color: #51a351; background-image: -moz-linear-gradient(top, #62c462, #51a351); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); background-image: -webkit-linear-gradient(top, #62c462, #51a351); background-image: -o-linear-gradient(top, #62c462, #51a351); background-image: linear-gradient(to bottom, #62c462, #51a351); background-repeat: repeat-x; border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled] { color: #fff; background-color: #51a351; *background-color: #499249}.btn-success:active,.btn-success.active { background-color: #408140 \9}.btn-info { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; *background-color: #2f96b4; background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled] { color: #fff; background-color: #2f96b4; *background-color: #2a85a0}.btn-info:active,.btn-info.active { background-color: #24748c \9}.btn-inverse { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; *background-color: #222; background-image: -moz-linear-gradient(top, #444, #222); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444), to(#222)); background-image: -webkit-linear-gradient(top, #444, #222); background-image: -o-linear-gradient(top, #444, #222); background-image: linear-gradient(to bottom, #444, #222); background-repeat: repeat-x; border-color: #222 #222 #000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled] { color: #fff; background-color: #222; *background-color: #151515}.btn-inverse:active,.btn-inverse.active { background-color: #080808 \9}button.btn,input[type="submit"].btn { *padding-top: 3px; *padding-bottom: 3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner { padding: 0; border: 0}button.btn.btn-large,input[type="submit"].btn.btn-large { *padding-top: 7px; *padding-bottom: 7px}button.btn.btn-small,input[type="submit"].btn.btn-small { *padding-top: 3px; *padding-bottom: 3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini { *padding-top: 1px; *padding-bottom: 1px}.btn-link,.btn-link:active,.btn-link[disabled] { background-color: transparent; background-image: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none}.btn-link { color: #08c; cursor: pointer; border-color: transparent; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.btn-link:hover { color: #005580; text-decoration: underline; background-color: transparent}.btn-link[disabled]:hover { color: #333; text-decoration: none}.btn-group { position: relative; display: inline-block; *display: inline; *margin-left: .3em; font-size: 0; white-space: nowrap; vertical-align: middle; *zoom: 1}.btn-group:first-child { *margin-left: 0}.btn-group+.btn-group { margin-left: 5px}.btn-toolbar { margin-top: 10px; margin-bottom: 10px; font-size: 0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group { margin-left: 5px}.btn-group>.btn { position: relative; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.btn-group>.btn+.btn { margin-left: -1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover { font-size: 14px}.btn-group>.btn-mini { font-size: 10.5px}.btn-group>.btn-small { font-size: 11.9px}.btn-group>.btn-large { font-size: 17.5px}.btn-group>.btn:first-child { margin-left: 0; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-topleft: 4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; -moz-border-radius-topright: 4px; -moz-border-radius-bottomright: 4px}.btn-group>.btn.large:first-child { margin-left: 0; -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; -moz-border-radius-bottomleft: 6px; -moz-border-radius-topleft: 6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle { -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; -moz-border-radius-topright: 6px; -moz-border-radius-bottomright: 6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active { z-index: 2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle { outline: 0}.btn-group>.btn+.dropdown-toggle { *padding-top: 5px; padding-right: 8px; *padding-bottom: 5px; padding-left: 8px; -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05)}.btn-group>.btn-mini+.dropdown-toggle { *padding-top: 2px; padding-right: 5px; *padding-bottom: 2px; padding-left: 5px}.btn-group>.btn-small+.dropdown-toggle { *padding-top: 5px; *padding-bottom: 4px}.btn-group>.btn-large+.dropdown-toggle { *padding-top: 7px; padding-right: 12px; *padding-bottom: 7px; padding-left: 12px}.btn-group.open .dropdown-toggle { background-image: none; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.btn-group.open .btn.dropdown-toggle { background-color: #e6e6e6}.btn-group.open .btn-primary.dropdown-toggle { background-color: #04c}.btn-group.open .btn-warning.dropdown-toggle { background-color: #f89406}.btn-group.open .btn-danger.dropdown-toggle { background-color: #bd362f}.btn-group.open .btn-success.dropdown-toggle { background-color: #51a351}.btn-group.open .btn-info.dropdown-toggle { background-color: #2f96b4}.btn-group.open .btn-inverse.dropdown-toggle { background-color: #222}.btn .caret { margin-top: 8px; margin-left: 0}.btn-mini .caret,.btn-small .caret,.btn-large .caret { margin-top: 6px}.btn-large .caret { border-top-width: 5px; border-right-width: 5px; border-left-width: 5px}.dropup .btn-large .caret { border-bottom-width: 5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret { border-top-color: #fff; border-bottom-color: #fff}.btn-group-vertical { display: inline-block; *display: inline; *zoom: 1}.btn-group-vertical>.btn { display: block; float: none; max-width: 100%; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.btn-group-vertical>.btn+.btn { margin-top: -1px; margin-left: 0}.btn-group-vertical>.btn:first-child { -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0}.btn-group-vertical>.btn:last-child { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px}.btn-group-vertical>.btn-large:first-child { -webkit-border-radius: 6px 6px 0 0; -moz-border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0}.btn-group-vertical>.btn-large:last-child { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px}.alert { padding: 8px 35px 8px 14px; margin-bottom: 20px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); background-color: #fcf8e3; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.alert,.alert h4 { color: #c09853}.alert h4 { margin: 0}.alert .close { position: relative; top: -2px; right: -21px; line-height: 20px}.alert-success { color: #468847; background-color: #dff0d8; border-color: #d6e9c6}.alert-success h4 { color: #468847}.alert-danger,.alert-error { color: #b94a48; background-color: #f2dede; border-color: #eed3d7}.alert-danger h4,.alert-error h4 { color: #b94a48}.alert-info { color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1}.alert-info h4 { 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-bottom: 20px; margin-left: 0; list-style: none}.nav>li>a { display: block}.nav>li>a:hover { text-decoration: none; background-color: #eee}.nav>li>a>img { max-width: none}.nav>.pull-right { float: right}.nav-header { display: block; padding: 3px 15px; font-size: 11px; font-weight: bold; line-height: 20px; color: #999; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); text-transform: uppercase}.nav li+.nav-header { margin-top: 9px}.nav-list { padding-right: 15px; padding-left: 15px; margin-bottom: 0}.nav-list>li>a,.nav-list .nav-header { margin-right: -15px; margin-left: -15px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5)}.nav-list>li>a { padding: 3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); background-color: #08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"] { margin-right: 2px}.nav-list .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid #fff}.nav-tabs,.nav-pills { *zoom: 1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after { display: table; line-height: 0; content: ""}.nav-tabs:after,.nav-pills:after { clear: both}.nav-tabs>li,.nav-pills>li { float: left}.nav-tabs>li>a,.nav-pills>li>a { padding-right: 12px; padding-left: 12px; margin-right: 2px; line-height: 14px}.nav-tabs { border-bottom: 1px solid #ddd}.nav-tabs>li { margin-bottom: -1px}.nav-tabs>li>a { padding-top: 8px; padding-bottom: 8px; line-height: 20px; border: 1px solid transparent; -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0}.nav-tabs>li>a:hover { border-color: #eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent}.nav-pills>li>a { padding-top: 8px; padding-bottom: 8px; margin-top: 2px; margin-bottom: 2px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px}.nav-pills>.active>a,.nav-pills>.active>a:hover { color: #fff; background-color: #08c}.nav-stacked>li { float: none}.nav-stacked>li>a { margin-right: 0}.nav-tabs.nav-stacked { border-bottom: 0}.nav-tabs.nav-stacked>li>a { border: 1px solid #ddd; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.nav-tabs.nav-stacked>li:first-child>a { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -moz-border-radius-topleft: 4px}.nav-tabs.nav-stacked>li:last-child>a { -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -moz-border-radius-bottomleft: 4px}.nav-tabs.nav-stacked>li>a:hover { z-index: 2; border-color: #ddd}.nav-pills.nav-stacked>li>a { margin-bottom: 3px}.nav-pills.nav-stacked>li:last-child>a { margin-bottom: 1px}.nav-tabs .dropdown-menu { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px}.nav-pills .dropdown-menu { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px}.nav .dropdown-toggle .caret { margin-top: 6px; border-top-color: #08c; border-bottom-color: #08c}.nav .dropdown-toggle:hover .caret { border-top-color: #005580; border-bottom-color: #005580}.nav-tabs .dropdown-toggle .caret { margin-top: 8px}.nav .active .dropdown-toggle .caret { border-top-color: #fff; border-bottom-color: #fff}.nav-tabs .active .dropdown-toggle .caret { border-top-color: #555; border-bottom-color: #555}.nav>.dropdown.active>a:hover { cursor: pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover { color: #fff; background-color: #999; border-color: #999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret { border-top-color: #fff; border-bottom-color: #fff; opacity: 1; filter: alpha(opacity=100)}.tabs-stacked .open>a:hover { border-color: #999}.tabbable { *zoom: 1}.tabbable:before,.tabbable:after { display: table; line-height: 0; content: ""}.tabbable:after { clear: both}.tab-content { overflow: auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs { border-bottom: 0}.tab-content>.tab-pane,.pill-content>.pill-pane { display: none}.tab-content>.active,.pill-content>.active { display: block}.tabs-below>.nav-tabs { border-top: 1px solid #ddd}.tabs-below>.nav-tabs>li { margin-top: -1px; margin-bottom: 0}.tabs-below>.nav-tabs>li>a { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover { border-top-color: #ddd; border-bottom-color: transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover { border-color: transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li { float: none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a { min-width: 74px; margin-right: 0; margin-bottom: 3px}.tabs-left>.nav-tabs { float: left; margin-right: 19px; border-right: 1px solid #ddd}.tabs-left>.nav-tabs>li>a { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover { border-color: #eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover { border-color: #ddd transparent #ddd #ddd; *border-right-color: #fff}.tabs-right>.nav-tabs { float: right; margin-left: 19px; border-left: 1px solid #ddd}.tabs-right>.nav-tabs>li>a { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover { border-color: #eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover { border-color: #ddd #ddd #ddd transparent; *border-left-color: #fff}.nav>.disabled>a { color: #999}.nav>.disabled>a:hover { text-decoration: none; cursor: default; background-color: transparent}.navbar { *position: relative; *z-index: 2; margin-bottom: 20px; overflow: visible}.navbar-inner { min-height: 40px; padding-right: 20px; padding-left: 20px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #fff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #fff, #f2f2f2); background-image: -o-linear-gradient(top, #fff, #f2f2f2); background-image: linear-gradient(to bottom, #fff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); *zoom: 1; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065)}.navbar-inner:before,.navbar-inner:after { display: table; line-height: 0; content: ""}.navbar-inner:after { clear: both}.navbar .container { width: auto}.nav-collapse.collapse { height: auto; overflow: visible}.navbar .brand { display: block; float: left; padding: 10px 20px 10px; margin-left: -20px; font-size: 20px; font-weight: 200; color: #777; text-shadow: 0 1px 0 #fff}.navbar .brand:hover { text-decoration: none}.navbar-text { margin-bottom: 0; line-height: 40px; color: #777}.navbar-link { color: #777}.navbar-link:hover { color: #333}.navbar .divider-vertical { height: 40px; margin: 0 9px; border-right: 1px solid #fff; border-left: 1px solid #f2f2f2}.navbar .btn,.navbar .btn-group { margin-top: 5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn { margin-top: 0}.navbar-form { margin-bottom: 0; *zoom: 1}.navbar-form:before,.navbar-form:after { display: table; line-height: 0; content: ""}.navbar-form:after { clear: both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox { margin-top: 5px}.navbar-form input,.navbar-form select,.navbar-form .btn { display: inline-block; margin-bottom: 0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"] { margin-top: 3px}.navbar-form .input-append,.navbar-form .input-prepend { margin-top: 5px; white-space: nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input { margin-top: 0}.navbar-search { position: relative; float: left; margin-top: 5px; margin-bottom: 0}.navbar-search .search-query { padding: 4px 14px; margin-bottom: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 1; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px}.navbar-static-top { position: static; margin-bottom: 0}.navbar-static-top .navbar-inner { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.navbar-fixed-top,.navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; margin-bottom: 0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner { border-width: 0 0 1px}.navbar-fixed-bottom .navbar-inner { border-width: 1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner { padding-right: 0; padding-left: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container { width: 940px}.navbar-fixed-top { top: 0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner { -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1)}.navbar-fixed-bottom { bottom: 0}.navbar-fixed-bottom .navbar-inner { -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1)}.navbar .nav { position: relative; left: 0; display: block; float: left; margin: 0 10px 0 0}.navbar .nav.pull-right { float: right; margin-right: 0}.navbar .nav>li { float: left}.navbar .nav>li>a { float: none; padding: 10px 15px 10px; color: #777; text-decoration: none; text-shadow: 0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret { margin-top: 8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover { color: #333; text-decoration: none; background-color: transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus { color: #555; text-decoration: none; background-color: #e5e5e5; -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125)}.navbar .btn-navbar { display: none; float: right; padding: 7px 10px; margin-right: 5px; margin-left: 5px; color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #ededed; *background-color: #e5e5e5; background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); background-repeat: repeat-x; border-color: #e5e5e5 #e5e5e5 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled] { color: #fff; background-color: #e5e5e5; *background-color: #d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active { background-color: #ccc \9}.navbar .btn-navbar .icon-bar { display: block; width: 18px; height: 2px; background-color: #f5f5f5; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25)}.btn-navbar .icon-bar+.icon-bar { margin-top: 3px}.navbar .nav>li>.dropdown-menu:before { position: absolute; top: -7px; left: 9px; display: inline-block; border-right: 7px solid transparent; border-bottom: 7px solid #ccc; border-left: 7px solid transparent; border-bottom-color: rgba(0, 0, 0, 0.2); content: ''}.navbar .nav>li>.dropdown-menu:after { position: absolute; top: -6px; left: 10px; display: inline-block; border-right: 6px solid transparent; border-bottom: 6px solid #fff; border-left: 6px solid transparent; content: ''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before { top: auto; bottom: -7px; border-top: 7px solid #ccc; border-bottom: 0; border-top-color: rgba(0, 0, 0, 0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after { top: auto; bottom: -6px; border-top: 6px solid #fff; border-bottom: 0}.navbar .nav li.dropdown>a:hover .caret { border-top-color: #555; border-bottom-color: #555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle { color: #555; background-color: #e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret { border-top-color: #777; border-bottom-color: #777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret { border-top-color: #555; border-bottom-color: #555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right { right: 0; left: auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before { right: 12px; left: auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after { right: 13px; left: auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu { right: 100%; left: auto; margin-right: -1px; margin-left: 0; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px}.navbar-inverse .navbar-inner { background-color: #1b1b1b; background-image: -moz-linear-gradient(top, #222, #111); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222), to(#111)); background-image: -webkit-linear-gradient(top, #222, #111); background-image: -o-linear-gradient(top, #222, #111); background-image: linear-gradient(to bottom, #222, #111); background-repeat: repeat-x; border-color: #252525; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a { color: #999; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover { color: #fff}.navbar-inverse .brand { color: #999}.navbar-inverse .navbar-text { color: #999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover { color: #fff; background-color: transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus { color: #fff; background-color: #111}.navbar-inverse .navbar-link { color: #999}.navbar-inverse .navbar-link:hover { color: #fff}.navbar-inverse .divider-vertical { border-right-color: #222; border-left-color: #111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle { color: #fff; background-color: #111}.navbar-inverse .nav li.dropdown>a:hover .caret { border-top-color: #fff; border-bottom-color: #fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret { border-top-color: #999; border-bottom-color: #999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret { border-top-color: #fff; border-bottom-color: #fff}.navbar-inverse .navbar-search .search-query { color: #fff; background-color: #515151; border-color: #111; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -webkit-transition: none; -moz-transition: none; -o-transition: none; transition: none}.navbar-inverse .navbar-search .search-query:-moz-placeholder { color: #ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { color: #ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { color: #ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused { padding: 5px 15px; color: #333; text-shadow: 0 1px 0 #fff; background-color: #fff; border: 0; outline: 0; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); box-shadow: 0 0 3px rgba(0, 0, 0, 0.15)}.navbar-inverse .btn-navbar { color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e0e0e; *background-color: #040404; background-image: -moz-linear-gradient(top, #151515, #040404); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); background-image: -webkit-linear-gradient(top, #151515, #040404); background-image: -o-linear-gradient(top, #151515, #040404); background-image: linear-gradient(to bottom, #151515, #040404); background-repeat: repeat-x; border-color: #040404 #040404 #000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled] { color: #fff; background-color: #040404; *background-color: #000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active { background-color: #000 \9}.breadcrumb { padding: 8px 15px; margin: 0 0 20px; list-style: none; background-color: #f5f5f5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.breadcrumb>li { display: inline-block; *display: inline; text-shadow: 0 1px 0 #fff; *zoom: 1}.breadcrumb>li>.divider { padding: 0 5px; color: #ccc}.breadcrumb>.active { color: #999}.pagination { margin: 20px 0}.pagination ul { display: inline-block; *display: inline; margin-bottom: 0; margin-left: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; *zoom: 1; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05)}.pagination ul>li { display: inline}.pagination ul>li>a,.pagination ul>li>span { float: left; padding: 4px 12px; line-height: 20px; text-decoration: none; background-color: #fff; border: 1px solid #ddd; border-left-width: 0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span { background-color: #f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span { color: #999; cursor: default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover { color: #999; cursor: default; background-color: transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span { border-left-width: 1px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-topleft: 4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; -moz-border-radius-topright: 4px; -moz-border-radius-bottomright: 4px}.pagination-centered { text-align: center}.pagination-right { text-align: right}.pagination-large ul>li>a,.pagination-large ul>li>span { padding: 11px 19px; font-size: 17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span { -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; -moz-border-radius-bottomleft: 6px; -moz-border-radius-topleft: 6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span { -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; -moz-border-radius-topright: 6px; -moz-border-radius-bottomright: 6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span { -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; -moz-border-radius-bottomleft: 3px; -moz-border-radius-topleft: 3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span { -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; -moz-border-radius-topright: 3px; -moz-border-radius-bottomright: 3px}.pagination-small ul>li>a,.pagination-small ul>li>span { padding: 2px 10px; font-size: 11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span { padding: 0 6px; font-size: 10.5px}.pager { margin: 20px 0; text-align: center; list-style: none; *zoom: 1}.pager:before,.pager:after { display: table; line-height: 0; content: ""}.pager:after { clear: both}.pager li { display: inline}.pager li>a,.pager li>span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px}.pager li>a:hover { text-decoration: none; background-color: #f5f5f5}.pager .next>a,.pager .next>span { float: right}.pager .previous>a,.pager .previous>span { float: left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span { color: #999; cursor: default; background-color: #fff}.modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000}.modal-backdrop.fade { opacity: 0}.modal-backdrop,.modal-backdrop.fade.in { opacity: .8; filter: alpha(opacity=80)}.modal { position: fixed; top: 10%; left: 50%; z-index: 1050; width: 560px; margin-left: -280px; background-color: #fff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.3); *border: 1px solid #999; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; outline: 0; -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -webkit-background-clip: padding-box; -moz-background-clip: padding-box; background-clip: padding-box}.modal.fade { top: -25%; -webkit-transition: opacity .3s linear, top .3s ease-out; -moz-transition: opacity .3s linear, top .3s ease-out; -o-transition: opacity .3s linear, top .3s ease-out; transition: opacity .3s linear, top .3s ease-out}.modal.fade.in { top: 10%}.modal-header { padding: 9px 15px; border-bottom: 1px solid #eee}.modal-header .close { margin-top: 2px}.modal-header h3 { margin: 0; line-height: 30px}.modal-body { position: relative; max-height: 400px; padding: 15px; overflow-y: auto}.modal-form { margin-bottom: 0}.modal-footer { padding: 14px 15px 15px; margin-bottom: 0; text-align: right; background-color: #f5f5f5; border-top: 1px solid #ddd; -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; *zoom: 1; -webkit-box-shadow: inset 0 1px 0 #fff; -moz-box-shadow: inset 0 1px 0 #fff; box-shadow: inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after { display: table; line-height: 0; content: ""}.modal-footer:after { clear: both}.modal-footer .btn+.btn { margin-bottom: 0; margin-left: 5px}.modal-footer .btn-group .btn+.btn { margin-left: -1px}.modal-footer .btn-block+.btn-block { margin-left: 0}.tooltip { position: absolute; z-index: 1030; display: block; padding: 5px; font-size: 11px; opacity: 0; filter: alpha(opacity=0); visibility: visible}.tooltip.in { opacity: .8; filter: alpha(opacity=80)}.tooltip.top { margin-top: -3px}.tooltip.right { margin-left: 3px}.tooltip.bottom { margin-top: 3px}.tooltip.left { margin-left: -3px}.tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid}.tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-color: #000; border-width: 5px 5px 0}.tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-right-color: #000; border-width: 5px 5px 5px 0}.tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-left-color: #000; border-width: 5px 0 5px 5px}.tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-bottom-color: #000; border-width: 0 5px 5px}.popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; width: 236px; padding: 1px; text-align: left; white-space: normal; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box}.popover.top { margin-top: -10px}.popover.right { margin-left: 10px}.popover.bottom { margin-top: 10px}.popover.left { margin-left: -10px}.popover-title { padding: 8px 14px; margin: 0; font-size: 14px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0}.popover-content { padding: 9px 14px}.popover .arrow,.popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid}.popover .arrow { border-width: 11px}.popover .arrow:after { border-width: 10px; content: ""}.popover.top .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999; border-top-color: rgba(0, 0, 0, 0.25); border-bottom-width: 0}.popover.top .arrow:after { bottom: 1px; margin-left: -10px; border-top-color: #fff; border-bottom-width: 0}.popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999; border-right-color: rgba(0, 0, 0, 0.25); border-left-width: 0}.popover.right .arrow:after { bottom: -10px; left: 1px; border-right-color: #fff; border-left-width: 0}.popover.bottom .arrow { top: -11px; left: 50%; margin-left: -11px; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, 0.25); border-top-width: 0}.popover.bottom .arrow:after { top: 1px; margin-left: -10px; border-bottom-color: #fff; border-top-width: 0}.popover.left .arrow { top: 50%; right: -11px; margin-top: -11px; border-left-color: #999; border-left-color: rgba(0, 0, 0, 0.25); border-right-width: 0}.popover.left .arrow:after { right: 1px; bottom: -10px; border-left-color: #fff; border-right-width: 0}.thumbnails { margin-left: -20px; list-style: none; *zoom: 1}.thumbnails:before,.thumbnails:after { display: table; line-height: 0; content: ""}.thumbnails:after { clear: both}.row-fluid .thumbnails { margin-left: 0}.thumbnails>li { float: left; margin-bottom: 20px; margin-left: 20px}.thumbnail { display: block; padding: 4px; line-height: 20px; border: 1px solid #ddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out}a.thumbnail:hover { border-color: #08c; -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25)}.thumbnail>img { display: block; /*max-width:100%;*/ margin-right: auto; margin-left: auto}.thumbnail .caption { padding: 9px; color: #555}.media,.media-body { overflow: hidden; *overflow: visible; zoom: 1}.media,.media .media { margin-top: 15px}.media:first-child { margin-top: 0}.media-object { display: block}.media-heading { margin: 0 0 5px}.media .pull-left { margin-right: 10px}.media .pull-right { margin-left: 10px}.media-list { margin-left: 0; list-style: none}.label,.badge { display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); white-space: nowrap; vertical-align: baseline; background-color: #999}.label { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px}.badge { padding-right: 9px; padding-left: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px}.label:empty,.badge:empty { display: none}a.label:hover,a.badge:hover { color: #fff; text-decoration: none; cursor: pointer}.label-important,.badge-important { background-color: #b94a48}.label-important[href],.badge-important[href] { background-color: #953b39}.label-warning,.badge-warning { background-color: #f89406}.label-warning[href],.badge-warning[href] { background-color: #c67605}.label-success,.badge-success { background-color: #468847}.label-success[href],.badge-success[href] { background-color: #356635}.label-info,.badge-info { background-color: #3a87ad}.label-info[href],.badge-info[href] { background-color: #2d6987}.label-inverse,.badge-inverse { background-color: #333}.label-inverse[href],.badge-inverse[href] { background-color: #1a1a1a}.btn .label,.btn .badge { position: relative; top: -1px}.btn-mini .label,.btn-mini .badge { top: 0}@-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0 } to { background-position: 0 0 }}@-moz-keyframes progress-bar-stripes { from { background-position: 40px 0 } to { background-position: 0 0 }}@-ms-keyframes progress-bar-stripes { from { background-position: 40px 0 } to { background-position: 0 0 }}@-o-keyframes progress-bar-stripes { from { background-position: 0 0 } to { background-position: 40px 0 }}@keyframes progress-bar-stripes { from { background-position: 40px 0 } to { background-position: 0 0 }}.progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f7f7f7; background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); background-repeat: repeat-x; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1)}.progress .bar { float: left; width: 0; height: 100%; font-size: 12px; color: #fff; text-align: center; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e90d2; background-image: -moz-linear-gradient(top, #149bdf, #0480be); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); background-image: -webkit-linear-gradient(top, #149bdf, #0480be); background-image: -o-linear-gradient(top, #149bdf, #0480be); background-image: linear-gradient(to bottom, #149bdf, #0480be); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width .6s ease; -moz-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease}.progress .bar+.bar { -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15)}.progress-striped .bar { background-color: #149bdf; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; -moz-background-size: 40px 40px; -o-background-size: 40px 40px; background-size: 40px 40px}.progress.active .bar { -webkit-animation: progress-bar-stripes 2s linear infinite; -moz-animation: progress-bar-stripes 2s linear infinite; -ms-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger { background-color: #dd514c; background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger { background-color: #ee5f5b; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-success .bar,.progress .bar-success { background-color: #5eb95e; background-image: -moz-linear-gradient(top, #62c462, #57a957); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); background-image: -webkit-linear-gradient(top, #62c462, #57a957); background-image: -o-linear-gradient(top, #62c462, #57a957); background-image: linear-gradient(to bottom, #62c462, #57a957); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success { background-color: #62c462; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-info .bar,.progress .bar-info { background-color: #4bb1cf; background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); background-image: -o-linear-gradient(top, #5bc0de, #339bb9); background-image: linear-gradient(to bottom, #5bc0de, #339bb9); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info { background-color: #5bc0de; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-warning .bar,.progress .bar-warning { background-color: #faa732; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning { background-color: #fbb450; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.accordion { margin-bottom: 20px}.accordion-group { margin-bottom: 2px; border: 1px solid #e5e5e5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px}.accordion-heading { border-bottom: 0}.accordion-heading .accordion-toggle { display: block; padding: 8px 15px}.accordion-toggle { cursor: pointer}.accordion-inner { padding: 9px 15px; border-top: 1px solid #e5e5e5}.carousel { position: relative; margin-bottom: 20px; line-height: 1}.carousel-inner { position: relative; width: 100%; overflow: hidden}.carousel-inner>.item { position: relative; display: none; -webkit-transition: .6s ease-in-out left; -moz-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left}.carousel-inner>.item>img { display: block; line-height: 1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev { display: block}.carousel-inner>.active { left: 0}.carousel-inner>.next,.carousel-inner>.prev { position: absolute; top: 0; width: 100%}.carousel-inner>.next { left: 100%}.carousel-inner>.prev { left: -100%}.carousel-inner>.next.left,.carousel-inner>.prev.right { left: 0}.carousel-inner>.active.left { left: -100%}.carousel-inner>.active.right { left: 100%}.carousel-control { position: absolute; top: 40%; left: 15px; width: 40px; height: 40px; margin-top: -20px; font-size: 60px; font-weight: 100; line-height: 30px; color: #fff; text-align: center; background: #222; border: 3px solid #fff; -webkit-border-radius: 23px; -moz-border-radius: 23px; border-radius: 23px; opacity: .5; filter: alpha(opacity=50)}.carousel-control.right { right: 15px; left: auto}.carousel-control:hover { color: #fff; text-decoration: none; opacity: .9; filter: alpha(opacity=90)}.carousel-caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 15px; background: #333; background: rgba(0, 0, 0, 0.75)}.carousel-caption h4,.carousel-caption p { line-height: 20px; color: #fff}.carousel-caption h4 { margin: 0 0 5px}.carousel-caption p { margin-bottom: 0}.hero-unit { padding: 60px; margin-bottom: 30px; font-size: 18px; font-weight: 200; line-height: 30px; color: inherit; background-color: #eee; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px}.hero-unit h1 { margin-bottom: 0; font-size: 60px; line-height: 1; letter-spacing: -1px; color: inherit}.hero-unit li { line-height: 30px}.pull-right { float: right}.pull-left { float: left}.hide { display: none}.show { display: block}.invisible { visibility: hidden}.affix { position: fixed}/*! * Bootstrap Responsive v2.2.2 * * 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. */@-ms-viewport { width: device-width}.clearfix { *zoom: 1}.clearfix:before,.clearfix:after { display: table; line-height: 0; content: ""}.clearfix:after { clear: both}.hide-text { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0}.input-block-level { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box}.hidden { display: none; visibility: hidden}.visible-phone { display: none!important}.visible-tablet { display: none!important}.hidden-desktop { display: none!important}.visible-desktop { display: inherit!important}@media(min-width:768px) and (max-width:979px) { .hidden-desktop { display: inherit!important } .visible-desktop { display: none!important } .visible-tablet { display: inherit!important } .hidden-tablet { display: none!important }}@media(max-width:767px) { .hidden-desktop { display: inherit!important } .visible-desktop { display: none!important } .visible-phone { display: inherit!important } .hidden-phone { display: none!important }}@media(min-width:1200px) { .row { margin-left: -30px; *zoom: 1 } .row:before, .row:after { display: table; line-height: 0; content: "" } .row:after { clear: both } [class*="span"] { float: left; min-height: 1px; margin-left: 30px } .container, .navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { width: 1170px } .span12 { width: 1170px } .span11 { width: 1070px } .span10 { width: 970px } .span9 { width: 870px } .span8 { width: 770px } .span7 { width: 670px } .span6 { width: 570px } .span5 { width: 470px } .span4 { width: 370px } .span3 { width: 270px } .span2 { width: 170px } .span1 { width: 70px } .offset12 { margin-left: 1230px } .offset11 { margin-left: 1130px } .offset10 { margin-left: 1030px } .offset9 { margin-left: 930px } .offset8 { margin-left: 830px } .offset7 { margin-left: 730px } .offset6 { margin-left: 630px } .offset5 { margin-left: 530px } .offset4 { margin-left: 430px } .offset3 { margin-left: 330px } .offset2 { margin-left: 230px } .offset1 { margin-left: 130px } .row-fluid { width: 100%; *zoom: 1 } .row-fluid:before, .row-fluid:after { display: table; line-height: 0; content: "" } .row-fluid:after { clear: both } .row-fluid [class*="span"] { display: block; float: left; width: 100%; min-height: 30px; margin-left: 2.564102564102564%; *margin-left: 2.5109110747408616%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .row-fluid [class*="span"]:first-child { margin-left: 0 } .row-fluid .controls-row [class*="span"]+[class*="span"] { margin-left: 2.564102564102564% } .row-fluid .span12 { width: 100%; *width: 99.94680851063829% } .row-fluid .span11 { width: 91.45299145299145%; *width: 91.39979996362975% } .row-fluid .span10 { width: 82.90598290598291%; *width: 82.8527914166212% } .row-fluid .span9 { width: 74.35897435897436%; *width: 74.30578286961266% } .row-fluid .span8 { width: 65.81196581196582%; *width: 65.75877432260411% } .row-fluid .span7 { width: 57.26495726495726%; *width: 57.21176577559556% } .row-fluid .span6 { width: 48.717948717948715%; *width: 48.664757228587014% } .row-fluid .span5 { width: 40.17094017094017%; *width: 40.11774868157847% } .row-fluid .span4 { width: 31.623931623931625%; *width: 31.570740134569924% } .row-fluid .span3 { width: 23.076923076923077%; *width: 23.023731587561375% } .row-fluid .span2 { width: 14.52991452991453%; *width: 14.476723040552828% } .row-fluid .span1 { width: 5.982905982905983%; *width: 5.929714493544281% } .row-fluid .offset12 { margin-left: 105.12820512820512%; *margin-left: 105.02182214948171% } .row-fluid .offset12:first-child { margin-left: 102.56410256410257%; *margin-left: 102.45771958537915% } .row-fluid .offset11 { margin-left: 96.58119658119658%; *margin-left: 96.47481360247316% } .row-fluid .offset11:first-child { margin-left: 94.01709401709402%; *margin-left: 93.91071103837061% } .row-fluid .offset10 { margin-left: 88.03418803418803%; *margin-left: 87.92780505546462% } .row-fluid .offset10:first-child { margin-left: 85.47008547008548%; *margin-left: 85.36370249136206% } .row-fluid .offset9 { margin-left: 79.48717948717949%; *margin-left: 79.38079650845607% } .row-fluid .offset9:first-child { margin-left: 76.92307692307693%; *margin-left: 76.81669394435352% } .row-fluid .offset8 { margin-left: 70.94017094017094%; *margin-left: 70.83378796144753% } .row-fluid .offset8:first-child { margin-left: 68.37606837606839%; *margin-left: 68.26968539734497% } .row-fluid .offset7 { margin-left: 62.393162393162385%; *margin-left: 62.28677941443899% } .row-fluid .offset7:first-child { margin-left: 59.82905982905982%; *margin-left: 59.72267685033642% } .row-fluid .offset6 { margin-left: 53.84615384615384%; *margin-left: 53.739770867430444% } .row-fluid .offset6:first-child { margin-left: 51.28205128205128%; *margin-left: 51.175668303327875% } .row-fluid .offset5 { margin-left: 45.299145299145295%; *margin-left: 45.1927623204219% } .row-fluid .offset5:first-child { margin-left: 42.73504273504273%; *margin-left: 42.62865975631933% } .row-fluid .offset4 { margin-left: 36.75213675213675%; *margin-left: 36.645753773413354% } .row-fluid .offset4:first-child { margin-left: 34.18803418803419%; *margin-left: 34.081651209310785% } .row-fluid .offset3 { margin-left: 28.205128205128204%; *margin-left: 28.0987452264048% } .row-fluid .offset3:first-child { margin-left: 25.641025641025642%; *margin-left: 25.53464266230224% } .row-fluid .offset2 { margin-left: 19.65811965811966%; *margin-left: 19.551736679396257% } .row-fluid .offset2:first-child { margin-left: 17.094017094017094%; *margin-left: 16.98763411529369% } .row-fluid .offset1 { margin-left: 11.11111111111111%; *margin-left: 11.004728132387708% } .row-fluid .offset1:first-child { margin-left: 8.547008547008547%; *margin-left: 8.440625568285142% } input, textarea, .uneditable-input { margin-left: 0 } .controls-row [class*="span"]+[class*="span"] { margin-left: 30px } input.span12, textarea.span12, .uneditable-input.span12 { width: 1156px } input.span11, textarea.span11, .uneditable-input.span11 { width: 1056px } input.span10, textarea.span10, .uneditable-input.span10 { width: 956px } input.span9, textarea.span9, .uneditable-input.span9 { width: 856px } input.span8, textarea.span8, .uneditable-input.span8 { width: 756px } input.span7, textarea.span7, .uneditable-input.span7 { width: 656px } input.span6, textarea.span6, .uneditable-input.span6 { width: 556px } input.span5, textarea.span5, .uneditable-input.span5 { width: 456px } input.span4, textarea.span4, .uneditable-input.span4 { width: 356px } input.span3, textarea.span3, .uneditable-input.span3 { width: 256px } input.span2, textarea.span2, .uneditable-input.span2 { width: 156px } input.span1, textarea.span1, .uneditable-input.span1 { width: 56px } .thumbnails { margin-left: -30px } .thumbnails>li { margin-left: 30px } .row-fluid .thumbnails { margin-left: 0 }}@media(min-width:768px) and (max-width:979px) { .row { margin-left: -20px; *zoom: 1 } .row:before, .row:after { display: table; line-height: 0; content: "" } .row:after { clear: both } [class*="span"] { float: left; min-height: 1px; margin-left: 20px } .container, .navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { width: 724px } .span12 { width: 724px } .span11 { width: 662px } .span10 { width: 600px } .span9 { width: 538px } .span8 { width: 476px } .span7 { width: 414px } .span6 { width: 352px } .span5 { width: 290px } .span4 { width: 228px } .span3 { width: 166px } .span2 { width: 104px } .span1 { width: 42px } .offset12 { margin-left: 764px } .offset11 { margin-left: 702px } .offset10 { margin-left: 640px } .offset9 { margin-left: 578px } .offset8 { margin-left: 516px } .offset7 { margin-left: 454px } .offset6 { margin-left: 392px } .offset5 { margin-left: 330px } .offset4 { margin-left: 268px } .offset3 { margin-left: 206px } .offset2 { margin-left: 144px } .offset1 { margin-left: 82px } .row-fluid { width: 100%; *zoom: 1 } .row-fluid:before, .row-fluid:after { display: table; line-height: 0; content: "" } .row-fluid:after { clear: both } .row-fluid [class*="span"] { display: block; float: left; width: 100%; min-height: 30px; margin-left: 2.7624309392265194%; *margin-left: 2.709239449864817%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .row-fluid [class*="span"]:first-child { margin-left: 0 } .row-fluid .controls-row [class*="span"]+[class*="span"] { margin-left: 2.7624309392265194% } .row-fluid .span12 { width: 100%; *width: 99.94680851063829% } .row-fluid .span11 { width: 91.43646408839778%; *width: 91.38327259903608% } .row-fluid .span10 { width: 82.87292817679558%; *width: 82.81973668743387% } .row-fluid .span9 { width: 74.30939226519337%; *width: 74.25620077583166% } .row-fluid .span8 { width: 65.74585635359117%; *width: 65.69266486422946% } .row-fluid .span7 { width: 57.18232044198895%; *width: 57.12912895262725% } .row-fluid .span6 { width: 48.61878453038674%; *width: 48.56559304102504% } .row-fluid .span5 { width: 40.05524861878453%; *width: 40.00205712942283% } .row-fluid .span4 { width: 31.491712707182323%; *width: 31.43852121782062% } .row-fluid .span3 { width: 22.92817679558011%; *width: 22.87498530621841% } .row-fluid .span2 { width: 14.3646408839779%; *width: 14.311449394616199% } .row-fluid .span1 { width: 5.801104972375691%; *width: 5.747913483013988% } .row-fluid .offset12 { margin-left: 105.52486187845304%; *margin-left: 105.41847889972962% } .row-fluid .offset12:first-child { margin-left: 102.76243093922652%; *margin-left: 102.6560479605031% } .row-fluid .offset11 { margin-left: 96.96132596685082%; *margin-left: 96.8549429881274% } .row-fluid .offset11:first-child { margin-left: 94.1988950276243%; *margin-left: 94.09251204890089% } .row-fluid .offset10 { margin-left: 88.39779005524862%; *margin-left: 88.2914070765252% } .row-fluid .offset10:first-child { margin-left: 85.6353591160221%; *margin-left: 85.52897613729868% } .row-fluid .offset9 { margin-left: 79.8342541436464%; *margin-left: 79.72787116492299% } .row-fluid .offset9:first-child { margin-left: 77.07182320441989%; *margin-left: 76.96544022569647% } .row-fluid .offset8 { margin-left: 71.2707182320442%; *margin-left: 71.16433525332079% } .row-fluid .offset8:first-child { margin-left: 68.50828729281768%; *margin-left: 68.40190431409427% } .row-fluid .offset7 { margin-left: 62.70718232044199%; *margin-left: 62.600799341718584% } .row-fluid .offset7:first-child { margin-left: 59.94475138121547%; *margin-left: 59.838368402492065% } .row-fluid .offset6 { margin-left: 54.14364640883978%; *margin-left: 54.037263430116376% } .row-fluid .offset6:first-child { margin-left: 51.38121546961326%; *margin-left: 51.27483249088986% } .row-fluid .offset5 { margin-left: 45.58011049723757%; *margin-left: 45.47372751851417% } .row-fluid .offset5:first-child { margin-left: 42.81767955801105%; *margin-left: 42.71129657928765% } .row-fluid .offset4 { margin-left: 37.01657458563536%; *margin-left: 36.91019160691196% } .row-fluid .offset4:first-child { margin-left: 34.25414364640884%; *margin-left: 34.14776066768544% } .row-fluid .offset3 { margin-left: 28.45303867403315%; *margin-left: 28.346655695309746% } .row-fluid .offset3:first-child { margin-left: 25.69060773480663%; *margin-left: 25.584224756083227% } .row-fluid .offset2 { margin-left: 19.88950276243094%; *margin-left: 19.783119783707537% } .row-fluid .offset2:first-child { margin-left: 17.12707182320442%; *margin-left: 17.02068884448102% } .row-fluid .offset1 { margin-left: 11.32596685082873%; *margin-left: 11.219583872105325% } .row-fluid .offset1:first-child { margin-left: 8.56353591160221%; *margin-left: 8.457152932878806% } input, textarea, .uneditable-input { margin-left: 0 } .controls-row [class*="span"]+[class*="span"] { margin-left: 20px } input.span12, textarea.span12, .uneditable-input.span12 { width: 710px } input.span11, textarea.span11, .uneditable-input.span11 { width: 648px } input.span10, textarea.span10, .uneditable-input.span10 { width: 586px } input.span9, textarea.span9, .uneditable-input.span9 { width: 524px } input.span8, textarea.span8, .uneditable-input.span8 { width: 462px } input.span7, textarea.span7, .uneditable-input.span7 { width: 400px } input.span6, textarea.span6, .uneditable-input.span6 { width: 338px } input.span5, textarea.span5, .uneditable-input.span5 { width: 276px } input.span4, textarea.span4, .uneditable-input.span4 { width: 214px } input.span3, textarea.span3, .uneditable-input.span3 { width: 152px } input.span2, textarea.span2, .uneditable-input.span2 { width: 90px } input.span1, textarea.span1, .uneditable-input.span1 { width: 28px }}@media(max-width:767px) { body { padding-right: 20px; padding-left: 20px } .navbar-fixed-top, .navbar-fixed-bottom, .navbar-static-top { margin-right: -20px; margin-left: -20px } .container-fluid { padding: 0 } .dl-horizontal dt { float: none; width: auto; clear: none; text-align: left } .dl-horizontal dd { margin-left: 0 } .container { width: auto } .row-fluid { width: 100% } .row, .thumbnails { margin-left: 0 } .thumbnails>li { float: none; margin-left: 0 } [class*="span"], .uneditable-input[class*="span"], .row-fluid [class*="span"] { display: block; float: none; width: 100%; margin-left: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .span12, .row-fluid .span12 { width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .row-fluid [class*="offset"]:first-child { margin-left: 0 } .input-large, .input-xlarge, .input-xxlarge, input[class*="span"], select[class*="span"], textarea[class*="span"], .uneditable-input { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .input-prepend input, .input-append input, .input-prepend input[class*="span"], .input-append input[class*="span"] { display: inline-block; width: auto } .controls-row [class*="span"]+[class*="span"] { margin-left: 0 } .modal { position: fixed; top: 20px; right: 20px; left: 20px; width: auto; margin: 0 } .modal.fade { top: -100px } .modal.fade.in { top: 20px }}@media(max-width:480px) { .nav-collapse { -webkit-transform: translate3d(0, 0, 0) } .page-header h1 small { display: block; line-height: 20px } input[type="checkbox"], input[type="radio"] { border: 1px solid #ccc } .form-horizontal .control-label { float: none; width: auto; padding-top: 0; text-align: left } .form-horizontal .controls { margin-left: 0 } .form-horizontal .control-list { padding-top: 0 } .form-horizontal .form-actions { padding-right: 10px; padding-left: 10px } .media .pull-left, .media .pull-right { display: block; float: none; margin-bottom: 10px } .media-object { margin-right: 0; margin-left: 0 } .modal { top: 10px; right: 10px; left: 10px } .modal-header .close { padding: 10px; margin: -10px } .carousel-caption { position: static }}@media(max-width:979px) { body { padding-top: 0 } .navbar-fixed-top, .navbar-fixed-bottom { position: static } .navbar-fixed-top { margin-bottom: 20px } .navbar-fixed-bottom { margin-top: 20px } .navbar-fixed-top .navbar-inner, .navbar-fixed-bottom .navbar-inner { padding: 5px } .navbar .container { width: auto; padding: 0 } .navbar .brand { padding-right: 10px; padding-left: 10px; margin: 0 0 0 -5px } .nav-collapse { clear: both } .nav-collapse .nav { float: none; margin: 0 0 10px } .nav-collapse .nav>li { float: none } .nav-collapse .nav>li>a { margin-bottom: 2px } .nav-collapse .nav>.divider-vertical { display: none } .nav-collapse .nav .nav-header { color: #777; text-shadow: none } .nav-collapse .nav>li>a, .nav-collapse .dropdown-menu a { padding: 9px 15px; font-weight: bold; color: #777; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px } .nav-collapse .btn { padding: 4px 10px 4px; font-weight: normal; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px } .nav-collapse .dropdown-menu li+li a { margin-bottom: 2px } .nav-collapse .nav>li>a:hover, .nav-collapse .dropdown-menu a:hover { background-color: #f2f2f2 } .navbar-inverse .nav-collapse .nav>li>a, .navbar-inverse .nav-collapse .dropdown-menu a { color: #999 } .navbar-inverse .nav-collapse .nav>li>a:hover, .navbar-inverse .nav-collapse .dropdown-menu a:hover { background-color: #111 } .nav-collapse.in .btn-group { padding: 0; margin-top: 5px } .nav-collapse .dropdown-menu { position: static; top: auto; left: auto; display: none; float: none; max-width: none; padding: 0; margin: 0 15px; background-color: transparent; border: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none } .nav-collapse .open>.dropdown-menu { display: block } .nav-collapse .dropdown-menu:before, .nav-collapse .dropdown-menu:after { display: none } .nav-collapse .dropdown-menu .divider { display: none } .nav-collapse .nav>li>.dropdown-menu:before, .nav-collapse .nav>li>.dropdown-menu:after { display: none } .nav-collapse .navbar-form, .nav-collapse .navbar-search { float: none; padding: 10px 15px; margin: 10px 0; border-top: 1px solid #f2f2f2; border-bottom: 1px solid #f2f2f2; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1) } .navbar-inverse .nav-collapse .navbar-form, .navbar-inverse .nav-collapse .navbar-search { border-top-color: #111; border-bottom-color: #111 } .navbar .nav-collapse .nav.pull-right { float: none; margin-left: 0 } .nav-collapse, .nav-collapse.collapse { height: 0; overflow: hidden } .navbar .btn-navbar { display: block } .navbar-static .navbar-inner { padding-right: 10px; padding-left: 10px }}@media(min-width:980px) { .nav-collapse.collapse { height: auto!important; overflow: visible!important }}
<pre name="code" class="html">bootstrap.js
/*! * Bootstrap.js by @fat & @mdo * Copyright 2012 Twitter, Inc. * http://www.apache.org/licenses/LICENSE-2.0.txt */! function($) { "use strict"; $(function() { $.support.transition = function() { var transitionEnd = function() { var name, el = document.createElement("bootstrap"), transEndEventNames = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }; for (name in transEndEventNames) if (void 0 !== el.style[name]) return transEndEventNames[name] }(); return transitionEnd && { end: transitionEnd } }() })}(window.jQuery), ! function($) { "use strict"; var dismiss = '[data-dismiss="alert"]', Alert = function(el) { $(el).on("click", dismiss, this.close) }; Alert.prototype.close = function(e) { function removeElement() { $parent.trigger("closed").remove() } var $parent, $this = $(this), selector = $this.attr("data-target"); selector || (selector = $this.attr("href"), selector = selector && selector.replace(/.*(?=#[^\s]*$)/, "")), $parent = $(selector), e && e.preventDefault(), $parent.length || ($parent = $this.hasClass("alert") ? $this : $this.parent()), $parent.trigger(e = $.Event("close")), e.isDefaultPrevented() || ($parent.removeClass("in"), $.support.transition && $parent.hasClass("fade") ? $parent.on($.support.transition.end, removeElement) : removeElement()) }; var old = $.fn.alert; $.fn.alert = function(option) { return this.each(function() { var $this = $(this), data = $this.data("alert"); data || $this.data("alert", data = new Alert(this)), "string" == typeof option && data[option].call($this) }) }, $.fn.alert.Constructor = Alert, $.fn.alert.noConflict = function() { return $.fn.alert = old, this }, $(document).on("click.alert.data-api", dismiss, Alert.prototype.close)}(window.jQuery), ! function($) { "use strict"; var Button = function(element, options) { this.$element = $(element), this.options = $.extend({}, $.fn.button.defaults, options) }; Button.prototype.setState = function(state) { var d = "disabled", $el = this.$element, data = $el.data(), val = $el.is("input") ? "val" : "html"; state += "Text", data.resetText || $el.data("resetText", $el[val]()), $el[val](data[state] || this.options[state]), setTimeout(function() { "loadingText" == state ? $el.addClass(d).attr(d, d) : $el.removeClass(d).removeAttr(d) }, 0) }, Button.prototype.toggle = function() { var $parent = this.$element.closest('[data-toggle="buttons-radio"]'); $parent && $parent.find(".active").removeClass("active"), this.$element.toggleClass("active") }; var old = $.fn.button; $.fn.button = function(option) { return this.each(function() { var $this = $(this), data = $this.data("button"), options = "object" == typeof option && option; data || $this.data("button", data = new Button(this, options)), "toggle" == option ? data.toggle() : option && data.setState(option) }) }, $.fn.button.defaults = { loadingText: "loading..." }, $.fn.button.Constructor = Button, $.fn.button.noConflict = function() { return $.fn.button = old, this }, $(document).on("click.button.data-api", "[data-toggle^=button]", function(e) { var $btn = $(e.target); $btn.hasClass("btn") || ($btn = $btn.closest(".btn")), $btn.button("toggle") })}(window.jQuery), ! function($) { "use strict"; var Carousel = function(element, options) { this.$element = $(element), this.options = options, "hover" == this.options.pause && this.$element.on("mouseenter", $.proxy(this.pause, this)).on("mouseleave", $.proxy(this.cycle, this)) }; Carousel.prototype = { cycle: function(e) { return e || (this.paused = !1), this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)), this }, to: function(pos) { var $active = this.$element.find(".item.active"), children = $active.parent().children(), activePos = children.index($active), that = this; if (!(pos > children.length - 1 || 0 > pos)) return this.sliding ? this.$element.one("slid", function() { that.to(pos) }) : activePos == pos ? this.pause().cycle() : this.slide(pos > activePos ? "next" : "prev", $(children[pos])) }, pause: function(e) { return e || (this.paused = !0), this.$element.find(".next, .prev").length && $.support.transition.end && (this.$element.trigger($.support.transition.end), this.cycle()), clearInterval(this.interval), this.interval = null, this }, next: function() { return this.sliding ? void 0 : this.slide("next") }, prev: function() { return this.sliding ? void 0 : this.slide("prev") }, slide: function(type, next) { var e, $active = this.$element.find(".item.active"), $next = next || $active[type](), isCycling = this.interval, direction = "next" == type ? "left" : "right", fallback = "next" == type ? "first" : "last", that = this; if (this.sliding = !0, isCycling && this.pause(), $next = $next.length ? $next : this.$element.find(".item")[fallback](), e = $.Event("slide", { relatedTarget: $next[0] }), !$next.hasClass("active")) { if ($.support.transition && this.$element.hasClass("slide")) { if (this.$element.trigger(e), e.isDefaultPrevented()) return; $next.addClass(type), $next[0].offsetWidth, $active.addClass(direction), $next.addClass(direction), this.$element.one($.support.transition.end, function() { $next.removeClass([type, direction].join(" ")).addClass("active"), $active.removeClass(["active", direction].join(" ")), that.sliding = !1, setTimeout(function() { that.$element.trigger("slid") }, 0) }) } else { if (this.$element.trigger(e), e.isDefaultPrevented()) return; $active.removeClass("active"), $next.addClass("active"), this.sliding = !1, this.$element.trigger("slid") } return isCycling && this.cycle(), this } } }; var old = $.fn.carousel; $.fn.carousel = function(option) { return this.each(function() { var $this = $(this), data = $this.data("carousel"), options = $.extend({}, $.fn.carousel.defaults, "object" == typeof option && option), action = "string" == typeof option ? option : options.slide; data || $this.data("carousel", data = new Carousel(this, options)), "number" == typeof option ? data.to(option) : action ? data[action]() : options.interval && data.cycle() }) }, $.fn.carousel.defaults = { interval: 5e3, pause: "hover" }, $.fn.carousel.Constructor = Carousel, $.fn.carousel.noConflict = function() { return $.fn.carousel = old, this }, $(document).on("click.carousel.data-api", "[data-slide]", function(e) { var href, $this = $(this), $target = $($this.attr("data-target") || (href = $this.attr("href")) && href.replace(/.*(?=#[^\s]+$)/, "")), options = $.extend({}, $target.data(), $this.data()); $target.carousel(options), e.preventDefault() })}(window.jQuery), ! function($) { "use strict"; var Collapse = function(element, options) { this.$element = $(element), this.options = $.extend({}, $.fn.collapse.defaults, options), this.options.parent && (this.$parent = $(this.options.parent)), this.options.toggle && this.toggle() }; Collapse.prototype = { constructor: Collapse, dimension: function() { var hasWidth = this.$element.hasClass("width"); return hasWidth ? "width" : "height" }, show: function() { var dimension, scroll, actives, hasData; if (!this.transitioning) { if (dimension = this.dimension(), scroll = $.camelCase(["scroll", dimension].join("-")), actives = this.$parent && this.$parent.find("> .accordion-group > .in"), actives && actives.length) { if (hasData = actives.data("collapse"), hasData && hasData.transitioning) return; actives.collapse("hide"), hasData || actives.data("collapse", null) } this.$element[dimension](0), this.transition("addClass", $.Event("show"), "shown"), $.support.transition && this.$element[dimension](this.$element[0][scroll]) } }, hide: function() { var dimension; this.transitioning || (dimension = this.dimension(), this.reset(this.$element[dimension]()), this.transition("removeClass", $.Event("hide"), "hidden"), this.$element[dimension](0)) }, reset: function(size) { var dimension = this.dimension(); return this.$element.removeClass("collapse")[dimension](size || "auto")[0].offsetWidth, this.$element[null !== size ? "addClass" : "removeClass"]("collapse"), this }, transition: function(method, startEvent, completeEvent) { var that = this, complete = function() { "show" == startEvent.type && that.reset(), that.transitioning = 0, that.$element.trigger(completeEvent) }; this.$element.trigger(startEvent), startEvent.isDefaultPrevented() || (this.transitioning = 1, this.$element[method]("in"), $.support.transition && this.$element.hasClass("collapse") ? this.$element.one($.support.transition.end, complete) : complete()) }, toggle: function() { this[this.$element.hasClass("in") ? "hide" : "show"]() } }; var old = $.fn.collapse; $.fn.collapse = function(option) { return this.each(function() { var $this = $(this), data = $this.data("collapse"), options = "object" == typeof option && option; data || $this.data("collapse", data = new Collapse(this, options)), "string" == typeof option && data[option]() }) }, $.fn.collapse.defaults = { toggle: !0 }, $.fn.collapse.Constructor = Collapse, $.fn.collapse.noConflict = function() { return $.fn.collapse = old, this }, $(document).on("click.collapse.data-api", "[data-toggle=collapse]", function(e) { var href, $this = $(this), target = $this.attr("data-target") || e.preventDefault() || (href = $this.attr("href")) && href.replace(/.*(?=#[^\s]+$)/, ""), option = $(target).data("collapse") ? "toggle" : $this.data(); $this[$(target).hasClass("in") ? "addClass" : "removeClass"]("collapsed"), $(target).collapse(option) })}(window.jQuery), ! function($) { "use strict"; function clearMenus() { $(toggle).each(function() { getParent($(this)).removeClass("open") }) } function getParent($this) { var $parent, selector = $this.attr("data-target"); return selector || (selector = $this.attr("href"), selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, "")), $parent = $(selector), $parent.length || ($parent = $this.parent()), $parent } var toggle = "[data-toggle=dropdown]", Dropdown = function(element) { var $el = $(element).on("click.dropdown.data-api", this.toggle); $("html").on("click.dropdown.data-api", function() { $el.parent().removeClass("open") }) }; Dropdown.prototype = { constructor: Dropdown, toggle: function() { var $parent, isActive, $this = $(this); if (!$this.is(".disabled, :disabled")) return $parent = getParent($this), isActive = $parent.hasClass("open"), clearMenus(), isActive || $parent.toggleClass("open"), $this.focus(), !1 }, keydown: function(e) { var $this, $items, $parent, isActive, index; if (/(38|40|27)/.test(e.keyCode) && ($this = $(this), e.preventDefault(), e.stopPropagation(), !$this.is(".disabled, :disabled"))) { if ($parent = getParent($this), isActive = $parent.hasClass("open"), !isActive || isActive && 27 == e.keyCode) return $this.click(); $items = $("[role=menu] li:not(.divider):visible a", $parent), $items.length && (index = $items.index($items.filter(":focus")), 38 == e.keyCode && index > 0 && index--, 40 == e.keyCode && $items.length - 1 > index && index++, ~index || (index = 0), $items.eq(index).focus()) } } }; var old = $.fn.dropdown; $.fn.dropdown = function(option) { return this.each(function() { var $this = $(this), data = $this.data("dropdown"); data || $this.data("dropdown", data = new Dropdown(this)), "string" == typeof option && data[option].call($this) }) }, $.fn.dropdown.Constructor = Dropdown, $.fn.dropdown.noConflict = function() { return $.fn.dropdown = old, this }, $(document).on("click.dropdown.data-api touchstart.dropdown.data-api", clearMenus).on("click.dropdown touchstart.dropdown.data-api", ".dropdown form", function(e) { e.stopPropagation() }).on("touchstart.dropdown.data-api", ".dropdown-menu", function(e) { e.stopPropagation() }).on("click.dropdown.data-api touchstart.dropdown.data-api", toggle, Dropdown.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api", toggle + ", [role=menu]", Dropdown.prototype.keydown)}(window.jQuery), ! function($) { "use strict"; var Modal = function(element, options) { this.options = options, this.$element = $(element).delegate('[data-dismiss="modal"]', "click.dismiss.modal", $.proxy(this.hide, this)), this.options.remote && this.$element.find(".modal-body").load(this.options.remote) }; Modal.prototype = { constructor: Modal, toggle: function() { return this[this.isShown ? "hide" : "show"]() }, show: function() { var that = this, e = $.Event("show"); this.$element.trigger(e), this.isShown || e.isDefaultPrevented() || (this.isShown = !0, this.escape(), this.backdrop(function() { var transition = $.support.transition && that.$element.hasClass("fade"); that.$element.parent().length || that.$element.appendTo(document.body), that.$element.show(), transition && that.$element[0].offsetWidth, that.$element.addClass("in").attr("aria-hidden", !1), that.enforceFocus(), transition ? that.$element.one($.support.transition.end, function() { that.$element.focus().trigger("shown") }) : that.$element.focus().trigger("shown") })) }, hide: function(e) { e && e.preventDefault(), e = $.Event("hide"), this.$element.trigger(e), this.isShown && !e.isDefaultPrevented() && (this.isShown = !1, this.escape(), $(document).off("focusin.modal"), this.$element.removeClass("in").attr("aria-hidden", !0), $.support.transition && this.$element.hasClass("fade") ? this.hideWithTransition() : this.hideModal()) }, enforceFocus: function() { var that = this; $(document).on("focusin.modal", function(e) { that.$element[0] === e.target || that.$element.has(e.target).length || that.$element.focus() }) }, escape: function() { var that = this; this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.modal", function(e) { 27 == e.which && that.hide() }) : this.isShown || this.$element.off("keyup.dismiss.modal") }, hideWithTransition: function() { var that = this, timeout = setTimeout(function() { that.$element.off($.support.transition.end), that.hideModal() }, 500); this.$element.one($.support.transition.end, function() { clearTimeout(timeout), that.hideModal() }) }, hideModal: function() { this.$element.hide().trigger("hidden"), this.backdrop() }, removeBackdrop: function() { this.$backdrop.remove(), this.$backdrop = null }, backdrop: function(callback) { var animate = this.$element.hasClass("fade") ? "fade" : ""; if (this.isShown && this.options.backdrop) { var doAnimate = $.support.transition && animate; this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />').appendTo(document.body), this.$backdrop.click("static" == this.options.backdrop ? $.proxy(this.$element[0].focus, this.$element[0]) : $.proxy(this.hide, this)), doAnimate && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), doAnimate ? this.$backdrop.one($.support.transition.end, callback) : callback() } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), $.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) : this.removeBackdrop()) : callback && callback() } }; var old = $.fn.modal; $.fn.modal = function(option) { return this.each(function() { var $this = $(this), data = $this.data("modal"), options = $.extend({}, $.fn.modal.defaults, $this.data(), "object" == typeof option && option); data || $this.data("modal", data = new Modal(this, options)), "string" == typeof option ? data[option]() : options.show && data.show() }) }, $.fn.modal.defaults = { backdrop: !0, keyboard: !0, show: !0 }, $.fn.modal.Constructor = Modal, $.fn.modal.noConflict = function() { return $.fn.modal = old, this }, $(document).on("click.modal.data-api", '[data-toggle="modal"]', function(e) { var $this = $(this), href = $this.attr("href"), $target = $($this.attr("data-target") || href && href.replace(/.*(?=#[^\s]+$)/, "")), option = $target.data("modal") ? "toggle" : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()); e.preventDefault(), $target.modal(option).one("hide", function() { $this.focus() }) })}(window.jQuery), ! function($) { "use strict"; var Tooltip = function(element, options) { this.init("tooltip", element, options) }; Tooltip.prototype = { constructor: Tooltip, init: function(type, element, options) { var eventIn, eventOut; this.type = type, this.$element = $(element), this.options = this.getOptions(options), this.enabled = !0, "click" == this.options.trigger ? this.$element.on("click." + this.type, this.options.selector, $.proxy(this.toggle, this)) : "manual" != this.options.trigger && (eventIn = "hover" == this.options.trigger ? "mouseenter" : "focus", eventOut = "hover" == this.options.trigger ? "mouseleave" : "blur", this.$element.on(eventIn + "." + this.type, this.options.selector, $.proxy(this.enter, this)), this.$element.on(eventOut + "." + this.type, this.options.selector, $.proxy(this.leave, this))), this.options.selector ? this._options = $.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() }, getOptions: function(options) { return options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()), options.delay && "number" == typeof options.delay && (options.delay = { show: options.delay, hide: options.delay }), options }, enter: function(e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type); return self.options.delay && self.options.delay.show ? (clearTimeout(this.timeout), self.hoverState = "in", this.timeout = setTimeout(function() { "in" == self.hoverState && self.show() }, self.options.delay.show), void 0) : self.show() }, leave: function(e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type); return this.timeout && clearTimeout(this.timeout), self.options.delay && self.options.delay.hide ? (self.hoverState = "out", this.timeout = setTimeout(function() { "out" == self.hoverState && self.hide() }, self.options.delay.hide), void 0) : self.hide() }, show: function() { var $tip, inside, pos, actualWidth, actualHeight, placement, tp; if (this.hasContent() && this.enabled) { switch ($tip = this.tip(), this.setContent(), this.options.animation && $tip.addClass("fade"), placement = "function" == typeof this.options.placement ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement, inside = /in/.test(placement), $tip.detach().css({ top: 0, left: 0, display: "block" }).insertAfter(this.$element), pos = this.getPosition(inside), actualWidth = $tip[0].offsetWidth, actualHeight = $tip[0].offsetHeight, inside ? placement.split(" ")[1] : placement) { case "bottom": tp = { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 }; break; case "top": tp = { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 }; break; case "left": tp = { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth }; break; case "right": tp = { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } } $tip.offset(tp).addClass(placement).addClass("in") } }, setContent: function() { var $tip = this.tip(), title = this.getTitle(); $tip.find(".tooltip-inner")[this.options.html ? "html" : "text"](title), $tip.removeClass("fade in top bottom left right") }, hide: function() { function removeWithAnimation() { var timeout = setTimeout(function() { $tip.off($.support.transition.end).detach() }, 500); $tip.one($.support.transition.end, function() { clearTimeout(timeout), $tip.detach() }) } var $tip = this.tip(); return $tip.removeClass("in"), $.support.transition && this.$tip.hasClass("fade") ? removeWithAnimation() : $tip.detach(), this }, fixTitle: function() { var $e = this.$element; ($e.attr("title") || "string" != typeof $e.attr("data-original-title")) && $e.attr("data-original-title", $e.attr("title") || "").removeAttr("title") }, hasContent: function() { return this.getTitle() }, getPosition: function(inside) { return $.extend({}, inside ? { top: 0, left: 0 } : this.$element.offset(), { width: this.$element[0].offsetWidth, height: this.$element[0].offsetHeight }) }, getTitle: function() { var title, $e = this.$element, o = this.options; return title = $e.attr("data-original-title") || ("function" == typeof o.title ? o.title.call($e[0]) : o.title) }, tip: function() { return this.$tip = this.$tip || $(this.options.template) }, validate: function() { this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null) }, enable: function() { this.enabled = !0 }, disable: function() { this.enabled = !1 }, toggleEnabled: function() { this.enabled = !this.enabled }, toggle: function(e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type); self[self.tip().hasClass("in") ? "hide" : "show"]() }, destroy: function() { this.hide().$element.off("." + this.type).removeData(this.type) } }; var old = $.fn.tooltip; $.fn.tooltip = function(option) { return this.each(function() { var $this = $(this), data = $this.data("tooltip"), options = "object" == typeof option && option; data || $this.data("tooltip", data = new Tooltip(this, options)), "string" == typeof option && data[option]() }) }, $.fn.tooltip.Constructor = Tooltip, $.fn.tooltip.defaults = { animation: !0, placement: "top", selector: !1, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover", title: "", delay: 0, html: !1 }, $.fn.tooltip.noConflict = function() { return $.fn.tooltip = old, this }}(window.jQuery), ! function($) { "use strict"; var Popover = function(element, options) { this.init("popover", element, options) }; Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { constructor: Popover, setContent: function() { var $tip = this.tip(), title = this.getTitle(), content = this.getContent(); $tip.find(".popover-title")[this.options.html ? "html" : "text"](title), $tip.find(".popover-content")[this.options.html ? "html" : "text"](content), $tip.removeClass("fade top bottom left right in") }, hasContent: function() { return this.getTitle() || this.getContent() }, getContent: function() { var content, $e = this.$element, o = this.options; return content = $e.attr("data-content") || ("function" == typeof o.content ? o.content.call($e[0]) : o.content) }, tip: function() { return this.$tip || (this.$tip = $(this.options.template)), this.$tip }, destroy: function() { this.hide().$element.off("." + this.type).removeData(this.type) } }); var old = $.fn.popover; $.fn.popover = function(option) { return this.each(function() { var $this = $(this), data = $this.data("popover"), options = "object" == typeof option && option; data || $this.data("popover", data = new Popover(this, options)), "string" == typeof option && data[option]() }) }, $.fn.popover.Constructor = Popover, $.fn.popover.defaults = $.extend({}, $.fn.tooltip.defaults, { placement: "right", trigger: "click", content: "", template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>' }), $.fn.popover.noConflict = function() { return $.fn.popover = old, this }}(window.jQuery), ! function($) { "use strict"; function ScrollSpy(element, options) { var href, process = $.proxy(this.process, this), $element = $(element).is("body") ? $(window) : $(element); this.options = $.extend({}, $.fn.scrollspy.defaults, options), this.$scrollElement = $element.on("scroll.scroll-spy.data-api", process), this.selector = (this.options.target || (href = $(element).attr("href")) && href.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li > a", this.$body = $("body"), this.refresh(), this.process() } ScrollSpy.prototype = { constructor: ScrollSpy, refresh: function() { var $targets, self = this; this.offsets = $([]), this.targets = $([]), $targets = this.$body.find(this.selector).map(function() { var $el = $(this), href = $el.data("target") || $el.attr("href"), $href = /^#\w/.test(href) && $(href); return $href && $href.length && [ [$href.position().top + self.$scrollElement.scrollTop(), href] ] || null }).sort(function(a, b) { return a[0] - b[0] }).each(function() { self.offsets.push(this[0]), self.targets.push(this[1]) }) }, process: function() { var i, scrollTop = this.$scrollElement.scrollTop() + this.options.offset, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight, maxScroll = scrollHeight - this.$scrollElement.height(), offsets = this.offsets, targets = this.targets, activeTarget = this.activeTarget; if (scrollTop >= maxScroll) return activeTarget != (i = targets.last()[0]) && this.activate(i); for (i = offsets.length; i--;) activeTarget != targets[i] && scrollTop >= offsets[i] && (!offsets[i + 1] || offsets[i + 1] >= scrollTop) && this.activate(targets[i]) }, activate: function(target) { var active, selector; this.activeTarget = target, $(this.selector).parent(".active").removeClass("active"), selector = this.selector + '[data-target="' + target + '"],' + this.selector + '[href="' + target + '"]', active = $(selector).parent("li").addClass("active"), active.parent(".dropdown-menu").length && (active = active.closest("li.dropdown").addClass("active")), active.trigger("activate") } }; var old = $.fn.scrollspy; $.fn.scrollspy = function(option) { return this.each(function() { var $this = $(this), data = $this.data("scrollspy"), options = "object" == typeof option && option; data || $this.data("scrollspy", data = new ScrollSpy(this, options)), "string" == typeof option && data[option]() }) }, $.fn.scrollspy.Constructor = ScrollSpy, $.fn.scrollspy.defaults = { offset: 10 }, $.fn.scrollspy.noConflict = function() { return $.fn.scrollspy = old, this }, $(window).on("load", function() { $('[data-spy="scroll"]').each(function() { var $spy = $(this); $spy.scrollspy($spy.data()) }) })}(window.jQuery), ! function($) { "use strict"; var Tab = function(element) { this.element = $(element) }; Tab.prototype = { constructor: Tab, show: function() { var previous, $target, e, $this = this.element, $ul = $this.closest("ul:not(.dropdown-menu)"), selector = $this.attr("data-target"); selector || (selector = $this.attr("href"), selector = selector && selector.replace(/.*(?=#[^\s]*$)/, "")), $this.parent("li").hasClass("active") || (previous = $ul.find(".active:last a")[0], e = $.Event("show", { relatedTarget: previous }), $this.trigger(e), e.isDefaultPrevented() || ($target = $(selector), this.activate($this.parent("li"), $ul), this.activate($target, $target.parent(), function() { $this.trigger({ type: "shown", relatedTarget: previous }) }))) }, activate: function(element, container, callback) { function next() { $active.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), element.addClass("active"), transition ? (element[0].offsetWidth, element.addClass("in")) : element.removeClass("fade"), element.parent(".dropdown-menu") && element.closest("li.dropdown").addClass("active"), callback && callback() } var $active = container.find("> .active"), transition = callback && $.support.transition && $active.hasClass("fade"); transition ? $active.one($.support.transition.end, next) : next(), $active.removeClass("in") } }; var old = $.fn.tab; $.fn.tab = function(option) { return this.each(function() { var $this = $(this), data = $this.data("tab"); data || $this.data("tab", data = new Tab(this)), "string" == typeof option && data[option]() }) }, $.fn.tab.Constructor = Tab, $.fn.tab.noConflict = function() { return $.fn.tab = old, this }, $(document).on("click.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function(e) { e.preventDefault(), $(this).tab("show") })}(window.jQuery), ! function($) { "use strict"; var Typeahead = function(element, options) { this.$element = $(element), this.options = $.extend({}, $.fn.typeahead.defaults, options), this.matcher = this.options.matcher || this.matcher, this.sorter = this.options.sorter || this.sorter, this.highlighter = this.options.highlighter || this.highlighter, this.updater = this.options.updater || this.updater, this.source = this.options.source, this.$menu = $(this.options.menu), this.shown = !1, this.listen() }; Typeahead.prototype = { constructor: Typeahead, select: function() { var val = this.$menu.find(".active").attr("data-value"); return this.$element.val(this.updater(val)).change(), this.hide() }, updater: function(item) { return item }, show: function() { var pos = $.extend({}, this.$element.position(), { height: this.$element[0].offsetHeight }); return this.$menu.insertAfter(this.$element).css({ top: pos.top + pos.height, left: pos.left }).show(), this.shown = !0, this }, hide: function() { return this.$menu.hide(), this.shown = !1, this }, lookup: function() { var items; return this.query = this.$element.val(), !this.query || this.query.length < this.options.minLength ? this.shown ? this.hide() : this : (items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source, items ? this.process(items) : this) }, process: function(items) { var that = this; return items = $.grep(items, function(item) { return that.matcher(item) }), items = this.sorter(items), items.length ? this.render(items.slice(0, this.options.items)).show() : this.shown ? this.hide() : this }, matcher: function(item) { return ~item.toLowerCase().indexOf(this.query.toLowerCase()) }, sorter: function(items) { for (var item, beginswith = [], caseSensitive = [], caseInsensitive = []; item = items.shift();) item.toLowerCase().indexOf(this.query.toLowerCase()) ? ~item.indexOf(this.query) ? caseSensitive.push(item) : caseInsensitive.push(item) : beginswith.push(item); return beginswith.concat(caseSensitive, caseInsensitive) }, highlighter: function(item) { var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); return item.replace(RegExp("(" + query + ")", "ig"), function($1, match) { return "<strong>" + match + "</strong>" }) }, render: function(items) { var that = this; return items = $(items).map(function(i, item) { return i = $(that.options.item).attr("data-value", item), i.find("a").html(that.highlighter(item)), i[0] }), items.first().addClass("active"), this.$menu.html(items), this }, next: function() { var active = this.$menu.find(".active").removeClass("active"), next = active.next(); next.length || (next = $(this.$menu.find("li")[0])), next.addClass("active") }, prev: function() { var active = this.$menu.find(".active").removeClass("active"), prev = active.prev(); prev.length || (prev = this.$menu.find("li").last()), prev.addClass("active") }, listen: function() { this.$element.on("blur", $.proxy(this.blur, this)).on("keypress", $.proxy(this.keypress, this)).on("keyup", $.proxy(this.keyup, this)), this.eventSupported("keydown") && this.$element.on("keydown", $.proxy(this.keydown, this)), this.$menu.on("click", $.proxy(this.click, this)).on("mouseenter", "li", $.proxy(this.mouseenter, this)) }, eventSupported: function(eventName) { var isSupported = eventName in this.$element; return isSupported || (this.$element.setAttribute(eventName, "return;"), isSupported = "function" == typeof this.$element[eventName]), isSupported }, move: function(e) { if (this.shown) { switch (e.keyCode) { case 9: case 13: case 27: e.preventDefault(); break; case 38: e.preventDefault(), this.prev(); break; case 40: e.preventDefault(), this.next() } e.stopPropagation() } }, keydown: function(e) { this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40, 38, 9, 13, 27]), this.move(e) }, keypress: function(e) { this.suppressKeyPressRepeat || this.move(e) }, keyup: function(e) { switch (e.keyCode) { case 40: case 38: case 16: case 17: case 18: break; case 9: case 13: if (!this.shown) return; this.select(); break; case 27: if (!this.shown) return; this.hide(); break; default: this.lookup() } e.stopPropagation(), e.preventDefault() }, blur: function() { var that = this; setTimeout(function() { that.hide() }, 150) }, click: function(e) { e.stopPropagation(), e.preventDefault(), this.select() }, mouseenter: function(e) { this.$menu.find(".active").removeClass("active"), $(e.currentTarget).addClass("active") } }; var old = $.fn.typeahead; $.fn.typeahead = function(option) { return this.each(function() { var $this = $(this), data = $this.data("typeahead"), options = "object" == typeof option && option; data || $this.data("typeahead", data = new Typeahead(this, options)), "string" == typeof option && data[option]() }) }, $.fn.typeahead.defaults = { source: [], items: 8, menu: '<ul class="typeahead dropdown-menu"></ul>', item: '<li><a href="#"></a></li>', minLength: 1 }, $.fn.typeahead.Constructor = Typeahead, $.fn.typeahead.noConflict = function() { return $.fn.typeahead = old, this }, $(document).on("focus.typeahead.data-api", '[data-provide="typeahead"]', function(e) { var $this = $(this); $this.data("typeahead") || (e.preventDefault(), $this.typeahead($this.data())) })}(window.jQuery), ! function($) { "use strict"; var Affix = function(element, options) { this.options = $.extend({}, $.fn.affix.defaults, options), this.$window = $(window).on("scroll.affix.data-api", $.proxy(this.checkPosition, this)).on("click.affix.data-api", $.proxy(function() { setTimeout($.proxy(this.checkPosition, this), 1) }, this)), this.$element = $(element), this.checkPosition() }; Affix.prototype.checkPosition = function() { if (this.$element.is(":visible")) { var affix, scrollHeight = $(document).height(), scrollTop = this.$window.scrollTop(), position = this.$element.offset(), offset = this.options.offset, offsetBottom = offset.bottom, offsetTop = offset.top, reset = "affix affix-top affix-bottom"; "object" != typeof offset && (offsetBottom = offsetTop = offset), "function" == typeof offsetTop && (offsetTop = offset.top()), "function" == typeof offsetBottom && (offsetBottom = offset.bottom()), affix = null != this.unpin && scrollTop + this.unpin <= position.top ? !1 : null != offsetBottom && position.top + this.$element.height() >= scrollHeight - offsetBottom ? "bottom" : null != offsetTop && offsetTop >= scrollTop ? "top" : !1, this.affixed !== affix && (this.affixed = affix, this.unpin = "bottom" == affix ? position.top - scrollTop : null, this.$element.removeClass(reset).addClass("affix" + (affix ? "-" + affix : ""))) } }; var old = $.fn.affix; $.fn.affix = function(option) { return this.each(function() { var $this = $(this), data = $this.data("affix"), options = "object" == typeof option && option; data || $this.data("affix", data = new Affix(this, options)), "string" == typeof option && data[option]() }) }, $.fn.affix.Constructor = Affix, $.fn.affix.defaults = { offset: 0 }, $.fn.affix.noConflict = function() { return $.fn.affix = old, this }, $(window).on("load", function() { $('[data-spy="affix"]').each(function() { var $spy = $(this), data = $spy.data(); data.offset = data.offset || {}, data.offsetBottom && (data.offset.bottom = data.offsetBottom), data.offsetTop && (data.offset.top = data.offsetTop), $spy.affix(data) }) })}(window.jQuery);
0 0
- 更改bootstrap-datetimepicker弹出日期选择框只能在下方的限制
- bootstrap-datetimepicker 选择日期
- bootstrap-datetimepicker bootstrap选择日期
- bootstrap datetimepicker 日期范围限制
- bootstrap-datetimepicker:基于twitter bootstrap的日期/时间选择控件
- bootstrap-datetimepicker:基于twitter bootstrap的日期/时间选择控件
- bootstrap-datetimepicker 日期选择控件 通用版
- 日期选择控件bootstrap-datetimepicker demo
- 基于bootstrap的日期插件bootstrap-datetimepicker
- bootstrap-datetimepicker 日期控件的开始日期
- datetimepicker用法总结-设置控件只能选择一个月之内的日期
- bootstrap日期插件datetimepicker的简单使用
- Bootstrap日期组件datetimepicker的使用方法
- bootstrap-datetimepicker日期插件的使用
- bootstrap datetimepicker日期时间插件的使用
- bootstrap datetimepicker日期控件的使用
- bootstrap中datetimepicker日期控件的使用
- bootstrap-datetimepicker时间段区间选择的问题
- 南宁便秘的症状有哪些
- 杭电acm2095find your present (2)
- 第十一周-类族的设计
- VS2010连接到EXCEL
- 关键段与旋转锁
- 更改bootstrap-datetimepicker弹出日期选择框只能在下方的限制
- 堆栈 Cookie 检测代码检测到基于堆栈的缓冲区溢出
- mysql一键安装脚本---二进制安装
- Xcode6调试runtime机制的objc_msgSend函数时报错
- MRF; BM; RBM
- 日期时间类
- Java编译问题
- 2015ACM华理邀请赛 E. Exam 题解
- Git的bug分支管理