shinydashboard/ 0000755 0001762 0000144 00000000000 15001534332 013250 5 ustar ligges users shinydashboard/MD5 0000644 0001762 0000144 00000007532 15001534332 013567 0 ustar ligges users 093cae95a454b47e605f5e1452943de5 *DESCRIPTION
1ab1efa749c9bff0a517ac8bdb6d935c *LICENSE
2b7d7195646c712859684697e83225ef *LICENSE.note
af7c7ccad2ac44172bfb2f2f56e99107 *NAMESPACE
a0f7fb5ecdba26e95a462243cb2b886b *NEWS.md
ef73ddbde01970d37307f9bf92b03879 *R/boxes.R
27eaa6918287e9ce9733363c798d76a6 *R/dashboardBody.R
c8f635f99b34df32c77e0dd28fd11f5b *R/dashboardHeader.R
a3c40a703ad28b96f227aeb8bf2c3ae9 *R/dashboardPage.R
f6a76f6438a29956a957bdca0dba5b76 *R/dashboardSidebar.R
6568cce78369996de32c3053bcdecdb7 *R/deps.R
e0f21c04c763661bed349ad5d30b397d *R/menuOutput.R
00fafaf826716c088176e556ec7ea0a5 *R/shinydashboard-package.r
94448c5d4096224ba20d2387f2d37d67 *R/tabs.R
3894e2ec98d5af3e008e965039a4c3ca *R/utils.R
2f71b69223626b24d28a374abef145e2 *R/valueBoxOutput.R
cf73e9001273fb20497d85d1367cb011 *README.md
3a4b5a55318954feac6af22b80fecba9 *inst/AdminLTE/AdminLTE.css
e5ea9c4e413ecfea964dc64db7ad0e96 *inst/AdminLTE/AdminLTE.min.css
3d4fbdd136c64b9900a673ac96b44b26 *inst/AdminLTE/LICENSE.txt
65e2c158a4f5b6b21a19c132aa7dc1c0 *inst/AdminLTE/_all-skins.css
12c46f89ff41528f2b582452c4afdd97 *inst/AdminLTE/_all-skins.min.css
1682e10d10f326db6820ac192570a106 *inst/AdminLTE/app.js
13a1126fea61fcff2d49cebafa87b879 *inst/AdminLTE/app.js.map
267ac591e7fe928d5444a3806e1fa547 *inst/AdminLTE/app.min.js
582dc920d48aa8874445d3cfb92b7749 *inst/AdminLTE/app.min.js.map
cae8bae09d031359d6a27f9255395ca4 *inst/AdminLTE/fonts/LICENSE.txt
6a9d4d28a117a8364376de2f17ee5ff9 *inst/AdminLTE/fonts/Source_Sans_Pro_300.ttf
aa250dd5d8932a8497ac5cbf13d9274e *inst/AdminLTE/fonts/Source_Sans_Pro_300italic.ttf
f2d83436dcf3f53375518292e917643c *inst/AdminLTE/fonts/Source_Sans_Pro_400.ttf
b5a02317c3d2de0275cfd1efef086f6f *inst/AdminLTE/fonts/Source_Sans_Pro_400italic.ttf
39d8befcdcde91747d1b75ab6cadffbd *inst/AdminLTE/fonts/Source_Sans_Pro_600.ttf
e7dc82fa8534c925644f9af433214d20 *inst/AdminLTE/fonts/Source_Sans_Pro_600italic.ttf
206f41ff7cdb7df5dbfeda33c847b793 *inst/AdminLTE/fonts/Source_Sans_Pro_700.ttf
33469053a3cded8b36666627549a758b *inst/shinydashboard.css
4dbecfd50a44119b4cb82bc73a2d6b3d *inst/shinydashboard.js
b8988bab2e322fb3725e555d266cca65 *inst/shinydashboard.js.map
632d94b37a2785405c71381af7a62864 *inst/shinydashboard.min.js
20b91b790f4df6d77198223757254697 *inst/shinydashboard.min.js.map
cf202009bc9b9bee3281dfeb8cbc95a4 *man/box.Rd
2ca1027e71d7b57a8c179953b6c7d41e *man/dashboardBody.Rd
9301ed3689117c919d9ae5ca9adfc00b *man/dashboardHeader.Rd
f7a6b21b301bcabecd435b9a08d4fad6 *man/dashboardPage.Rd
9a44dfefe1066ed8347f9e17f8b247ca *man/dashboardSidebar.Rd
afa059d14c6cb7480e28ccc4905aa318 *man/dropdownMenu.Rd
927a3ee502b519afe9d6e6dc28dbf8a9 *man/dropdownMenuOutput.Rd
ad08d6f71ee7b7db5ff48ee9fe62a830 *man/infoBox.Rd
f1512e766513d70d0dfb81635bf14552 *man/menuItemOutput.Rd
06c4672c98e41d4d82da9ac19a3c9a17 *man/menuOutput.Rd
3e3b64ed1e1ac4e1679e0440698488ea *man/messageItem.Rd
5c0a877ec843eb218c4bc38fd3e2f8c7 *man/notificationItem.Rd
b45fb1f683315587cbb4956b2c944dc9 *man/renderDropdownMenu.Rd
285b90b77c8fcecf9f4f6b52d481f0e8 *man/renderMenu.Rd
404ef1432e7cdb3596d4f28c5fc87c05 *man/renderValueBox.Rd
8473258722aa8396c076a9ad04cd691b *man/shinydashboard-package.Rd
b8d13ecb3e5cf409e173e6c79785a52d *man/sidebarMenu.Rd
1d1e238df2ad91fd4927a0fae6214590 *man/sidebarMenuOutput.Rd
6f02afc74323aa1d06bc84671854302b *man/sidebarSearchForm.Rd
549fb6f97287826076b1d4313c7a8782 *man/sidebarUserPanel.Rd
6d0f6a2cca8c1ae869ccaf10107e500f *man/tabBox.Rd
1ca50d3f65b3ce2458ada6d7d6e7bbf1 *man/tabItem.Rd
50b7f2c1d7d481641efd07720d1ff21b *man/tabItems.Rd
126bde08944bdbacd0fe799ed855f554 *man/tagAssert.Rd
0660b490195bd264c58b6c7d0e3e5838 *man/taskItem.Rd
7f1b9e0667920ee90ea2fc721041a5e3 *man/updateTabItems.Rd
ac74f1472659d9f217127d44a9f879a5 *man/validColors.Rd
26f3f7dd8b45f90b8df59425d8e8783d *man/validStatuses.Rd
29f1df15a7b6ad270d22ae46dded0b36 *man/valueBox.Rd
d8624eaa24ad0f1b92ee30c79e3c925a *man/valueBoxOutput.Rd
shinydashboard/R/ 0000755 0001762 0000144 00000000000 15001455602 013453 5 ustar ligges users shinydashboard/R/dashboardPage.R 0000644 0001762 0000144 00000004251 15001455602 016324 0 ustar ligges users #' Dashboard page
#'
#' This creates a dashboard page for use in a Shiny app.
#'
#' @param header A header created by [dashboardHeader()].
#' @param sidebar A sidebar created by [dashboardSidebar()].
#' @param body A body created by [dashboardBody()].
#' @param title A title to display in the browser's title bar. If no value is
#' provided, it will try to extract the title from the [dashboardHeader()].
#' @param skin A color theme. One of `"blue"`, `"black"`,
#' `"purple"`, `"green"`, `"red"`, or `"yellow"`.
#'
#' @seealso [dashboardHeader()], [dashboardSidebar()],
#' [dashboardBody()].
#' @examples
#' ## Only run this example in interactive R sessions
#' if (interactive()) {
#' # Basic dashboard page template
#' library(shiny)
#' shinyApp(
#' ui = dashboardPage(
#' dashboardHeader(),
#' dashboardSidebar(),
#' dashboardBody(),
#' title = "Dashboard example"
#' ),
#' server = function(input, output) { }
#' )
#' }
#' @export
dashboardPage <- function(
header,
sidebar,
body,
title = NULL,
skin = c("blue", "black", "purple", "green", "red", "yellow")
) {
tagAssert(header, type = "header", class = "main-header")
tagAssert(sidebar, type = "aside", class = "main-sidebar")
tagAssert(body, type = "div", class = "content-wrapper")
skin <- match.arg(skin)
extractTitle <- function(header) {
x <- header$children[[2]]
if (
x$name == "span" &&
!is.null(x$attribs$class) &&
x$attribs$class == "logo" &&
length(x$children) != 0
) {
x$children[[1]]
} else {
""
}
}
title <- title %OR% extractTitle(header)
content <- div(class = "wrapper", header, sidebar, body)
# if the sidebar has the attribute `data-collapsed = "true"`, it means that
# the user set the `collapsed` argument of `dashboardSidebar` to TRUE
collapsed <- findAttribute(sidebar, "data-collapsed", "true")
addDeps(
tags$body(
# the "sidebar-collapse" class on the body means that the sidebar should
# the collapsed (AdminLTE code)
class = paste0("skin-", skin, if (collapsed) " sidebar-collapse"),
style = "min-height: 611px;",
shiny::bootstrapPage(content, title = title)
)
)
}
shinydashboard/R/boxes.R 0000644 0001762 0000144 00000026735 15001455602 014733 0 ustar ligges users #' Create a value box for the main body of a dashboard.
#'
#' A value box displays a value (usually a number) in large text, with a smaller
#' subtitle beneath, and a large icon on the right side. Value boxes are meant
#' to be placed in the main body of a dashboard.
#'
#' @inheritParams box
#' @param value The value to display in the box. Usually a number or short text.
#' @param subtitle Subtitle text.
#' @param icon An icon tag, created by [shiny::icon()].
#' @param color A color for the box. Valid colors are listed in
#' [validColors].
#' @param href An optional URL to link to.
#'
#' @family boxes
#' @seealso [box()] for usage examples.
#'
#' @export
valueBox <- function(
value,
subtitle,
icon = NULL,
color = "aqua",
width = 4,
href = NULL
) {
validateColor(color)
if (!is.null(icon)) tagAssert(icon, type = "i")
boxContent <- div(
class = paste0("small-box bg-", color),
div(class = "inner", h3(value), p(subtitle)),
if (!is.null(icon)) div(class = "icon-large", icon)
)
if (!is.null(href)) boxContent <- a(href = href, boxContent)
div(class = if (!is.null(width)) paste0("col-sm-", width), boxContent)
}
#' Create an info box for the main body of a dashboard.
#'
#' An info box displays a large icon on the left side, and a title, value
#' (usually a number), and an optional smaller subtitle on the right side. Info
#' boxes are meant to be placed in the main body of a dashboard.
#'
#' @inheritParams box
#' @param title Title text.
#' @param value The value to display in the box. Usually a number or short text.
#' @param subtitle Subtitle text (optional).
#' @param icon An icon tag, created by [shiny::icon()].
#' @param color A color for the box. Valid colors are listed in
#' [validColors].
#' @param fill If `FALSE` (the default), use a white background for the
#' content, and the `color` argument for the background of the icon. If
#' `TRUE`, use the `color` argument for the background of the
#' content; the icon will use the same color with a slightly darkened
#' background.
#' @param href An optional URL to link to.
#'
#' @family boxes
#' @seealso [box()] for usage examples.
#'
#' @export
infoBox <- function(
title,
value = NULL,
subtitle = NULL,
icon = shiny::icon("bar-chart"),
color = "aqua",
width = 4,
href = NULL,
fill = FALSE
) {
validateColor(color)
tagAssert(icon, type = "i")
colorClass <- paste0("bg-", color)
boxContent <- div(
class = "info-box",
class = if (fill) colorClass,
span(
class = "info-box-icon",
class = if (!fill) colorClass,
icon
),
div(
class = "info-box-content",
span(class = "info-box-text", title),
if (!is.null(value)) span(class = "info-box-number", value),
if (!is.null(subtitle)) p(subtitle)
)
)
if (!is.null(href)) boxContent <- a(href = href, boxContent)
div(class = if (!is.null(width)) paste0("col-sm-", width), boxContent)
}
#' Create a box for the main body of a dashboard
#'
#' Boxes can be used to hold content in the main body of a dashboard.
#'
#' @param title Optional title.
#' @param footer Optional footer text.
#' @param status The status of the item This determines the item's background
#' color. Valid statuses are listed in [validStatuses].
#' @param solidHeader Should the header be shown with a solid color background?
#' @param background If NULL (the default), the background of the box will be
#' white. Otherwise, a color string. Valid colors are listed in
#' [validColors].
#' @param width The width of the box, using the Bootstrap grid system. This is
#' used for row-based layouts. The overall width of a region is 12, so the
#' default valueBox width of 4 occupies 1/3 of that width. For column-based
#' layouts, use `NULL` for the width; the width is set by the column that
#' contains the box.
#' @param height The height of a box, in pixels or other CSS unit. By default
#' the height scales automatically with the content.
#' @param collapsible If TRUE, display a button in the upper right that allows
#' the user to collapse the box.
#' @param collapsed If TRUE, start collapsed. This must be used with
#' `collapsible=TRUE`.
#' @param ... Contents of the box.
#'
#' @family boxes
#'
#' @examples
#' ## Only run this example in interactive R sessions
#' if (interactive()) {
#' library(shiny)
#'
#' # A dashboard body with a row of infoBoxes and valueBoxes, and two rows of boxes
#' body <- dashboardBody(
#'
#' # infoBoxes
#' fluidRow(
#' infoBox(
#' "Orders", uiOutput("orderNum2"), "Subtitle", icon = icon("credit-card")
#' ),
#' infoBox(
#' "Approval Rating", "60%", icon = icon("line-chart"), color = "green",
#' fill = TRUE
#' ),
#' infoBox(
#' "Progress", uiOutput("progress2"), icon = icon("users"), color = "purple"
#' )
#' ),
#'
#' # valueBoxes
#' fluidRow(
#' valueBox(
#' uiOutput("orderNum"), "New Orders", icon = icon("credit-card"),
#' href = "http://google.com"
#' ),
#' valueBox(
#' tagList("60", tags$sup(style="font-size: 20px", "%")),
#' "Approval Rating", icon = icon("line-chart"), color = "green"
#' ),
#' valueBox(
#' htmlOutput("progress"), "Progress", icon = icon("users"), color = "purple"
#' )
#' ),
#'
#' # Boxes
#' fluidRow(
#' box(status = "primary",
#' sliderInput("orders", "Orders", min = 1, max = 2000, value = 650),
#' selectInput("progress", "Progress",
#' choices = c("0%" = 0, "20%" = 20, "40%" = 40, "60%" = 60, "80%" = 80,
#' "100%" = 100)
#' )
#' ),
#' box(title = "Histogram box title",
#' status = "warning", solidHeader = TRUE, collapsible = TRUE,
#' plotOutput("plot", height = 250)
#' )
#' ),
#'
#' # Boxes with solid color, using `background`
#' fluidRow(
#' # Box with textOutput
#' box(
#' title = "Status summary",
#' background = "green",
#' width = 4,
#' textOutput("status")
#' ),
#'
#' # Box with HTML output, when finer control over appearance is needed
#' box(
#' title = "Status summary 2",
#' width = 4,
#' background = "red",
#' uiOutput("status2")
#' ),
#'
#' box(
#' width = 4,
#' background = "light-blue",
#' p("This is content. The background color is set to light-blue")
#' )
#' )
#' )
#'
#' server <- function(input, output) {
#' output$orderNum <- renderText({
#' prettyNum(input$orders, big.mark=",")
#' })
#'
#' output$orderNum2 <- renderText({
#' prettyNum(input$orders, big.mark=",")
#' })
#'
#' output$progress <- renderUI({
#' tagList(input$progress, tags$sup(style="font-size: 20px", "%"))
#' })
#'
#' output$progress2 <- renderUI({
#' paste0(input$progress, "%")
#' })
#'
#' output$status <- renderText({
#' paste0("There are ", input$orders,
#' " orders, and so the current progress is ", input$progress, "%.")
#' })
#'
#' output$status2 <- renderUI({
#' iconName <- switch(input$progress,
#' "100" = "ok",
#' "0" = "remove",
#' "road"
#' )
#' p("Current status is: ", icon(iconName, lib = "glyphicon"))
#' })
#'
#'
#' output$plot <- renderPlot({
#' hist(rnorm(input$orders))
#' })
#' }
#'
#' shinyApp(
#' ui = dashboardPage(
#' dashboardHeader(),
#' dashboardSidebar(),
#' body
#' ),
#' server = server
#' )
#' }
#' @export
box <- function(
...,
title = NULL,
footer = NULL,
status = NULL,
solidHeader = FALSE,
background = NULL,
width = 6,
height = NULL,
collapsible = FALSE,
collapsed = FALSE
) {
boxClass <- "box"
if (solidHeader || !is.null(background)) {
boxClass <- paste(boxClass, "box-solid")
}
if (!is.null(status)) {
validateStatus(status)
boxClass <- paste0(boxClass, " box-", status)
}
if (collapsible && collapsed) {
boxClass <- paste(boxClass, "collapsed-box")
}
if (!is.null(background)) {
validateColor(background)
boxClass <- paste0(boxClass, " bg-", background)
}
style <- NULL
if (!is.null(height)) {
style <- paste0("height: ", validateCssUnit(height))
}
titleTag <- NULL
if (!is.null(title)) {
titleTag <- h3(class = "box-title", title)
}
collapseTag <- NULL
if (collapsible) {
buttonStatus <- status %OR% "default"
collapseIcon <- if (collapsed) "plus" else "minus"
collapseTag <- div(
class = "box-tools pull-right",
tags$button(
class = paste0("btn btn-box-tool"),
`data-widget` = "collapse",
shiny::icon(collapseIcon)
)
)
}
headerTag <- NULL
if (!is.null(titleTag) || !is.null(collapseTag)) {
headerTag <- div(class = "box-header", titleTag, collapseTag)
}
div(
class = if (!is.null(width)) paste0("col-sm-", width),
div(
class = boxClass,
style = if (!is.null(style)) style,
headerTag,
div(class = "box-body", ...),
if (!is.null(footer)) div(class = "box-footer", footer)
)
)
}
#' Create a tabbed box
#'
#' @inheritParams shiny::tabsetPanel
#' @inheritParams box
#' @param title Title for the tabBox.
#' @param side Which side of the box the tabs should be on (`"left"` or
#' `"right"`). When `side="right"`, the order of tabs will be
#' reversed.
#'
#' @family boxes
#'
#' @examples
#' ## Only run this example in interactive R sessions
#' if (interactive()) {
#' library(shiny)
#'
#' body <- dashboardBody(
#' fluidRow(
#' tabBox(
#' title = "First tabBox",
#' # The id lets us use input$tabset1 on the server to find the current tab
#' id = "tabset1", height = "250px",
#' tabPanel("Tab1", "First tab content"),
#' tabPanel("Tab2", "Tab content 2")
#' ),
#' tabBox(
#' side = "right", height = "250px",
#' selected = "Tab3",
#' tabPanel("Tab1", "Tab content 1"),
#' tabPanel("Tab2", "Tab content 2"),
#' tabPanel("Tab3", "Note that when side=right, the tab order is reversed.")
#' )
#' ),
#' fluidRow(
#' tabBox(
#' # Title can include an icon
#' title = tagList(shiny::icon("gear"), "tabBox status"),
#' tabPanel("Tab1",
#' "Currently selected tab from first box:",
#' verbatimTextOutput("tabset1Selected")
#' ),
#' tabPanel("Tab2", "Tab content 2")
#' )
#' )
#' )
#'
#' shinyApp(
#' ui = dashboardPage(dashboardHeader(title = "tabBoxes"), dashboardSidebar(), body),
#' server = function(input, output) {
#' # The currently selected tab from the first box
#' output$tabset1Selected <- renderText({
#' input$tabset1
#' })
#' }
#' )
#' }
#' @export
tabBox <- function(
...,
id = NULL,
selected = NULL,
title = NULL,
width = 6,
height = NULL,
side = c("left", "right")
) {
side <- match.arg(side)
# The content is basically a tabsetPanel with some custom modifications
content <- shiny::tabsetPanel(..., id = id, selected = selected)
content$attribs$class <- "nav-tabs-custom"
# Set height
if (!is.null(height)) {
content <- tagAppendAttributes(
content,
style = paste0("height: ", validateCssUnit(height))
)
}
# Move tabs to right side if needed
if (side == "right") {
content$children[[1]] <- tagAppendAttributes(
content$children[[1]],
class = "pull-right"
)
}
# Add title
if (!is.null(title)) {
if (side == "left") titleClass <- "pull-right" else
titleClass <- "pull-left"
content$children[[1]] <- htmltools::tagAppendChild(
content$children[[1]],
tags$li(class = paste("header", titleClass), title)
)
}
div(class = paste0("col-sm-", width), content)
}
shinydashboard/R/shinydashboard-package.r 0000644 0001762 0000144 00000000066 15001455546 020242 0 ustar ligges users #' @import htmltools
#' @keywords internal
"_PACKAGE"
shinydashboard/R/dashboardSidebar.R 0000644 0001762 0000144 00000042146 15001455602 017026 0 ustar ligges users #' Create a dashboard sidebar.
#'
#' A dashboard sidebar typically contains a [sidebarMenu()], although
#' it may also contain a [sidebarSearchForm()], or other Shiny inputs.
#'
#' @param ... Items to put in the sidebar.
#' @param disable If `TRUE`, the sidebar will be disabled.
#' @param width The width of the sidebar. This must either be a number which
#' specifies the width in pixels, or a string that specifies the width in CSS
#' units.
#' @param collapsed If `TRUE`, the sidebar will be collapsed on app startup.
#'
#' @seealso [sidebarMenu()]
#'
#' @examples
#' ## Only run this example in interactive R sessions
#' if (interactive()) {
#' header <- dashboardHeader()
#'
#' sidebar <- dashboardSidebar(
#' sidebarUserPanel("User Name",
#' subtitle = a(href = "#", icon("circle", class = "text-success"), "Online"),
#' # Image file should be in www/ subdir
#' image = "userimage.png"
#' ),
#' sidebarSearchForm(label = "Enter a number", "searchText", "searchButton"),
#' sidebarMenu(
#' # Setting id makes input$tabs give the tabName of currently-selected tab
#' id = "tabs",
#' menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
#' menuItem("Widgets", icon = icon("th"), tabName = "widgets", badgeLabel = "new",
#' badgeColor = "green"),
#' menuItem("Charts", icon = icon("bar-chart-o"),
#' menuSubItem("Sub-item 1", tabName = "subitem1"),
#' menuSubItem("Sub-item 2", tabName = "subitem2")
#' )
#' )
#' )
#'
#' body <- dashboardBody(
#' tabItems(
#' tabItem("dashboard",
#' div(p("Dashboard tab content"))
#' ),
#' tabItem("widgets",
#' "Widgets tab content"
#' ),
#' tabItem("subitem1",
#' "Sub-item 1 tab content"
#' ),
#' tabItem("subitem2",
#' "Sub-item 2 tab content"
#' )
#' )
#' )
#'
#' shinyApp(
#' ui = dashboardPage(header, sidebar, body),
#' server = function(input, output) { }
#' )
#' }
#' @export
dashboardSidebar <- function(
...,
disable = FALSE,
width = NULL,
collapsed = FALSE
) {
width <- validateCssUnit(width)
# Set up custom CSS for custom width
custom_css <- NULL
if (!is.null(width)) {
# This CSS is derived from the sidebar-related instances of '230px' (the
# default sidebar width) from inst/AdminLTE/AdminLTE.css. One difference is
# that instead making changes to the global settings, we've put them in a
# media query (min-width: 768px), so that it won't override other media
# queries (like max-width: 767px) that work for narrower screens.
custom_css <- tags$head(tags$style(HTML(gsub(
"_WIDTH_",
width,
fixed = TRUE,
'
.main-sidebar, .left-side {
width: _WIDTH_;
}
@media (min-width: 768px) {
.content-wrapper,
.right-side,
.main-footer {
margin-left: _WIDTH_;
}
.main-sidebar,
.left-side {
width: _WIDTH_;
}
}
@media (max-width: 767px) {
.sidebar-open .content-wrapper,
.sidebar-open .right-side,
.sidebar-open .main-footer {
-webkit-transform: translate(_WIDTH_, 0);
-ms-transform: translate(_WIDTH_, 0);
-o-transform: translate(_WIDTH_, 0);
transform: translate(_WIDTH_, 0);
}
}
@media (max-width: 767px) {
.main-sidebar,
.left-side {
-webkit-transform: translate(-_WIDTH_, 0);
-ms-transform: translate(-_WIDTH_, 0);
-o-transform: translate(-_WIDTH_, 0);
transform: translate(-_WIDTH_, 0);
}
}
@media (min-width: 768px) {
.sidebar-collapse .main-sidebar,
.sidebar-collapse .left-side {
-webkit-transform: translate(-_WIDTH_, 0);
-ms-transform: translate(-_WIDTH_, 0);
-o-transform: translate(-_WIDTH_, 0);
transform: translate(-_WIDTH_, 0);
}
}
'
))))
}
# If we're restoring a bookmarked app, this holds the value of whether or not the
# sidebar was collapsed. If this is not the case, the default is whatever the user
# specified in the `collapsed` argument.
dataValue <- shiny::restoreInput(id = "sidebarCollapsed", default = collapsed)
if (disable) dataValue <- TRUE # this is a workaround to fix #209
dataValueString <- if (dataValue) "true" else "false"
# The expanded/collapsed state of the sidebar is actually set by adding a
# class to the body (not to the sidebar). However, it makes sense for the
# `collapsed` argument to belong in this function. So this information is
# just passed through (as the `data-collapsed` attribute) to the
# `dashboardPage()` function
tags$aside(
id = "sidebarCollapsed",
class = "main-sidebar",
`data-collapsed` = dataValueString,
custom_css,
tags$section(
id = "sidebarItemExpanded",
class = "sidebar",
`data-disable` = if (disable) 1 else NULL,
list(...)
)
)
}
#' A panel displaying user information in a sidebar
#'
#' @param name Name of the user.
#' @param subtitle Text or HTML to be shown below the name.
#' @param image A filename or URL to use for an image of the person. If it is a
#' local file, the image should be contained under the www/ subdirectory of
#' the application.
#'
#' @family sidebar items
#'
#' @seealso [dashboardSidebar()] for example usage.
#'
#' @export
sidebarUserPanel <- function(name, subtitle = NULL, image = NULL) {
div(
class = "user-panel",
if (!is.null(image)) {
div(
class = "pull-left image",
img(src = image, class = "img-circle", alt = "User Image")
)
},
div(
class = "pull-left info",
# If no image, move text to the left: by overriding default left:55px
style = if (is.null(image)) "left: 4px",
p(name),
subtitle
)
)
}
#' Create a search form to place in a sidebar
#'
#' A search form consists of a text input field and a search button.
#'
#' @param textId Shiny input ID for the text input box.
#' @param buttonId Shiny input ID for the search button (which functions like an
#' [shiny::actionButton()]).
#' @param label Text label to display inside the search box.
#' @param icon An icon tag, created by [shiny::icon()].
#'
#' @family sidebar items
#'
#' @seealso [dashboardSidebar()] for example usage.
#'
#' @export
sidebarSearchForm <- function(
textId,
buttonId,
label = "Search...",
icon = shiny::icon("search")
) {
tags$form(
class = "sidebar-form",
div(
class = "input-group",
tags$input(
id = textId,
type = "text",
class = "form-control",
placeholder = label,
style = "margin: 5px;"
),
span(
class = "input-group-btn",
tags$button(
id = buttonId,
type = "button",
class = "btn btn-flat action-button",
icon
)
)
)
)
}
#' Create a dashboard sidebar menu and menu items.
#'
#' A `dashboardSidebar` can contain a `sidebarMenu`. A
#' `sidebarMenu` contains `menuItem`s, and they can in turn contain
#' `menuSubItem`s.
#'
#' Menu items (and similarly, sub-items) should have a value for either
#' `href` or `tabName`; otherwise the item would do nothing. If it has
#' a value for `href`, then the item will simply be a link to that value.
#'
#' If a `menuItem` has a non-NULL `tabName`, then the `menuItem`
#' will behave like a tab -- in other words, clicking on the `menuItem`
#' will bring a corresponding `tabItem` to the front, similar to a
#' [shiny::tabPanel()]. One important difference between a
#' `menuItem` and a `tabPanel` is that, for a `menuItem`, you
#' must also supply a corresponding `tabItem` with the same value for
#' `tabName`, whereas for a `tabPanel`, no `tabName` is needed.
#' (This is because the structure of a `tabPanel` is such that the tab name
#' can be automatically generated.) Sub-items are also able to activate
#' `tabItem`s.
#'
#' Menu items (but not sub-items) also may have an optional badge. A badge is a
#' colored oval containing text.
#'
#' @param text Text to show for the menu item.
#' @param id For `sidebarMenu`, if `id` is present, this id will be
#' used for a Shiny input value, and it will report which tab is selected. For
#' example, if `id="tabs"`, then `input$tabs` will be the
#' `tabName` of the currently-selected tab. If you want to be able to
#' bookmark and restore the selected tab, an `id` is required.
#' @param icon An icon tag, created by [shiny::icon()]. If
#' `NULL`, don't display an icon.
#' @param badgeLabel A label for an optional badge. Usually a number or a short
#' word like "new".
#' @param badgeColor A color for the badge. Valid colors are listed in
#' [validColors].
#' @param href An link address. Not compatible with `tabName`.
#' @param tabName The name of a tab that this menu item will activate. Not
#' compatible with `href`.
#' @param newtab If `href` is supplied, should the link open in a new
#' browser tab?
#' @param selected If `TRUE`, this `menuItem` or `menuSubItem`
#' will start selected. If no item have `selected=TRUE`, then the first
#' `menuItem` will start selected.
#' @param expandedName A unique name given to each `menuItem` that serves
#' to indicate which one (if any) is currently expanded. (This is only applicable
#' to `menuItem`s that have children and it is mostly only useful for
#' bookmarking state.)
#' @param startExpanded Should this `menuItem` be expanded on app startup?
#' (This is only applicable to `menuItem`s that have children, and only
#' one of these can be expanded at any given time).
#' @param ... For menu items, this may consist of [menuSubItem()]s.
#' @param .list An optional list containing items to put in the menu Same as the
#' `...` arguments, but in list format. This can be useful when working
#' with programmatically generated items.
#'
#' @family sidebar items
#'
#' @seealso [dashboardSidebar()] for example usage. For
#' dynamically-generated sidebar menus, see [renderMenu()] and
#' [sidebarMenuOutput()].
#'
#' @export
sidebarMenu <- function(..., id = NULL, .list = NULL) {
items <- c(list(...), .list)
# Restore a selected tab from bookmarked state. Bookmarking was added in Shiny
# 0.14.
if (utils::packageVersion("shiny") >= "0.14" && !is.null(id)) {
selectedTabName <- shiny::restoreInput(id = id, default = NULL)
if (!is.null(selectedTabName)) {
# Find the menuItem or menuSubItem with a `tabname` that matches
# `selectedTab`. Then set `data-start-selected` to 1 for that tab and 0
# for all others.
# Given a menuItem and a logical value for `selected`, set the
# data-start-selected attribute to the appropriate value (1 or 0).
selectItem <- function(item, selected) {
# in the cases that the children of menuItems are NOT menuSubItems
if (is.atomic(item) || length(item$children) == 0) {
return(item)
}
if (selected) value <- 1 else value <- NULL
# Try to find the child tag and then set
# data-start-selected="1". The []<- assignment is to preserve
# attributes.
item$children[] <- lapply(item$children, function(child) {
# Find the appropriate child
if (tagMatches(child, name = "a", `data-toggle` = "tab")) {
child$attribs[["data-start-selected"]] <- value
}
child
})
item
}
# Given a menuItem and a tabName (string), return TRUE if the menuItem has
# that tabName, FALSE otherwise.
itemHasTabName <- function(item, tabName) {
# Must be a tag
if (!tagMatches(item, name = "li")) {
return(FALSE)
}
# Look for an child with data-value=tabName
found <- FALSE
lapply(item$children, function(child) {
if (tagMatches(child, name = "a", `data-value` = tabName)) {
found <<- TRUE
}
})
found
}
# Actually do the work of marking selected tabs and unselected ones.
items <- lapply(items, function(item) {
if (tagMatches(item, name = "li", class = "treeview")) {
# Search in menuSubItems
item$children[] <- lapply(item$children[], function(subItem) {
if (tagMatches(subItem, name = "ul", class = "treeview-menu")) {
subItem$children[] <- lapply(
subItem$children,
function(subSubItem) {
selected <- itemHasTabName(subSubItem, selectedTabName)
selectItem(subSubItem, selected)
}
)
}
subItem
})
} else {
# Regular menuItems
selected <- itemHasTabName(item, selectedTabName)
item <- selectItem(item, selected)
}
item
})
}
# This is a 0 height div, whose only purpose is to hold the tabName of the currently
# selected menuItem in its `data-value` attribute. This is the DOM element that is
# bound to tabItemInputBinding in the JS side.
items[[length(items) + 1]] <- div(
id = id,
class = "sidebarMenuSelectedTabItem",
`data-value` = selectedTabName %OR% "null"
)
}
# Use do.call so that we don't add an extra list layer to the children of the
# ul tag. This makes it a little easier to traverse the tree to search for
# selected items to restore.
do.call(tags$ul, c(class = "sidebar-menu", items))
}
#' @rdname sidebarMenu
#' @export
menuItem <- function(
text,
...,
icon = NULL,
badgeLabel = NULL,
badgeColor = "green",
tabName = NULL,
href = NULL,
newtab = TRUE,
selected = NULL,
expandedName = as.character(gsub("[[:space:]]", "", text)),
startExpanded = FALSE
) {
subItems <- list(...)
if (!is.null(icon)) tagAssert(icon, type = "i")
if (!is.null(href) + !is.null(tabName) + (length(subItems) > 0) != 1) {
stop("Must have either href, tabName, or sub-items (contained in ...).")
}
if (!is.null(badgeLabel) && length(subItems) != 0) {
stop("Can't have both badge and subItems")
}
validateColor(badgeColor)
# If there's a tabName, set up the correct href and target
isTabItem <- FALSE
target <- NULL
if (!is.null(tabName)) {
validateTabName(tabName)
isTabItem <- TRUE
href <- paste0("#shiny-tab-", tabName)
} else if (is.null(href)) {
href <- "#"
} else {
# If supplied href, set up tag's target
if (newtab) target <- "_blank"
}
# Generate badge if needed
if (!is.null(badgeLabel)) {
badgeTag <- tags$small(
class = paste0("badge pull-right bg-", badgeColor),
badgeLabel
)
} else {
badgeTag <- NULL
}
# If no subitems, return a pretty simple tag object
if (length(subItems) == 0) {
return(
tags$li(
a(
href = href,
`data-toggle` = if (isTabItem) "tab",
`data-value` = if (!is.null(tabName)) tabName,
`data-start-selected` = if (isTRUE(selected)) 1 else NULL,
target = target,
icon,
span(text),
badgeTag
)
)
)
}
# If we're restoring a bookmarked app, this holds the value of what menuItem (if any)
# was expanded (this has be to stored separately from the selected menuItem, since
# these actually independent in AdminLTE). If no menuItem was expanded, `dataExpanded`
# is NULL. However, we want to this input to get passed on (and not dropped), so we
# do `%OR% ""` to assure this.
default <- if (startExpanded) expandedName else ""
dataExpanded <- shiny::restoreInput(id = "sidebarItemExpanded", default) %OR%
""
# If `dataExpanded` is not the empty string, we need to check that it is eqaul to the
# this menuItem's `expandedName``
isExpanded <- nzchar(dataExpanded) && (dataExpanded == expandedName)
tags$li(
class = "treeview",
a(
href = href,
icon,
span(text),
shiny::icon("angle-left", class = "pull-right")
),
# Use do.call so that we don't add an extra list layer to the children of the
# ul tag. This makes it a little easier to traverse the tree to search for
# selected items to restore.
do.call(
tags$ul,
c(
class = paste0("treeview-menu", if (isExpanded) " menu-open" else ""),
style = paste0("display: ", if (isExpanded) "block;" else "none;"),
`data-expanded` = expandedName,
subItems
)
)
)
}
#' @rdname sidebarMenu
#' @export
menuSubItem <- function(
text,
tabName = NULL,
href = NULL,
newtab = TRUE,
icon = shiny::icon("angle-double-right"),
selected = NULL
) {
if (!is.null(href) && !is.null(tabName)) {
stop("Can't specify both href and tabName")
}
# If there's a tabName, set up the correct href
isTabItem <- FALSE
target <- NULL
if (!is.null(tabName)) {
validateTabName(tabName)
isTabItem <- TRUE
href <- paste0("#shiny-tab-", tabName)
} else if (is.null(href)) {
href <- "#"
} else {
# If supplied href, set up tag's target
if (newtab) target <- "_blank"
}
tags$li(
a(
href = href,
`data-toggle` = if (isTabItem) "tab",
`data-value` = if (!is.null(tabName)) tabName,
`data-start-selected` = if (isTRUE(selected)) 1 else NULL,
target = target,
icon,
text
)
)
}
shinydashboard/R/deps.R 0000644 0001762 0000144 00000002213 15001455602 014527 0 ustar ligges users # Add an html dependency, without overwriting existing ones
appendDependencies <- function(x, value) {
if (inherits(value, "html_dependency")) value <- list(value)
old <- attr(x, "html_dependencies", TRUE)
htmlDependencies(x) <- c(old, value)
x
}
# Add dashboard dependencies to a tag object
addDeps <- function(x) {
if (getOption("shiny.minified", TRUE)) {
adminLTE_js <- "app.min.js"
shinydashboard_js <- "shinydashboard.min.js"
adminLTE_css <- c("AdminLTE.min.css", "_all-skins.min.css")
} else {
adminLTE_js <- "app.js"
shinydashboard_js <- "shinydashboard.js"
adminLTE_css <- c("AdminLTE.css", "_all-skins.css")
}
dashboardDeps <- list(
htmlDependency(
"AdminLTE",
"2.0.6",
c(file = system.file("AdminLTE", package = "shinydashboard")),
script = adminLTE_js,
stylesheet = adminLTE_css
),
htmlDependency(
"shinydashboard",
as.character(utils::packageVersion("shinydashboard")),
c(file = system.file(package = "shinydashboard")),
script = shinydashboard_js,
stylesheet = "shinydashboard.css"
)
)
appendDependencies(x, dashboardDeps)
}
shinydashboard/R/dashboardHeader.R 0000644 0001762 0000144 00000023555 15001455602 016650 0 ustar ligges users #' Create a header for a dashboard page
#'
#' A dashboard header can be left blank, or it can include dropdown menu items
#' on the right side.
#'
#' @param title An optional title to show in the header bar.. By default, this
#' will also be used as the title shown in the browser's title bar. If you
#' want that to be different from the text in the dashboard header bar, set
#' the `title` in [dashboardPage()].
#' @param titleWidth The width of the title area. This must either be a number
#' which specifies the width in pixels, or a string that specifies the width
#' in CSS units.
#' @param disable If `TRUE`, don't display the header bar.
#' @param ... Items to put in the header. Should be [dropdownMenu()]s.
#' @param .list An optional list containing items to put in the header. Same as
#' the `...` arguments, but in list format. This can be useful when
#' working with programmatically generated items.
#'
#' @seealso [dropdownMenu()]
#'
#' @examples
#' ## Only run this example in interactive R sessions
#' if (interactive()) {
#' library(shiny)
#'
#' # A dashboard header with 3 dropdown menus
#' header <- dashboardHeader(
#' title = "Dashboard Demo",
#'
#' # Dropdown menu for messages
#' dropdownMenu(type = "messages", badgeStatus = "success",
#' messageItem("Support Team",
#' "This is the content of a message.",
#' time = "5 mins"
#' ),
#' messageItem("Support Team",
#' "This is the content of another message.",
#' time = "2 hours"
#' ),
#' messageItem("New User",
#' "Can I get some help?",
#' time = "Today"
#' )
#' ),
#'
#' # Dropdown menu for notifications
#' dropdownMenu(type = "notifications", badgeStatus = "warning",
#' notificationItem(icon = icon("users"), status = "info",
#' "5 new members joined today"
#' ),
#' notificationItem(icon = icon("warning"), status = "danger",
#' "Resource usage near limit."
#' ),
#' notificationItem(icon = icon("shopping-cart", lib = "glyphicon"),
#' status = "success", "25 sales made"
#' ),
#' notificationItem(icon = icon("user", lib = "glyphicon"),
#' status = "danger", "You changed your username"
#' )
#' ),
#'
#' # Dropdown menu for tasks, with progress bar
#' dropdownMenu(type = "tasks", badgeStatus = "danger",
#' taskItem(value = 20, color = "aqua",
#' "Refactor code"
#' ),
#' taskItem(value = 40, color = "green",
#' "Design new layout"
#' ),
#' taskItem(value = 60, color = "yellow",
#' "Another task"
#' ),
#' taskItem(value = 80, color = "red",
#' "Write documentation"
#' )
#' )
#' )
#'
#' shinyApp(
#' ui = dashboardPage(
#' header,
#' dashboardSidebar(),
#' dashboardBody()
#' ),
#' server = function(input, output) { }
#' )
#' }
#' @export
dashboardHeader <- function(
...,
title = NULL,
titleWidth = NULL,
disable = FALSE,
.list = NULL
) {
items <- c(list(...), .list)
lapply(items, tagAssert, type = "li", class = "dropdown")
titleWidth <- validateCssUnit(titleWidth)
# Set up custom CSS for custom width.
custom_css <- NULL
if (!is.null(titleWidth)) {
# This CSS is derived from the header-related instances of '230px' (the
# default sidebar width) from inst/AdminLTE/AdminLTE.css. One change is that
# instead making changes to the global settings, we've put them in a media
# query (min-width: 768px), so that it won't override other media queries
# (like max-width: 767px) that work for narrower screens.
custom_css <- tags$head(tags$style(HTML(gsub(
"_WIDTH_",
titleWidth,
fixed = TRUE,
'
@media (min-width: 768px) {
.main-header > .navbar {
margin-left: _WIDTH_;
}
.main-header .logo {
width: _WIDTH_;
}
}
'
))))
}
tags$header(
class = "main-header",
custom_css,
style = if (disable) "display: none;",
span(class = "logo", title),
tags$nav(
class = "navbar navbar-static-top",
role = "navigation",
# Embed hidden icon so that we get the font-awesome dependency
span(shiny::icon("bars"), style = "display:none;"),
# Sidebar toggle button
a(
href = "#",
class = "sidebar-toggle",
`data-toggle` = "offcanvas",
role = "button",
span(class = "sr-only", "Toggle navigation")
),
div(
class = "navbar-custom-menu",
tags$ul(class = "nav navbar-nav", items)
)
)
)
}
#' Create a dropdown menu to place in a dashboard header
#'
#' @param type The type of menu. Should be one of "messages", "notifications",
#' "tasks".
#' @param badgeStatus The status of the badge which displays the number of items
#' in the menu. This determines the badge's color. Valid statuses are listed
#' in [validStatuses]. A value of `NULL` means to not display a
#' badge.
#' @param ... Items to put in the menu. Typically, message menus should contain
#' [messageItem()]s, notification menus should contain
#' [notificationItem()]s, and task menus should contain
#' [taskItem()]s.
#' @param icon An icon to display in the header. By default, the icon is
#' automatically selected depending on `type`, but it can be overriden
#' with this argument.
#' @param headerText An optional text argument used for the header of the
#' dropdown menu (this is only visible when the menu is expanded). If none is
#' provided by the user, the default is "You have `x` messages," where
#' `x` is the number of items in the menu (if the `type` is
#' specified to be "notifications" or "tasks," the default text shows "You
#' have `x` notifications" or "You have `x` tasks," respectively).
#' @param .list An optional list containing items to put in the menu Same as the
#' `...` arguments, but in list format. This can be useful when working
#' with programmatically generated items.
#'
#' @seealso [dashboardHeader()] for example usage.
#'
#' @export
dropdownMenu <- function(
...,
type = c("messages", "notifications", "tasks"),
badgeStatus = "primary",
icon = NULL,
headerText = NULL,
.list = NULL
) {
type <- match.arg(type)
if (!is.null(badgeStatus)) validateStatus(badgeStatus)
items <- c(list(...), .list)
# Make sure the items are li tags
lapply(items, tagAssert, type = "li")
dropdownClass <- paste0("dropdown ", type, "-menu")
if (is.null(icon)) {
icon <- switch(
type,
messages = shiny::icon("envelope"),
notifications = shiny::icon("warning"),
tasks = shiny::icon("tasks")
)
}
numItems <- length(items)
if (is.null(badgeStatus)) {
badge <- NULL
} else {
badge <- span(class = paste0("label label-", badgeStatus), numItems)
}
if (is.null(headerText)) {
headerText <- paste("You have", numItems, type)
}
tags$li(
class = dropdownClass,
a(
href = "#",
class = "dropdown-toggle",
`data-toggle` = "dropdown",
icon,
badge
),
tags$ul(
class = "dropdown-menu",
tags$li(class = "header", headerText),
tags$li(
tags$ul(class = "menu", items)
)
# TODO: This would need to be added to the outer ul
# tags$li(class = "footer", a(href="#", "View all"))
)
)
}
#' Create a message item to place in a dropdown message menu
#'
#' @param from Who the message is from.
#' @param message Text of the message.
#' @param icon An icon tag, created by [shiny::icon()].
#' @param time String representing the time the message was sent. Any string may
#' be used. For example, it could be a relative date/time like "5 minutes",
#' "today", or "12:30pm yesterday", or an absolute time, like "2014-12-01 13:45".
#' If NULL, no time will be displayed.
#' @param href An optional URL to link to.
#'
#' @family menu items
#' @seealso [dashboardHeader()] for example usage.
#' @export
messageItem <- function(
from,
message,
icon = shiny::icon("user"),
time = NULL,
href = NULL
) {
tagAssert(icon, type = "i")
if (is.null(href)) href <- "#"
tags$li(
a(
href = href,
icon,
h4(
from,
if (!is.null(time)) tags$small(shiny::icon("clock-o"), time)
),
p(message)
)
)
}
#' Create a notification item to place in a dropdown notification menu
#'
#' @param text The notification text.
#' @param icon An icon tag, created by [shiny::icon()].
#' @param status The status of the item This determines the item's background
#' color. Valid statuses are listed in [validStatuses].
#' @param href An optional URL to link to.
#'
#' @family menu items
#' @seealso [dashboardHeader()] for example usage.
#' @export
notificationItem <- function(
text,
icon = shiny::icon("warning"),
status = "success",
href = NULL
) {
tagAssert(icon, type = "i")
validateStatus(status)
if (is.null(href)) href <- "#"
# Add the status as another HTML class to the icon
icon <- tagAppendAttributes(icon, class = paste0("text-", status))
tags$li(
a(href = href, icon, text)
)
}
#' Create a task item to place in a dropdown task menu
#'
#' @param text The task text.
#' @param value A percent value to use for the bar.
#' @param color A color for the bar. Valid colors are listed in
#' [validColors].
#' @param href An optional URL to link to.
#'
#' @family menu items
#' @seealso [dashboardHeader()] for example usage.
#' @export
taskItem <- function(text, value = 0, color = "aqua", href = NULL) {
validateColor(color)
if (is.null(href)) href <- "#"
tags$li(
a(
href = href,
h3(text, tags$small(class = "pull-right", paste0(value, "%"))),
div(
class = "progress xs",
div(
class = paste0("progress-bar progress-bar-", color),
style = paste0("width: ", value, "%"),
role = "progressbar",
`aria-valuenow` = value,
`aria-valuemin` = "0",
`aria-valuemax` = "100",
span(class = "sr-only", paste0(value, "% complete"))
)
)
)
)
}
shinydashboard/R/valueBoxOutput.R 0000644 0001762 0000144 00000004354 15001455602 016612 0 ustar ligges users # `.` is used in renderValueBox
utils::globalVariables(".")
#' Create an info or value box output (client side)
#'
#' This is the UI-side function for creating a dynamic [valueBox()] or
#' [infoBox()].
#'
#' @inheritParams valueBox
#' @param outputId Output variable name.
#' @seealso [renderValueBox()] for the corresponding server-side
#' function and examples.
#' @export
valueBoxOutput <- function(outputId, width = 4) {
shiny::uiOutput(outputId, class = paste0("col-sm-", width))
}
#' @rdname valueBoxOutput
#' @export
infoBoxOutput <- valueBoxOutput
#' Create an info or value box output (server side)
#'
#' This is the server-side function for creating a dynamic
#' [valueBox()] or [infoBox()].
#'
#' @inheritParams shiny::renderUI
#' @seealso [valueBoxOutput()] for the corresponding UI-side function.
#'
#' @examples
#' ## Only run this example in interactive R sessions
#' if (interactive()) {
#' library(shiny)
#'
#' ui <- dashboardPage(
#' dashboardHeader(title = "Dynamic boxes"),
#' dashboardSidebar(),
#' dashboardBody(
#' fluidRow(
#' box(width = 2, actionButton("count", "Count")),
#' infoBoxOutput("ibox"),
#' valueBoxOutput("vbox")
#' )
#' )
#' )
#'
#' server <- function(input, output) {
#' output$ibox <- renderInfoBox({
#' infoBox(
#' "Title",
#' input$count,
#' icon = icon("credit-card")
#' )
#' })
#' output$vbox <- renderValueBox({
#' valueBox(
#' "Title",
#' input$count,
#' icon = icon("credit-card")
#' )
#' })
#' }
#'
#' shinyApp(ui, server)
#' }
#' @import promises
#' @export
renderValueBox <- function(expr, env = parent.frame(), quoted = FALSE) {
# Convert the expression to a function
vbox_fun <- shiny::exprToFunction(expr, env, quoted)
# Wrap that function in another function which strips off the outer div and
# send it to renderUI.
shiny::renderUI({
vbox <- vbox_fun()
if (is.promising(vbox)) {
vbox %...T>%
tagAssert(type = "div") %...>%
{
.$children[[1]]
}
} else {
tagAssert(vbox, type = "div")
# Strip off outer div, since it's already present in output
vbox$children[[1]]
}
})
}
#' @rdname renderValueBox
#' @export
renderInfoBox <- renderValueBox
shinydashboard/R/tabs.R 0000644 0001762 0000144 00000004166 15001455602 014536 0 ustar ligges users #' A container for tab items
#'
#' @param ... Items to put in the container. Each item should be a
#' [tabItem()].
#'
#' @seealso [menuItem()], [menuSubItem()],
#' [tabItem()]. See [sidebarMenu()] for a usage example.
#' @export
tabItems <- function(...) {
lapply(list(...), tagAssert, class = "tab-pane")
div(class = "tab-content", ...)
}
#' One tab to put inside a tab items container
#'
#' @param tabName The name of a tab. This must correspond to the `tabName`
#' of a [menuItem()] or [menuSubItem()].
#' @param ... Contents of the tab.
#'
#' @seealso [menuItem()], [menuSubItem()],
#' [tabItems()]. See [sidebarMenu()] for a usage example.
#' @export
tabItem <- function(tabName = NULL, ...) {
if (is.null(tabName)) stop("Need tabName")
validateTabName(tabName)
div(
role = "tabpanel",
class = "tab-pane",
id = paste0("shiny-tab-", tabName),
...
)
}
#' Change the selected tab on the client
#'
#' This function controls the active tab of [tabItems()] from the
#' server. It behaves just like [shiny::updateTabsetPanel()].
#'
#' @inheritDotParams shiny::updateTabsetPanel
#' @examples
#' ## Only run this example in interactive R sessions
#' if (interactive()) {
#'
#' ui <- dashboardPage(
#' dashboardHeader(title = "Simple tabs"),
#' dashboardSidebar(
#' sidebarMenu(
#' id = "tabs",
#' menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
#' menuItem("Widgets", tabName = "widgets", icon = icon("th"))
#' ),
#' actionButton('switchtab', 'Switch tab')
#' ),
#' dashboardBody(
#' tabItems(
#' tabItem(tabName = "dashboard",
#' h2("Dashboard tab content")
#' ),
#' tabItem(tabName = "widgets",
#' h2("Widgets tab content")
#' )
#' )
#' )
#' )
#'
#' server <- function(input, output, session) {
#' observeEvent(input$switchtab, {
#' newtab <- switch(input$tabs,
#' "dashboard" = "widgets",
#' "widgets" = "dashboard"
#' )
#' updateTabItems(session, "tabs", newtab)
#' })
#' }
#'
#' shinyApp(ui, server)
#' }
#' @export
updateTabItems <- function(...) {
shiny::updateTabsetPanel(...)
}
shinydashboard/R/menuOutput.R 0000644 0001762 0000144 00000011434 15001455602 015766 0 ustar ligges users #' Create a dynamic menu output for shinydashboard (client side)
#'
#' This can be used as a placeholder for dynamically-generated
#' [dropdownMenu()], [notificationItem()],
#' [messageItem()], [taskItem()] [sidebarMenu()],
#' or [menuItem()]. If called directly, you must make sure to supply
#' the correct type of tag. It is simpler to use the wrapper functions if
#' present; for example, [dropdownMenuOutput()] and
#' [sidebarMenuOutput()].
#'
#' @param outputId Output variable name.
#' @param tag A tag function, like `tags$li` or `tags$ul`.
#'
#' @family menu outputs
#' @seealso [renderMenu()] for the corresponding server side function
#' and examples.
menuOutput <- function(outputId, tag = tags$li) {
tag(id = outputId, class = "shinydashboard-menu-output")
}
#' Create a dropdown menu output (client side)
#'
#' This is the UI-side function for creating a dynamic dropdown menu.
#'
#' @inheritParams menuOutput
#' @family menu outputs
#' @seealso [renderMenu()] for the corresponding server-side function
#' and examples, and [dropdownMenu()] for the corresponding function
#' for generating static menus.
#' @export
dropdownMenuOutput <- function(outputId) {
menuOutput(outputId = outputId, tag = tags$li)
}
#' Create a sidebar menu output (client side)
#'
#' This is the UI-side function for creating a dynamic sidebar menu.
#'
#' @inheritParams menuOutput
#' @family menu outputs
#' @seealso [renderMenu()] for the corresponding server-side function
#' and examples, and [sidebarMenu()] for the corresponding function
#' for generating static sidebar menus.
#' @export
sidebarMenuOutput <- function(outputId) {
menuOutput(outputId = outputId, tag = tags$ul)
}
#' Create a sidebar menu item output (client side)
#'
#' This is the UI-side function for creating a dynamic sidebar menu item.
#'
#' @inheritParams menuOutput
#' @family menu outputs
#' @seealso [renderMenu()] for the corresponding server-side function
#' and examples, and [menuItem()] for the corresponding function
#' for generating static sidebar menus.
#' @export
menuItemOutput <- function(outputId) {
menuOutput(outputId = outputId, tag = tags$li)
}
#' Create dynamic menu output (server side)
#'
#' @inheritParams shiny::renderUI
#'
#' @seealso [menuOutput()] for the corresponding client side function
#' and examples.
#' @family menu outputs
#' @export
#' @examples
#' ## Only run these examples in interactive R sessions
#'
#' if (interactive()) {
#' library(shiny)
#' # ========== Dynamic sidebarMenu ==========
#' ui <- dashboardPage(
#' dashboardHeader(title = "Dynamic sidebar"),
#' dashboardSidebar(
#' sidebarMenuOutput("menu")
#' ),
#' dashboardBody()
#' )
#'
#' server <- function(input, output) {
#' output$menu <- renderMenu({
#' sidebarMenu(
#' menuItem("Menu item", icon = icon("calendar"))
#' )
#' })
#' }
#'
#' shinyApp(ui, server)
#'
#' # ========== Dynamic dropdownMenu ==========
#' # Example message data in a data frame
#' messageData <- data.frame(
#' from = c("Admininstrator", "New User", "Support"),
#' message = c(
#' "Sales are steady this month.",
#' "How do I register?",
#' "The new server is ready."
#' ),
#' stringsAsFactors = FALSE
#' )
#'
#' ui <- dashboardPage(
#' dashboardHeader(
#' title = "Dynamic menus",
#' dropdownMenuOutput("messageMenu")
#' ),
#' dashboardSidebar(),
#' dashboardBody(
#' fluidRow(
#' box(
#' title = "Controls",
#' sliderInput("slider", "Number of observations:", 1, 100, 50)
#' )
#' )
#' )
#' )
#'
#' server <- function(input, output) {
#' output$messageMenu <- renderMenu({
#' # Code to generate each of the messageItems here, in a list. messageData
#' # is a data frame with two columns, 'from' and 'message'.
#' # Also add on slider value to the message content, so that messages update.
#' msgs <- apply(messageData, 1, function(row) {
#' messageItem(
#' from = row[["from"]],
#' message = paste(row[["message"]], input$slider)
#' )
#' })
#'
#' dropdownMenu(type = "messages", .list = msgs)
#' })
#' }
#'
#' shinyApp(ui, server)
#' }
renderMenu <- function(
expr,
env = parent.frame(),
quoted = FALSE,
outputArgs = list()
) {
if (!quoted) {
expr <- substitute(expr)
quoted <- TRUE
}
shiny::renderUI(expr, env = env, quoted = quoted, outputArgs = outputArgs)
}
# R CMD check thinks that shiny::renderUI has an undeclared global variable
# called "func".
utils::globalVariables("func")
#' Create a dropdown menu output (server side; deprecated)
#'
#' This is the server-side function for creating a dynamic dropdown menu.
#'
#' @inheritParams shiny::renderUI
#' @export
renderDropdownMenu <- function(expr, env = parent.frame(), quoted = FALSE) {
.Deprecated("renderMenu")
shiny::renderUI(expr, env, quoted, func = FALSE)
}
shinydashboard/R/utils.R 0000644 0001762 0000144 00000013527 15001455602 014746 0 ustar ligges users #' Assert that a tag has specified properties
#' @param tag A tag object.
#' @param type The type of a tag, like "div", "a", "span".
#' @param class An HTML class.
#' @param allowUI If TRUE (the default), allow dynamic outputs generated by
#' [shiny::uiOutput()] or [shiny::htmlOutput()]. When a
#' dynamic output is provided, `tagAssert()` won't try to validate the the
#' contents.
#' @keywords internal
tagAssert <- function(tag, type = NULL, class = NULL, allowUI = TRUE) {
if (!inherits(tag, "shiny.tag")) {
print(tag)
stop("Expected an object with class 'shiny.tag'.")
}
# Skip dynamic output elements
if (
allowUI &&
(hasCssClass(tag, "shiny-html-output") ||
hasCssClass(tag, "shinydashboard-menu-output"))
) {
return()
}
if (!is.null(type) && tag$name != type) {
stop("Expected tag to be of type ", type)
}
if (!is.null(class)) {
if (is.null(tag$attribs$class)) {
stop("Expected tag to have class '", class, "'")
} else {
tagClasses <- strsplit(tag$attribs$class, " ")[[1]]
if (!(class %in% tagClasses)) {
stop("Expected tag to have class '", class, "'")
}
}
}
}
# Given the name of an icon, like "fa-dashboard" or "glyphicon-user",
# return CSS classnames, like "fa fa-dashboard" or "glyphicon glyphicon-user".
getIconClass <- function(icon) {
iconGroup <- sub("^((glyphicon)|(fa))-.*", "\\1", icon)
paste(iconGroup, icon)
}
# Returns TRUE if a color is a valid color defined in AdminLTE, throws error
# otherwise.
validateColor <- function(color) {
if (color %in% validColors) {
return(TRUE)
}
stop(
"Invalid color: ",
color,
". Valid colors are: ",
paste(validColors, collapse = ", "),
"."
)
}
#' Valid colors
#'
#' These are valid colors for various dashboard components. Valid colors are
#' listed below.
#'
#' - `red`
#' - `yellow`
#' - `aqua`
#' - `blue`
#' - `light-blue`
#' - `green`
#' - `navy`
#' - `teal`
#' - `olive`
#' - `lime`
#' - `orange`
#' - `fuchsia`
#' - `purple`
#' - `maroon`
#' - `black`
#'
#' @usage NULL
#' @format NULL
#'
#' @keywords internal
validColors <- c(
"red",
"yellow",
"aqua",
"blue",
"light-blue",
"green",
"navy",
"teal",
"olive",
"lime",
"orange",
"fuchsia",
"purple",
"maroon",
"black"
)
# Returns TRUE if a status is valid; throws error otherwise.
validateStatus <- function(status) {
if (status %in% validStatuses) {
return(TRUE)
}
stop(
"Invalid status: ",
status,
". Valid statuses are: ",
paste(validStatuses, collapse = ", "),
"."
)
}
#' Valid statuses
#'
#' These status strings correspond to colors as defined in Bootstrap's CSS.
#' Although the colors can vary depending on the particular CSS selector, they
#' generally appear as follows:
#'
#' - `primary` Blue (sometimes dark blue)
#' - `success` Green
#' - `info` Blue
#' - `warning` Orange
#' - `danger` Red
#'
#' @usage NULL
#' @format NULL
#'
#' @keywords internal
validStatuses <- c("primary", "success", "info", "warning", "danger")
"%OR%" <- function(a, b) if (!is.null(a)) a else b
# Return TRUE if a shiny.tag object has a CSS class, FALSE otherwise.
hasCssClass <- function(tag, class) {
if (is.null(tag$attribs) || is.null(tag$attribs$class)) return(FALSE)
classes <- strsplit(tag$attribs$class, " +")[[1]]
return(class %in% classes)
}
# Make sure a tab name is valid (there's no "." in it).
validateTabName <- function(name) {
if (grepl(".", name, fixed = TRUE)) {
stop("tabName must not have a '.' in it.")
}
}
# This is like a==b, except that if a or b is NULL or an empty vector, it won't
# return logical(0). If a AND b are NULL/length-0, this will return TRUE; if
# just one of them is NULL/length-0, this will FALSE. This is for use in
# conditionals where `if(logical(0))` would cause an error. Similar to using
# identical(a,b), but less stringent about types: `equals(1, 1L)` is TRUE, but
# `identical(1, 1L)` is FALSE.
equals <- function(a, b) {
alen <- length(a)
blen <- length(b)
if (alen == 0 && blen == 0) {
return(TRUE)
}
if (alen > 1 || blen > 1) {
stop("Can only compare objects of length 0 or 1")
}
if (alen == 0 || blen == 0) {
return(FALSE)
}
a == b
}
# Return TRUE if a tag object matches a specific id, and/or tag name, and/or
# class, and or other arbitrary tag attributes. Put the args after ... so that
# caller must use named arguments.
tagMatches <- function(item, ..., id = NULL, name = NULL, class = NULL) {
dots <- list(...)
if (!inherits(item, "shiny.tag")) {
return(FALSE)
}
if (!is.null(id) && !equals(item$attribs$id, id)) {
return(FALSE)
}
if (!is.null(name) && !equals(item$name, name)) {
return(FALSE)
}
if (!is.null(class)) {
if (is.null(item$attribs$class)) {
return(FALSE)
}
classes <- strsplit(item$attribs$class, " ")[[1]]
if (!class %in% classes) {
return(FALSE)
}
}
for (i in seq_along(dots)) {
arg <- dots[[i]]
argName <- names(dots)[[i]]
if (!equals(item$attribs[[argName]], arg)) {
return(FALSE)
}
}
TRUE
}
# This function takes a DOM element/tag object and reccurs within it until
# it finds a child which has an attribute called `attr` and with value `val`
# (and returns TRUE). If it finds an element with an attribute called `attr`
# whose value is NOT `val`, it returns FALSE. If it exhausts all children
# and it doesn't find an element with an attribute called `attr`, it also
# returns FALSE
findAttribute <- function(x, attr, val) {
if (is.atomic(x)) return(FALSE) # exhausted this branch of the tree
if (!is.null(x$attribs[[attr]])) {
# found attribute called `attr`
if (identical(x$attribs[[attr]], val)) return(TRUE) else return(FALSE)
}
if (length(x$children) > 0) {
# recursion
return(any(unlist(lapply(x$children, findAttribute, attr, val))))
}
return(FALSE) # found no attribute called `attr`
}
shinydashboard/R/dashboardBody.R 0000644 0001762 0000144 00000000605 15001455602 016344 0 ustar ligges users #' The main body of a dashboard page.
#'
#' The main body typically contains [box()]es. Another common use
#' pattern is for the main body to contain [tabItems()].
#'
#' @param ... Items to put in the dashboard body.
#'
#' @seealso [tabItems()], [box()], [valueBox()].
#'
#' @export
dashboardBody <- function(...) {
div(class = "content-wrapper", tags$section(class = "content", ...))
}
shinydashboard/LICENSE.note 0000644 0001762 0000144 00000001503 15001455546 015231 0 ustar ligges users This package includes bundled software components covered by the following licenses:
----------------------------------------------------------------------
Component: AdminLTE (located in inst/AdminLTE/)
Source: https://github.com/almasaeed2010/AdminLTE
License: MIT License
Copyright: (c) 2013 almasaeed2010
Full license text available in inst/AdminLTE/LICENSE.txt
----------------------------------------------------------------------
Component: Source Sans Pro Font (located in inst/AdminLTE/fonts/)
Source: https://github.com/adobe-fonts/source-sans-pro
License: SIL Open Font License (OFL) Version 1.1
Copyright: (c) 2010-2024 Adobe
Full license text available in inst/AdminLTE/fonts/LICENSE.txt
----------------------------------------------------------------------
shinydashboard/NAMESPACE 0000644 0001762 0000144 00000001265 15001455546 014504 0 ustar ligges users # Generated by roxygen2: do not edit by hand
export(box)
export(dashboardBody)
export(dashboardHeader)
export(dashboardPage)
export(dashboardSidebar)
export(dropdownMenu)
export(dropdownMenuOutput)
export(infoBox)
export(infoBoxOutput)
export(menuItem)
export(menuItemOutput)
export(menuSubItem)
export(messageItem)
export(notificationItem)
export(renderDropdownMenu)
export(renderInfoBox)
export(renderMenu)
export(renderValueBox)
export(sidebarMenu)
export(sidebarMenuOutput)
export(sidebarSearchForm)
export(sidebarUserPanel)
export(tabBox)
export(tabItem)
export(tabItems)
export(taskItem)
export(updateTabItems)
export(valueBox)
export(valueBoxOutput)
import(htmltools)
import(promises)
shinydashboard/LICENSE 0000644 0001762 0000144 00000000064 15001455546 014266 0 ustar ligges users YEAR: 2025
COPYRIGHT HOLDER: shinydashboard authors
shinydashboard/NEWS.md 0000644 0001762 0000144 00000024162 15001455602 014355 0 ustar ligges users # shinydashboard 0.7.3
### Bug fixes
* Fixed [#397](https://github.com/rstudio/shinydashboard/issues/397): `updateTabItems()` is now a run-time alias of `shiny::updateTabsetPanel()`. ([#398](https://github.com/rstudio/shinydashboard/pull/370))
# shinydashboard 0.7.2
### Bug fixes
* Fixed [#369](https://github.com/rstudio/shinydashboard/issues/369): `renderMenu()` did not work correctly when shinydashboard was built against shiny 1.6.0 (and older) but used with shiny 1.7.0 (and higher). ([#370](https://github.com/rstudio/shinydashboard/pull/370))
# shinydashboard 0.7.1
## Full changelog
### New features
* Shiny async support: render functions can now handle promises. Instead of returning a `valueBox` to `renderValueBox`, return a promise that resolves to a `valueBox` (for example).
### Bug fixes
* Fixed [#297](https://github.com/rstudio/shinydashboard/issues/297): recent versions of Shiny caused the sidebar toggle icon to not render because FontAwesome was upgraded in Shiny. ([#299](https://github.com/rstudio/shinydashboard/pull/299))
# shinydashboard 0.7.0
## Full changelog
### New features
* Changed license from GPL-2 to GPL>=2 (meaning GPL version 2 or later). ([#258](https://github.com/rstudio/shinydashboard/issues/258))
### Bug fixes
* Fixed [shinytest/#167](https://github.com/rstudio/shinytest/issues/167): shinydashboard did not work properly with shinytest. (#256](https://github.com/rstudio/shinydashboard/pull/256))
* Fixed [#257](https://github.com/rstudio/shinydashboard/issues/257): Calling the `setValue()` method on `sidebarmenuExpandedInputBinding` did not cause the submenu to expand. This caused screenshots from shinytest to be incorrect.
* Fixed [#235](https://github.com/rstudio/shinydashboard/issues/235): make sure that the text input field and search button line up when using `sidebarSearchForm`. ([#243](https://github.com/rstudio/shinydashboard/pull/243))
* Fixed [#229](https://github.com/rstudio/shinydashboard/issues/229): only run `ensureActivatedTab()` after `renderMenu()` is called *_if_* the `el` in question has class `"sidebar-menu"`. Since this function is used for both `dropdownMenuOutput` and `sidebarMenuOutput`, we have to make sure that `ensureActivatedTab()` is only called if it's the latter case (otherwise, you get unexpected tab redirections when updating a dropdown menu). ([#233](https://github.com/rstudio/shinydashboard/pull/233))
# shinydashboard 0.6.1
This is a hotfix release of shinydashboard, meant to fix a few edge cases that have surfaced since the last release.
## Full changelog
* Fixed [#214](https://github.com/rstudio/shinydashboard/issues/214): make sure that the `data-value` attribute of `.sidebarMenuSelectedTabItem` is always set in the body of the `ensureActivatedTab()` function. ([#216](https://github.com/rstudio/shinydashboard/pull/216))
* Fixed [#217](https://github.com/rstudio/shinydashboard/issues/217): correct `input$sidebarCollapsed` value for edge cases by attaching the change event to the end of the sidebar CSS transitions (instead of when the toggle button is clicked). Also make sure that `input$sidebarCollapsed` is set to `FALSE` when the app starts up with the sidebar already collapsed. ([#222](https://github.com/rstudio/shinydashboard/pull/222))
# shinydashboard 0.6.0
This release of shinydashboard was aimed at both fixing bugs and also bringing the package up to speed with users' requests and Shiny itself (especially fully bringing [bookmarkable state](https://shiny.rstudio.com/articles/bookmarking-state.html) to shinydashboard's sidebar). In addition to the changes listed below, we also added a [new "Behavior" section to the shinydashboard website](https://rstudio.github.io/shinydashboard/behavior.html) to explain this release's two biggest new features.
## Full changelog
### New features
* Address [#179](https://github.com/rstudio/shinydashboard/issues/179) support for bookmarking the expanded/collapsed state of the whole sidebar. (commit [e71c93f](https://github.com/rstudio/shinydashboard/commit/e71c93fa7a71f229e725efd4a7867e431cd57679))
* Added Shiny input to keep track of which sidebar `menuItem` is expanded (if any), which makes bookmarking the exact state of the sidebar trivial. (commit [6901b90](https://github.com/rstudio/shinydashboard/commit/6901b90b8c866b89d02514cfc01fdfab88175602))
### Minor new features and improvements
* Addressed [#165](https://github.com/rstudio/shinydashboard/issues/165): added a new optional argument, called `headerText` to the `dropdownMenu()` function. If provided by the user, this text (instead of the default) will be shown on the header of the menu (only visible when the menu is expanded). See `?dropdownMenu` for more details. [#207](https://github.com/rstudio/shinydashboard/pull/207)
* Split JS files. (commit [ea91503](https://github.com/rstudio/shinydashboard/commit/ea915038ae2126f48c15e3aac41782a22b16c506)). More updates to Gruntfile and structure. (commit [4e80616](https://github.com/rstudio/shinydashboard/commit/4e80616c5b3aa0dc73022dc815288b5ba7c35be0))
* Better shown/hidden mechanic for Shiny inputs inside collapsible `menuItem`s. (commit [6901b90](https://github.com/rstudio/shinydashboard/commit/6901b90b8c866b89d02514cfc01fdfab88175602))
* Added hack on adminLTE/app.js in order to make the `slideUp`/`slideDown` css transitions look reasonable when its content is initially empty (use case is for hidden Shiny outputs that are not rendered until the first time the `menuItem` is expanded and reveal them -- i.e. first time that `trigger("shown")` is called). (commit [25725a6](https://github.com/rstudio/shinydashboard/commit/25725a67ce3dd841786dd82b0e46624c6a7d4722))
* Added manual tests for bookmarking and the shown/hidden events that happen on the sidebar. (commit [9e3e55d](https://github.com/rstudio/shinydashboard/commit/9e3e55de8cc63d4bdd179251cd53eeb845441d3d))
### Bug fixes
* Fixed [#71](https://github.com/rstudio/shinydashboard/issues/71) and [#87](https://github.com/rstudio/shinydashboard/issues/87): detect and enforce selected tab for dynamic sidebar menus by calling `ensureActivatedTab()` for these. (commit [9b88a79](https://github.com/rstudio/shinydashboard/commit/9b88a790df058432165ca3b483b5bbfe1d267326))
* Fixed [#127](https://github.com/rstudio/shinydashboard/issues/127) and [#177](https://github.com/rstudio/shinydashboard/issues/177): previously, if `dashboardSidebar()` was called with an explicit `width` parameter, mobile rendering would look weird (the sidebar wouldn't completely disappear when it was collapsed, and content in the dashboard body would be hidden under the still-visible sidebar). ([#204](https://github.com/rstudio/shinydashboard/pull/204))
* Fixed [#79](https://github.com/rstudio/shinydashboard/issues/79): Re-enable slight css transition when the sidebar is expanded/collapsed. ([#205](https://github.com/rstudio/shinydashboard/pull/205)).
* Fixed [#89](https://github.com/rstudio/shinydashboard/issues/89): We claimed that `dashboardPage()` would try to extract the page's title from `dashboardHeader()` (if the title is not provided directly to `dashboardPage()`); however, we were selecting the wrong child of the header tag object ([#203](https://github.com/rstudio/shinydashboard/pull/203))
* Fixed [#129](https://github.com/rstudio/shinydashboard/issues/129): Trigger shown/hidden event for Shiny outputs in the sidebar. ([#194](https://github.com/rstudio/shinydashboard/pull/194))
* Fixed [#73](https://github.com/rstudio/shinydashboard/issues/73): add `collapsed` argument to `dashboardSidebar()`, which allows it to start off collapsed. ([#186](https://github.com/rstudio/shinydashboard/pull/186))
* Fixed [#62](https://github.com/rstudio/shinydashboard/issues/62): make images resize when the sidebar collapses/expands. [#185](https://github.com/rstudio/shinydashboard/pull/185)
* Fixed [#176](https://github.com/rstudio/shinydashboard/issues/176) (making buttons look good on the sidebar) by giving Shiny action buttons and links some margin space. ([#182](https://github.com/rstudio/shinydashboard/pull/182))
### Library updates
* Update documentation to newest version of roxygen. (commit [#541d3c1](https://github.com/rstudio/shinydashboard/commit/541d3c13467446c8e89b178d95b0984729559059))
* Addressed [#178](https://github.com/rstudio/shinydashboard/issues/178): switch from `npm` to `yarn`. Also upgraded all yarn packages to the `latest` tag (all major changes). [#184](https://github.com/rstudio/shinydashboard/pull/184)
* Updated to AdminLTE 2.3.11. ([#181](https://github.com/rstudio/shinydashboard/pull/181))
# shinydashboard 0.5.3
* Fixed ([#160](https://github.com/rstudio/shinydashboard/issues/160): Using a dynamically-created `sidebarMenu` without an `id` argument would cause the app to not start, when used with Shiny 0.14.
# shinydashboard 0.5.2
* Added ability to bookmark and restore tabs, when used with Shiny 0.14 and above. ([#152](https://github.com/rstudio/shinydashboard/issues/152), [#157](https://github.com/rstudio/shinydashboard/pull/157))
* Fixed issue with R CMD check and Shiny version 0.14.
* Updated to AdminLTE 2.3.2 (1ee281b).
# shinydashboard 0.5.1
* Logout panels from Shiny Server Pro were previously not visible, but now they are.
* If a `sidebarUserPanel` doesn't have an image, space for the image is no longer allocated.
* `tabNames` are now validated so that illegal characters result in an error early. (#66)
* `sidebarUserPanel` now displays properly. (#70)
* `radioButtons` did not wrap, but now they do. (#60)
# shinydashboard 0.5.0
* Updated to AdminLTE 2.1.2 (406de4e). Please note that some CSS selectors have changed, so if you are using custom CSS, it may require modification. The documentation at http://rstudio.github.io/shinydashboard/appearance.html has some updated examples.
* shinydashboard now respects the `shiny.minified` option.
* Collapse buttons on boxes trigger `shown` and `hidden` events. Previously they did not, which resulted in dynamic content not working for boxes that started collapsed. (#17, #42)
* Dynamic menuSubItems now work in the sidebar. (#54)
* Arbitrary content may now be used in a `sidebarMenu()`, not just `menuItem`s. (#44)
* Added options to set the width of `dashboardHeader()` and `dashboardSidebar()`. (#43, #45, #54)
shinydashboard/inst/ 0000755 0001762 0000144 00000000000 15001455546 014236 5 ustar ligges users shinydashboard/inst/shinydashboard.js 0000644 0001762 0000144 00000027436 15001455546 017612 0 ustar ligges users //---------------------------------------------------------------------
// Source file: ../srcjs/_start.js
$(function() {
//---------------------------------------------------------------------
// Source file: ../srcjs/tabs.js
// This function handles a special case in the AdminLTE sidebar: when there
// is a sidebar-menu with items, and one of those items has sub-items, and
// they are used for tab navigation. Normally, if one of the items is
// selected and then a sub-item is clicked, both the item and sub-item will
// retain the "active" class, so they will both be highlighted. This happens
// because they're not designed to be used together for tab panels. This
// code ensures that only one item will have the "active" class.
var deactivateOtherTabs = function() {
// Find all tab links under sidebar-menu even if they don't have a
// tabName (which is why the second selector is necessary)
var $tablinks = $(".sidebar-menu a[data-toggle='tab']," +
".sidebar-menu li.treeview > a");
// If any other items are active, deactivate them
$tablinks.not($(this)).parent("li").removeClass("active");
// Trigger event for the tabItemInputBinding
var $obj = $('.sidebarMenuSelectedTabItem');
var inputBinding = $obj.data('shiny-input-binding');
if (typeof inputBinding !== 'undefined') {
inputBinding.setValue($obj, $(this).attr('data-value'));
$obj.trigger('change');
}
};
$(document).on('shown.bs.tab', '.sidebar-menu a[data-toggle="tab"]',
deactivateOtherTabs);
// When document is ready, if there is a sidebar menu with no activated tabs,
// activate the one specified by `data-start-selected`, or if that's not
// present, the first one.
var ensureActivatedTab = function() {
var $tablinks = $(".sidebar-menu a[data-toggle='tab']");
// If there's a `data-start-selected` attribute and we can find a tab with
// that name, activate it.
var $startTab = $tablinks.filter("[data-start-selected='1']");
if ($startTab.length === 0) {
// If no tab starts selected, use the first one, if present
$startTab = $tablinks.first();
}
// If there are no tabs, $startTab.length will be 0.
if ($startTab.length !== 0) {
$startTab.tab("show");
// This is indirectly setting the value of the Shiny input by setting
// an attribute on the html element it is bound to. We cannot use the
// inputBinding's setValue() method here because this is called too
// early (before Shiny has fully initialized)
$(".sidebarMenuSelectedTabItem").attr("data-value",
$startTab.attr("data-value"));
}
};
ensureActivatedTab();
//---------------------------------------------------------------------
// Source file: ../srcjs/sidebar.js
// Optionally disable sidebar (set through the `disable` argument
// to the `dashboardSidebar` function)
if ($("section.sidebar").data("disable")) {
$("body").addClass("sidebar-collapse");
$(".navbar > .sidebar-toggle").hide();
}
// Get the correct value for `input$sidebarCollapsed`, depending on
// whether or not the left offset on the sidebar is negative (hidden
// - so `input$sidebarCollapsed` should be TRUE) or 0 (shown - so
// `input$sidebarCollapsed` should be FALSE). That we know of,
// `$(".main-sidebar").is(":visible")` is always true, so there is
// no need to check for that.
var sidebarCollapsedValue = function() {
if ($(".main-sidebar").offset().left < 0) return(true);
else return(false);
};
// Whenever the sidebar changes from collapsed to expanded and vice versa,
// call this function, so that we can trigger the resize event on the rest
// of the window and also update the value for the sidebar's input binding.
var sidebarChange = function() {
// 1) Trigger the resize event (so images are responsive and resize)
$(window).trigger("resize");
// 2) Update the value for the sidebar's input binding
var $obj = $('.main-sidebar.shiny-bound-input');
var inputBinding = $obj.data('shiny-input-binding');
inputBinding.setValue($obj, sidebarCollapsedValue());
$obj.trigger('change');
};
// Whenever the sidebar finishes a transition (which it does every time it
// changes from collapsed to expanded and vice versa), call sidebarChange()
$(".main-sidebar").on(
'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',
sidebarChange);
// This fixes an edge case: when the app starts up with the sidebar already
// collapsed (either because the screen is small or because
// `dashboardSidebar(disable = TRUE`), make sure that `input$sidebarCollapsed`
// is set to `FALSE`. Whenever this is the case, `$(".main-sidebar").offset().left`
// is negative. That we know of, `$(".main-sidebar").is(":visible")` is always
// true, so there is no need to check for that.
if ($(".main-sidebar").offset().left < 0) {
// This is indirectly setting the value of the Shiny input by setting
// an attribute on the html element it is bound to. We cannot use the
// inputBinding's setValue() method here because this is called too
// early (before Shiny has fully initialized)
$(".main-sidebar").attr("data-collapsed", "true");
}
// Whenever we expand a menuItem (to be expandable, it must have children),
// update the value for the expandedItem's input binding (this is the
// tabName of the fist subMenuItem inside the menuItem that is currently
// expanded)
$(document).on("click", ".treeview > a", function() {
var $menu = $(this).next();
// If this menuItem was already open, then clicking on it again,
// should trigger the "hidden" event, so Shiny doesn't worry about
// it while it's hidden (and vice versa).
if ($menu.hasClass("menu-open")) $menu.trigger("hidden");
else if ($menu.hasClass("treeview-menu")) $menu.trigger("shown");
// need to set timeout to account for the slideUp/slideDown animation
var $obj = $('section.sidebar.shiny-bound-input');
setTimeout(function() { $obj.trigger('change'); }, 600);
});
//---------------------------------------------------------------------
// Source file: ../srcjs/output_binding_menu.js
/* global Shiny */
// menuOutputBinding
// ------------------------------------------------------------------
// Based on Shiny.htmlOutputBinding, but instead of putting the result in a
// wrapper div, it replaces the origin DOM element with the new DOM elements,
// copying over the ID and class.
var menuOutputBinding = new Shiny.OutputBinding();
$.extend(menuOutputBinding, {
find: function(scope) {
return $(scope).find('.shinydashboard-menu-output');
},
onValueError: function(el, err) {
Shiny.unbindAll(el);
this.renderError(el, err);
},
renderValue: function(el, data) {
Shiny.unbindAll(el);
var html;
var dependencies = [];
if (data === null) {
return;
} else if (typeof(data) === 'string') {
html = data;
} else if (typeof(data) === 'object') {
html = data.html;
dependencies = data.deps;
}
var $html = $($.parseHTML(html));
// Convert the inner contents to HTML, and pass to renderHtml
Shiny.renderHtml($html.html(), el, dependencies);
// Extract class of wrapper, and add them to the wrapper element
el.className = 'shinydashboard-menu-output shiny-bound-output ' +
$html.attr('class');
Shiny.initializeInputs(el);
Shiny.bindAll(el);
if ($(el).hasClass("sidebar-menu")) ensureActivatedTab(); // eslint-disable-line
}
});
Shiny.outputBindings.register(menuOutputBinding,
"shinydashboard.menuOutputBinding");
//---------------------------------------------------------------------
// Source file: ../srcjs/input_binding_tabItem.js
/* global Shiny */
// tabItemInputBinding
// ------------------------------------------------------------------
// Based on Shiny.tabItemInputBinding, but customized for tabItems in
// shinydashboard, which have a slightly different structure.
var tabItemInputBinding = new Shiny.InputBinding();
$.extend(tabItemInputBinding, {
find: function(scope) {
return $(scope).find('.sidebarMenuSelectedTabItem');
},
getValue: function(el) {
var value = $(el).attr('data-value');
if (value === "null") return null;
return value;
},
setValue: function(el, value) {
var self = this;
var anchors = $(el).parent('ul.sidebar-menu').find('li:not(.treeview)').children('a');
anchors.each(function() { // eslint-disable-line consistent-return
if (self._getTabName($(this)) === value) {
$(this).tab('show');
$(el).attr('data-value', self._getTabName($(this)));
return false;
}
});
},
receiveMessage: function(el, data) {
if (data.hasOwnProperty('value'))
this.setValue(el, data.value);
},
subscribe: function(el, callback) {
// This event is triggered by deactivateOtherTabs, which is triggered by
// shown. The deactivation of other tabs must occur before Shiny gets the
// input value.
$(el).on('change.tabItemInputBinding', function() {
callback();
});
},
unsubscribe: function(el) {
$(el).off('.tabItemInputBinding');
},
_getTabName: function(anchor) {
return anchor.attr('data-value');
}
});
Shiny.inputBindings.register(tabItemInputBinding, 'shinydashboard.tabItemInput');
//---------------------------------------------------------------------
// Source file: ../srcjs/input_binding_sidebarCollapsed.js
/* global Shiny */
// sidebarCollapsedInputBinding
// ------------------------------------------------------------------
// This keeps tracks of whether the sidebar is expanded (default)
// or collapsed
var sidebarCollapsedInputBinding = new Shiny.InputBinding();
$.extend(sidebarCollapsedInputBinding, {
find: function(scope) {
// This will also have id="sidebarCollapsed"
return $(scope).find('.main-sidebar').first();
},
getValue: function(el) {
return $(el).attr("data-collapsed") === "true";
},
setValue: function(el, value) {
$(el).attr("data-collapsed", value);
},
toggleValue: function(el) {
var current = this.getValue(el);
var newVal = current ? "false" : "true";
this.setValue(el, newVal);
},
receiveMessage: function(el, data) {
if (data.hasOwnProperty('value'))
this.setValue(el, data.value);
},
subscribe: function(el, callback) {
$(el).on('change.sidebarCollapsedInputBinding', function() {
callback();
});
},
unsubscribe: function(el) {
$(el).off('.sidebarCollapsedInputBinding');
}
});
Shiny.inputBindings.register(sidebarCollapsedInputBinding,
'shinydashboard.sidebarCollapsedInputBinding');
//---------------------------------------------------------------------
// Source file: ../srcjs/input_binding_sidebarmenuExpanded.js
/* global Shiny */
// sidebarmenuExpandedInputBinding
// ------------------------------------------------------------------
// This keeps tracks of what menuItem (if any) is expanded
var sidebarmenuExpandedInputBinding = new Shiny.InputBinding();
$.extend(sidebarmenuExpandedInputBinding, {
find: function(scope) {
// This will also have id="sidebarItemExpanded"
return $(scope).find('section.sidebar');
},
getValue: function(el) {
var $open = $(el).find('li ul.menu-open');
if ($open.length === 1) return $open.attr('data-expanded');
else return null;
},
setValue: function(el, value) {
var $menuItem = $(el).find("[data-expanded='" + value + "']");
// This will trigger actions defined by AdminLTE, as well as actions
// defined in sidebar.js.
$menuItem.prev().trigger("click");
},
subscribe: function(el, callback) {
$(el).on('change.sidebarmenuExpandedInputBinding', function() {
callback();
});
},
unsubscribe: function(el) {
$(el).off('.sidebarmenuExpandedInputBinding');
}
});
Shiny.inputBindings.register(sidebarmenuExpandedInputBinding,
'shinydashboard.sidebarmenuExpandedInputBinding');
//---------------------------------------------------------------------
// Source file: ../srcjs/_end.js
});
//# sourceMappingURL=shinydashboard.js.map shinydashboard/inst/shinydashboard.js.map 0000644 0001762 0000144 00000077632 15001455546 020371 0 ustar ligges users {"version":3,"sources":["../srcjs/_start.js","../srcjs/tabs.js","../srcjs/sidebar.js","../srcjs/output_binding_menu.js","../srcjs/input_binding_tabItem.js","../srcjs/input_binding_sidebarCollapsed.js","../srcjs/input_binding_sidebarmenuExpanded.js","../srcjs/_end.js"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AAClC;AACA,EAAE,QAAQ,EAAE,CAAC,CAAC;;ACHd,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;AAChC;AACA,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK;AAC3E,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG;AAC1E,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACrE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;AAC3E,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO;AAC5E,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI;AACxE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;AAChE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC;AAC5D,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;AACrC;AACA,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI;AACnD,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,GAAG;AAC5D;AACA,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB;AAC9C,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,0BAA0B,GAAG;AAC9C,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG;AACtD,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5C,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI;AAC5D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG;AAC3B,EAAE,CAAC;AACH,EAAE;AACF;AACA,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI;AACpE,eAAe,mBAAmB,EAAE;AACpC;AACA,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;AAC7E,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AACxE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1B,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK;AAC1D;AACA,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AAC5E,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5B,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK;AAChE,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO;AAC/D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG;AAClC,EAAE,CAAC;AACH;AACA,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG;AAC1B;AACA,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO;AACzE,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;AACzE,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG;AACvE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;AACjD,IAAI,IAAI,0BAA0B,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;AACvD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI;AACpC,EAAE,CAAC;AACH,EAAE;AACF;AACA,kBAAkB,GAAG;;AC1DrB,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE;AACnC;AACA,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ;AACjE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC;AACtC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC;AAC3C,EAAE,GAAG,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG;AACzC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG;AACxC,CAAC;AACD;AACA,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,EAAE;AACnE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM;AACpE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACjE,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;AAClE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;AACzD,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACrB,EAAE;AACF;AACA,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1E,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;AAC1E,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;AAC3E,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;AACtE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;AAC9B;AACA,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;AACxD,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG;AAClD,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG;AACtD,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,qBAAqB,IAAI;AACvD,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG;AACzB,EAAE;AACF;AACA,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC1E,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;AAC3E,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AACtB,EAAE,CAAC,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,EAAE;AACpF,IAAI,aAAa,EAAE;AACnB;AACA,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;AAC3E,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO;AAC3D,EAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;AAC9E,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AACnF,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM;AAC9E,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/C,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO;AACvE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;AACvE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG;AACrE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;AAC/C,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG;AACpD,CAAC;AACD;AACA,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC3E,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;AACrE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS;AACxE,EAAE,CAAC,QAAQ,CAAC;AACZ,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG;AAC7B,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;AAClE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;AACpE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;AAC3C,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG;AAC3D,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG;AACnE;AACA,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;AACvE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG;AACpD,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE;AAC1D,GAAG;;ACtEH,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,EAAE;AAC/C;AACA,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAClB;AACA,EAAE,CAAC,iBAAiB;AACpB,EAAE,CAAC,kEAAkE;AACrE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3E,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7E,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;AACjC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG;AAClD,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC7B,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG;AACxD,EAAE,EAAE;AACJ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE;AACxB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE;AAC9B,EAAE,EAAE;AACJ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE;AACxB;AACA,IAAI,GAAG,CAAC,IAAI,CAAC;AACb,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG;AAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,MAAM,MAAM,CAAC;AACb,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3C,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAClB,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3C,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,MAAM,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,IAAI,CAAC;AACL;AACA,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG;AACrC;AACA,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU;AACjE,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE;AACrD;AACA,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;AACpE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrE,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG;AACvC;AACA,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE;AAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;AACtB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;AACpF,EAAE,CAAC;AACH,GAAG;AACH,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AAChD,8BAA8B,CAAC,cAAc,CAAC,iBAAiB,GAAG;;AChDlE,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,EAAE;AACjD;AACA,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAClB;AACA,EAAE,CAAC,mBAAmB;AACtB,EAAE,CAAC,kEAAkE;AACrE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AACrE,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;AAC7D,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG;AACnD,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,0BAA0B,GAAG;AACxD,EAAE,EAAE;AACJ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG;AACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AACtC,IAAI,MAAM,CAAC,KAAK,CAAC;AACjB,EAAE,EAAE;AACJ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpB,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,IAAI,QAAQ,EAAE,CAAC,GAAG;AAC1F,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;AACtE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG;AAC5B,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI;AAC5D,QAAQ,MAAM,CAAC,KAAK,CAAC;AACrB,MAAM,CAAC;AACP,IAAI,GAAG;AACP,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG;AACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AACpC,EAAE,EAAE;AACJ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;AAC5E,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;AAC7E,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;AACnB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvD,MAAM,QAAQ,GAAG;AACjB,IAAI,GAAG;AACP,EAAE,EAAE;AACJ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,mBAAmB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACjC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG;AACrC,EAAE,CAAC;AACH,GAAG;AACH;AACA,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,GAAG;;AClDjF,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,8BAA8B,CAAC,EAAE;AAC1D;AACA,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAClB;AACA,EAAE,CAAC,4BAA4B;AAC/B,EAAE,CAAC,kEAAkE;AACrE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;AACjE,EAAE,CAAC,EAAE,CAAC,SAAS;AACf,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG;AAC5D,EAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC;AAChD,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG;AAClD,EAAE,EAAE;AACJ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,IAAI,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AACnD,EAAE,EAAE;AACJ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;AACxC,EAAE,EAAE;AACJ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;AAC9B,EAAE,EAAE;AACJ,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG;AACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AACpC,EAAE,EAAE;AACJ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,4BAA4B,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChE,MAAM,QAAQ,GAAG;AACjB,IAAI,GAAG;AACP,EAAE,EAAE;AACJ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,4BAA4B,GAAG;AAC/C,EAAE,CAAC;AACH,GAAG;AACH,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,4BAA4B,CAAC;AAC1D,EAAE,CAAC,cAAc,CAAC,4BAA4B,GAAG;;ACxCjD,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,iCAAiC,CAAC,EAAE;AAC7D;AACA,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAClB;AACA,EAAE,CAAC,+BAA+B;AAClC,EAAE,CAAC,kEAAkE;AACrE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ;AAC1D,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG;AAC/D,EAAE,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAC3C,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC;AACnD,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG;AAC5C,EAAE,EAAE;AACJ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG;AAC9C,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG;AAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACrB,EAAE,EAAE;AACJ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;AAClE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO;AACxE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,+BAA+B,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnE,MAAM,QAAQ,GAAG;AACjB,IAAI,GAAG;AACP,EAAE,EAAE;AACJ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,+BAA+B,GAAG;AAClD,EAAE,CAAC;AACH,GAAG;AACH,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,+BAA+B,CAAC;AAC7D,EAAE,CAAC,cAAc,CAAC,+BAA+B,GAAG;;ACnCpD,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;AAChC;AACA,GAAG","file":"shinydashboard.js","sourcesContent":["//---------------------------------------------------------------------\n// Source file: ../srcjs/_start.js\n\n$(function() {\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/tabs.js\n\n// This function handles a special case in the AdminLTE sidebar: when there\n// is a sidebar-menu with items, and one of those items has sub-items, and\n// they are used for tab navigation. Normally, if one of the items is\n// selected and then a sub-item is clicked, both the item and sub-item will\n// retain the \"active\" class, so they will both be highlighted. This happens\n// because they're not designed to be used together for tab panels. This\n// code ensures that only one item will have the \"active\" class.\nvar deactivateOtherTabs = function() {\n // Find all tab links under sidebar-menu even if they don't have a\n // tabName (which is why the second selector is necessary)\n var $tablinks = $(\".sidebar-menu a[data-toggle='tab'],\" +\n \".sidebar-menu li.treeview > a\");\n\n // If any other items are active, deactivate them\n $tablinks.not($(this)).parent(\"li\").removeClass(\"active\");\n\n // Trigger event for the tabItemInputBinding\n var $obj = $('.sidebarMenuSelectedTabItem');\n var inputBinding = $obj.data('shiny-input-binding');\n if (typeof inputBinding !== 'undefined') {\n inputBinding.setValue($obj, $(this).attr('data-value'));\n $obj.trigger('change');\n }\n};\n\n$(document).on('shown.bs.tab', '.sidebar-menu a[data-toggle=\"tab\"]',\n deactivateOtherTabs);\n\n// When document is ready, if there is a sidebar menu with no activated tabs,\n// activate the one specified by `data-start-selected`, or if that's not\n// present, the first one.\nvar ensureActivatedTab = function() {\n var $tablinks = $(\".sidebar-menu a[data-toggle='tab']\");\n\n // If there's a `data-start-selected` attribute and we can find a tab with\n // that name, activate it.\n var $startTab = $tablinks.filter(\"[data-start-selected='1']\");\n if ($startTab.length === 0) {\n // If no tab starts selected, use the first one, if present\n $startTab = $tablinks.first();\n }\n\n // If there are no tabs, $startTab.length will be 0.\n if ($startTab.length !== 0) {\n $startTab.tab(\"show\");\n\n // This is indirectly setting the value of the Shiny input by setting\n // an attribute on the html element it is bound to. We cannot use the\n // inputBinding's setValue() method here because this is called too\n // early (before Shiny has fully initialized)\n $(\".sidebarMenuSelectedTabItem\").attr(\"data-value\",\n $startTab.attr(\"data-value\"));\n }\n};\n\nensureActivatedTab();\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/sidebar.js\n\n// Optionally disable sidebar (set through the `disable` argument\n// to the `dashboardSidebar` function)\nif ($(\"section.sidebar\").data(\"disable\")) {\n $(\"body\").addClass(\"sidebar-collapse\");\n $(\".navbar > .sidebar-toggle\").hide();\n}\n\n// Get the correct value for `input$sidebarCollapsed`, depending on\n// whether or not the left offset on the sidebar is negative (hidden\n// - so `input$sidebarCollapsed` should be TRUE) or 0 (shown - so\n// `input$sidebarCollapsed` should be FALSE). That we know of,\n// `$(\".main-sidebar\").is(\":visible\")` is always true, so there is\n// no need to check for that.\nvar sidebarCollapsedValue = function() {\n if ($(\".main-sidebar\").offset().left < 0) return(true);\n else return(false);\n};\n\n// Whenever the sidebar changes from collapsed to expanded and vice versa,\n// call this function, so that we can trigger the resize event on the rest\n// of the window and also update the value for the sidebar's input binding.\nvar sidebarChange = function() {\n // 1) Trigger the resize event (so images are responsive and resize)\n $(window).trigger(\"resize\");\n\n // 2) Update the value for the sidebar's input binding\n var $obj = $('.main-sidebar.shiny-bound-input');\n var inputBinding = $obj.data('shiny-input-binding');\n inputBinding.setValue($obj, sidebarCollapsedValue());\n $obj.trigger('change');\n};\n\n// Whenever the sidebar finishes a transition (which it does every time it\n// changes from collapsed to expanded and vice versa), call sidebarChange()\n$(\".main-sidebar\").on(\n 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',\n sidebarChange);\n\n// This fixes an edge case: when the app starts up with the sidebar already\n// collapsed (either because the screen is small or because\n// `dashboardSidebar(disable = TRUE`), make sure that `input$sidebarCollapsed`\n// is set to `FALSE`. Whenever this is the case, `$(\".main-sidebar\").offset().left`\n// is negative. That we know of, `$(\".main-sidebar\").is(\":visible\")` is always\n// true, so there is no need to check for that.\nif ($(\".main-sidebar\").offset().left < 0) {\n // This is indirectly setting the value of the Shiny input by setting\n // an attribute on the html element it is bound to. We cannot use the\n // inputBinding's setValue() method here because this is called too\n // early (before Shiny has fully initialized)\n $(\".main-sidebar\").attr(\"data-collapsed\", \"true\");\n}\n\n// Whenever we expand a menuItem (to be expandable, it must have children),\n// update the value for the expandedItem's input binding (this is the\n// tabName of the fist subMenuItem inside the menuItem that is currently\n// expanded)\n$(document).on(\"click\", \".treeview > a\", function() {\n var $menu = $(this).next();\n // If this menuItem was already open, then clicking on it again,\n // should trigger the \"hidden\" event, so Shiny doesn't worry about\n // it while it's hidden (and vice versa).\n if ($menu.hasClass(\"menu-open\")) $menu.trigger(\"hidden\");\n else if ($menu.hasClass(\"treeview-menu\")) $menu.trigger(\"shown\");\n\n // need to set timeout to account for the slideUp/slideDown animation\n var $obj = $('section.sidebar.shiny-bound-input');\n setTimeout(function() { $obj.trigger('change'); }, 600);\n});\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/output_binding_menu.js\n\n/* global Shiny */\n\n// menuOutputBinding\n// ------------------------------------------------------------------\n// Based on Shiny.htmlOutputBinding, but instead of putting the result in a\n// wrapper div, it replaces the origin DOM element with the new DOM elements,\n// copying over the ID and class.\nvar menuOutputBinding = new Shiny.OutputBinding();\n$.extend(menuOutputBinding, {\n find: function(scope) {\n return $(scope).find('.shinydashboard-menu-output');\n },\n onValueError: function(el, err) {\n Shiny.unbindAll(el);\n this.renderError(el, err);\n },\n renderValue: function(el, data) {\n Shiny.unbindAll(el);\n\n var html;\n var dependencies = [];\n if (data === null) {\n return;\n } else if (typeof(data) === 'string') {\n html = data;\n } else if (typeof(data) === 'object') {\n html = data.html;\n dependencies = data.deps;\n }\n\n var $html = $($.parseHTML(html));\n\n // Convert the inner contents to HTML, and pass to renderHtml\n Shiny.renderHtml($html.html(), el, dependencies);\n\n // Extract class of wrapper, and add them to the wrapper element\n el.className = 'shinydashboard-menu-output shiny-bound-output ' +\n $html.attr('class');\n\n Shiny.initializeInputs(el);\n Shiny.bindAll(el);\n if ($(el).hasClass(\"sidebar-menu\")) ensureActivatedTab(); // eslint-disable-line\n }\n});\nShiny.outputBindings.register(menuOutputBinding,\n \"shinydashboard.menuOutputBinding\");\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_tabItem.js\n\n/* global Shiny */\n\n// tabItemInputBinding\n// ------------------------------------------------------------------\n// Based on Shiny.tabItemInputBinding, but customized for tabItems in\n// shinydashboard, which have a slightly different structure.\nvar tabItemInputBinding = new Shiny.InputBinding();\n$.extend(tabItemInputBinding, {\n find: function(scope) {\n return $(scope).find('.sidebarMenuSelectedTabItem');\n },\n getValue: function(el) {\n var value = $(el).attr('data-value');\n if (value === \"null\") return null;\n return value;\n },\n setValue: function(el, value) {\n var self = this;\n var anchors = $(el).parent('ul.sidebar-menu').find('li:not(.treeview)').children('a');\n anchors.each(function() { // eslint-disable-line consistent-return\n if (self._getTabName($(this)) === value) {\n $(this).tab('show');\n $(el).attr('data-value', self._getTabName($(this)));\n return false;\n }\n });\n },\n receiveMessage: function(el, data) {\n if (data.hasOwnProperty('value'))\n this.setValue(el, data.value);\n },\n subscribe: function(el, callback) {\n // This event is triggered by deactivateOtherTabs, which is triggered by\n // shown. The deactivation of other tabs must occur before Shiny gets the\n // input value.\n $(el).on('change.tabItemInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.tabItemInputBinding');\n },\n _getTabName: function(anchor) {\n return anchor.attr('data-value');\n }\n});\n\nShiny.inputBindings.register(tabItemInputBinding, 'shinydashboard.tabItemInput');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_sidebarCollapsed.js\n\n/* global Shiny */\n\n// sidebarCollapsedInputBinding\n// ------------------------------------------------------------------\n// This keeps tracks of whether the sidebar is expanded (default)\n// or collapsed\nvar sidebarCollapsedInputBinding = new Shiny.InputBinding();\n$.extend(sidebarCollapsedInputBinding, {\n find: function(scope) {\n // This will also have id=\"sidebarCollapsed\"\n return $(scope).find('.main-sidebar').first();\n },\n getValue: function(el) {\n return $(el).attr(\"data-collapsed\") === \"true\";\n },\n setValue: function(el, value) {\n $(el).attr(\"data-collapsed\", value);\n },\n toggleValue: function(el) {\n var current = this.getValue(el);\n var newVal = current ? \"false\" : \"true\";\n this.setValue(el, newVal);\n },\n receiveMessage: function(el, data) {\n if (data.hasOwnProperty('value'))\n this.setValue(el, data.value);\n },\n subscribe: function(el, callback) {\n $(el).on('change.sidebarCollapsedInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.sidebarCollapsedInputBinding');\n }\n});\nShiny.inputBindings.register(sidebarCollapsedInputBinding,\n 'shinydashboard.sidebarCollapsedInputBinding');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_sidebarmenuExpanded.js\n\n/* global Shiny */\n\n// sidebarmenuExpandedInputBinding\n// ------------------------------------------------------------------\n// This keeps tracks of what menuItem (if any) is expanded\nvar sidebarmenuExpandedInputBinding = new Shiny.InputBinding();\n$.extend(sidebarmenuExpandedInputBinding, {\n find: function(scope) {\n // This will also have id=\"sidebarItemExpanded\"\n return $(scope).find('section.sidebar');\n },\n getValue: function(el) {\n var $open = $(el).find('li ul.menu-open');\n if ($open.length === 1) return $open.attr('data-expanded');\n else return null;\n },\n setValue: function(el, value) {\n var $menuItem = $(el).find(\"[data-expanded='\" + value + \"']\");\n // This will trigger actions defined by AdminLTE, as well as actions\n // defined in sidebar.js.\n $menuItem.prev().trigger(\"click\");\n },\n subscribe: function(el, callback) {\n $(el).on('change.sidebarmenuExpandedInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.sidebarmenuExpandedInputBinding');\n }\n});\nShiny.inputBindings.register(sidebarmenuExpandedInputBinding,\n 'shinydashboard.sidebarmenuExpandedInputBinding');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/_end.js\n\n});\n"]} shinydashboard/inst/shinydashboard.min.js.map 0000644 0001762 0000144 00000010316 15001455546 021135 0 ustar ligges users {"version":3,"file":"shinydashboard.min.js","sources":["../srcjs/_start.js","../srcjs/tabs.js","../srcjs/sidebar.js","../srcjs/output_binding_menu.js","../srcjs/input_binding_tabItem.js","../srcjs/input_binding_sidebarCollapsed.js","../srcjs/input_binding_sidebarmenuExpanded.js"],"names":["$","document","on","not","this","parent","removeClass","$obj","inputBinding","data","setValue","attr","trigger","ensureActivatedTab","$tablinks","$startTab","filter","length","first","tab","addClass","hide","window","offset","left","$menu","next","hasClass","setTimeout","menuOutputBinding","Shiny","OutputBinding","extend","find","scope","onValueError","el","err","unbindAll","renderError","renderValue","$html","dependencies","html","deps","parseHTML","renderHtml","className","initializeInputs","bindAll","outputBindings","register","tabItemInputBinding","InputBinding","getValue","value","self","children","each","_getTabName","receiveMessage","hasOwnProperty","subscribe","callback","unsubscribe","off","anchor","inputBindings","sidebarCollapsedInputBinding","toggleValue","current","sidebarmenuExpandedInputBinding","$open","prev"],"mappings":"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"} shinydashboard/inst/shinydashboard.min.js 0000644 0001762 0000144 00000007550 15001455546 020367 0 ustar ligges users /*! shinydashboard 0.7.2 | (c) 2017-2021 RStudio, Inc. | License: GPL (>= 2) | file LICENSE */
$(function(){$(document).on("shown.bs.tab",'.sidebar-menu a[data-toggle="tab"]',function(){$(".sidebar-menu a[data-toggle='tab'],.sidebar-menu li.treeview > a").not($(this)).parent("li").removeClass("active");var n=$(".sidebarMenuSelectedTabItem"),e=n.data("shiny-input-binding");void 0!==e&&(e.setValue(n,$(this).attr("data-value")),n.trigger("change"))});function a(){var n=$(".sidebar-menu a[data-toggle='tab']"),e=n.filter("[data-start-selected='1']");0!==(e=0===e.length?n.first():e).length&&(e.tab("show"),$(".sidebarMenuSelectedTabItem").attr("data-value",e.attr("data-value")))}a(),$("section.sidebar").data("disable")&&($("body").addClass("sidebar-collapse"),$(".navbar > .sidebar-toggle").hide());$(".main-sidebar").on("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(){$(window).trigger("resize");var n=$(".main-sidebar.shiny-bound-input");n.data("shiny-input-binding").setValue(n,$(".main-sidebar").offset().left<0),n.trigger("change")}),$(".main-sidebar").offset().left<0&&$(".main-sidebar").attr("data-collapsed","true"),$(document).on("click",".treeview > a",function(){var n=$(this).next();n.hasClass("menu-open")?n.trigger("hidden"):n.hasClass("treeview-menu")&&n.trigger("shown");var e=$("section.sidebar.shiny-bound-input");setTimeout(function(){e.trigger("change")},600)});var n=new Shiny.OutputBinding;$.extend(n,{find:function(n){return $(n).find(".shinydashboard-menu-output")},onValueError:function(n,e){Shiny.unbindAll(n),this.renderError(n,e)},renderValue:function(n,e){Shiny.unbindAll(n);var t,i=[];null!==e&&("string"==typeof e?t=e:"object"==typeof e&&(t=e.html,i=e.deps),t=$($.parseHTML(t)),Shiny.renderHtml(t.html(),n,i),n.className="shinydashboard-menu-output shiny-bound-output "+t.attr("class"),Shiny.initializeInputs(n),Shiny.bindAll(n),$(n).hasClass("sidebar-menu")&&a())}}),Shiny.outputBindings.register(n,"shinydashboard.menuOutputBinding");n=new Shiny.InputBinding;$.extend(n,{find:function(n){return $(n).find(".sidebarMenuSelectedTabItem")},getValue:function(n){n=$(n).attr("data-value");return"null"===n?null:n},setValue:function(n,e){var t=this;$(n).parent("ul.sidebar-menu").find("li:not(.treeview)").children("a").each(function(){if(t._getTabName($(this))===e)return $(this).tab("show"),$(n).attr("data-value",t._getTabName($(this))),!1})},receiveMessage:function(n,e){e.hasOwnProperty("value")&&this.setValue(n,e.value)},subscribe:function(n,e){$(n).on("change.tabItemInputBinding",function(){e()})},unsubscribe:function(n){$(n).off(".tabItemInputBinding")},_getTabName:function(n){return n.attr("data-value")}}),Shiny.inputBindings.register(n,"shinydashboard.tabItemInput");n=new Shiny.InputBinding;$.extend(n,{find:function(n){return $(n).find(".main-sidebar").first()},getValue:function(n){return"true"===$(n).attr("data-collapsed")},setValue:function(n,e){$(n).attr("data-collapsed",e)},toggleValue:function(n){var e=this.getValue(n);this.setValue(n,e?"false":"true")},receiveMessage:function(n,e){e.hasOwnProperty("value")&&this.setValue(n,e.value)},subscribe:function(n,e){$(n).on("change.sidebarCollapsedInputBinding",function(){e()})},unsubscribe:function(n){$(n).off(".sidebarCollapsedInputBinding")}}),Shiny.inputBindings.register(n,"shinydashboard.sidebarCollapsedInputBinding");n=new Shiny.InputBinding;$.extend(n,{find:function(n){return $(n).find("section.sidebar")},getValue:function(n){n=$(n).find("li ul.menu-open");return 1===n.length?n.attr("data-expanded"):null},setValue:function(n,e){$(n).find("[data-expanded='"+e+"']").prev().trigger("click")},subscribe:function(n,e){$(n).on("change.sidebarmenuExpandedInputBinding",function(){e()})},unsubscribe:function(n){$(n).off(".sidebarmenuExpandedInputBinding")}}),Shiny.inputBindings.register(n,"shinydashboard.sidebarmenuExpandedInputBinding")});
//# sourceMappingURL=shinydashboard.min.js.map shinydashboard/inst/AdminLTE/ 0000755 0001762 0000144 00000000000 15001455546 015633 5 ustar ligges users shinydashboard/inst/AdminLTE/_all-skins.min.css 0000644 0001762 0000144 00000117073 15001455546 021174 0 ustar ligges users .skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav>.active>a,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header .logo{background-color:#367fa9;color:#fff;border-bottom:0 solid transparent}.skin-blue .main-header .logo:hover{background-color:#357ca5}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:0 0}.skin-blue .left-side,.skin-blue .main-sidebar,.skin-blue .wrapper{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li.active>a,.skin-blue .sidebar-menu>li:hover>a{color:#fff;background:#1e282c;border-left-color:#3c8dbc}.skin-blue .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .treeview-menu>li>a{color:#8aa4af}.skin-blue .treeview-menu>li.active>a,.skin-blue .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-blue .sidebar-form .btn,.skin-blue .sidebar-form input[type=text]{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-blue .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue .sidebar-form input[type=text]:focus,.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}.skin-blue-light .main-header .navbar{background-color:#3c8dbc}.skin-blue-light .main-header .navbar .nav>li>a{color:#fff}.skin-blue-light .main-header .navbar .nav .open>a,.skin-blue-light .main-header .navbar .nav .open>a:focus,.skin-blue-light .main-header .navbar .nav .open>a:hover,.skin-blue-light .main-header .navbar .nav>.active>a,.skin-blue-light .main-header .navbar .nav>li>a:active,.skin-blue-light .main-header .navbar .nav>li>a:focus,.skin-blue-light .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-blue-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue-light .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue-light .main-header .logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue-light .main-header .logo:hover{background-color:#3b8ab8}.skin-blue-light .main-header li.user-header{background-color:#3c8dbc}.skin-blue-light .content-header{background:0 0}.skin-blue-light .left-side,.skin-blue-light .main-sidebar,.skin-blue-light .wrapper{background-color:#f9fafc}.skin-blue-light .content-wrapper,.skin-blue-light .main-footer{border-left:1px solid #d2d6de}.skin-blue-light .user-panel>.info,.skin-blue-light .user-panel>.info>a{color:#444}.skin-blue-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-blue-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-blue-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-blue-light .sidebar-menu>li.active>a,.skin-blue-light .sidebar-menu>li:hover>a{color:#000;background:#f4f4f5}.skin-blue-light .sidebar-menu>li.active{border-left-color:#3c8dbc}.skin-blue-light .sidebar-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-blue-light .sidebar a{color:#444}.skin-blue-light .sidebar a:hover{text-decoration:none}.skin-blue-light .treeview-menu>li>a{color:#777}.skin-blue-light .treeview-menu>li.active>a,.skin-blue-light .treeview-menu>li>a:hover{color:#000}.skin-blue-light .treeview-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-blue-light .sidebar-form .btn,.skin-blue-light .sidebar-form input[type=text]{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-blue-light .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue-light .sidebar-form input[type=text]:focus,.skin-blue-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-blue-light .main-footer{border-top-color:#d2d6de}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}.skin-black .main-header{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.skin-black .main-header .navbar-toggle{color:#333}.skin-black .main-header .navbar-brand{color:#333;border-right:1px solid #eee}.skin-black .main-header .navbar{background-color:#fff}.skin-black .main-header .navbar .nav>li>a{color:#333}.skin-black .main-header .navbar .nav .open>a,.skin-black .main-header .navbar .nav .open>a:focus,.skin-black .main-header .navbar .nav .open>a:hover,.skin-black .main-header .navbar .nav>.active>a,.skin-black .main-header .navbar .nav>li>a:active,.skin-black .main-header .navbar .nav>li>a:focus,.skin-black .main-header .navbar .nav>li>a:hover{background:#fff;color:#999}.skin-black .main-header .navbar .sidebar-toggle{color:#333}.skin-black .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #eee}.skin-black .main-header .navbar .navbar-nav>li>a{border-right:1px solid #eee}.skin-black .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black .main-header .navbar .navbar-right>li>a{border-left:1px solid #eee;border-right-width:0}.skin-black .main-header>.logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #eee}.skin-black .main-header>.logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black .main-header>.logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black .main-header>.logo:hover{background-color:#1f1f1f}}.skin-black .main-header li.user-header{background-color:#222}.skin-black .content-header{background:0 0;box-shadow:none}.skin-black .left-side,.skin-black .main-sidebar,.skin-black .wrapper{background-color:#222d32}.skin-black .user-panel>.info,.skin-black .user-panel>.info>a{color:#fff}.skin-black .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-black .sidebar-menu>li>a{border-left:3px solid transparent}.skin-black .sidebar-menu>li.active>a,.skin-black .sidebar-menu>li:hover>a{color:#fff;background:#1e282c;border-left-color:#fff}.skin-black .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-black .sidebar a{color:#b8c7ce}.skin-black .sidebar a:hover{text-decoration:none}.skin-black .treeview-menu>li>a{color:#8aa4af}.skin-black .treeview-menu>li.active>a,.skin-black .treeview-menu>li>a:hover{color:#fff}.skin-black .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-black .sidebar-form .btn,.skin-black .sidebar-form input[type=text]{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-black .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black .sidebar-form input[type=text]:focus,.skin-black .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-black .pace .pace-progress{background:#222}.skin-black .pace .pace-activity{border-top-color:#222;border-left-color:#222}.skin-black-light .main-header{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.skin-black-light .main-header .navbar-toggle{color:#333}.skin-black-light .main-header .navbar-brand{color:#333;border-right:1px solid #eee}.skin-black-light .main-header .navbar{background-color:#fff}.skin-black-light .main-header .navbar .nav>li>a{color:#333}.skin-black-light .main-header .navbar .nav .open>a,.skin-black-light .main-header .navbar .nav .open>a:focus,.skin-black-light .main-header .navbar .nav .open>a:hover,.skin-black-light .main-header .navbar .nav>.active>a,.skin-black-light .main-header .navbar .nav>li>a:active,.skin-black-light .main-header .navbar .nav>li>a:focus,.skin-black-light .main-header .navbar .nav>li>a:hover{background:#fff;color:#999}.skin-black-light .main-header .navbar .sidebar-toggle{color:#333}.skin-black-light .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black-light .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #eee}.skin-black-light .main-header .navbar .navbar-nav>li>a{border-right:1px solid #eee}.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black-light .main-header .navbar .navbar-right>li>a{border-left:1px solid #eee;border-right-width:0}.skin-black-light .main-header>.logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #eee}.skin-black-light .main-header>.logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black-light .main-header>.logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black-light .main-header>.logo:hover{background-color:#1f1f1f}}.skin-black-light .main-header li.user-header{background-color:#222}.skin-black-light .content-header{background:0 0;box-shadow:none}.skin-black-light .left-side,.skin-black-light .main-sidebar,.skin-black-light .wrapper{background-color:#f9fafc}.skin-black-light .content-wrapper,.skin-black-light .main-footer{border-left:1px solid #d2d6de}.skin-black-light .user-panel>.info,.skin-black-light .user-panel>.info>a{color:#444}.skin-black-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-black-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-black-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-black-light .sidebar-menu>li.active>a,.skin-black-light .sidebar-menu>li:hover>a{color:#000;background:#f4f4f5}.skin-black-light .sidebar-menu>li.active{border-left-color:#fff}.skin-black-light .sidebar-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-black-light .sidebar a{color:#444}.skin-black-light .sidebar a:hover{text-decoration:none}.skin-black-light .treeview-menu>li>a{color:#777}.skin-black-light .treeview-menu>li.active>a,.skin-black-light .treeview-menu>li>a:hover{color:#000}.skin-black-light .treeview-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-black-light .sidebar-form .btn,.skin-black-light .sidebar-form input[type=text]{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-black-light .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black-light .sidebar-form input[type=text]:focus,.skin-black-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-green .main-header .navbar{background-color:#00a65a}.skin-green .main-header .navbar .nav>li>a{color:#fff}.skin-green .main-header .navbar .nav .open>a,.skin-green .main-header .navbar .nav .open>a:focus,.skin-green .main-header .navbar .nav .open>a:hover,.skin-green .main-header .navbar .nav>.active>a,.skin-green .main-header .navbar .nav>li>a:active,.skin-green .main-header .navbar .nav>li>a:focus,.skin-green .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-green .main-header .navbar .dropdown-menu li a{color:#fff}.skin-green .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green .main-header .logo{background-color:#008d4c;color:#fff;border-bottom:0 solid transparent}.skin-green .main-header .logo:hover{background-color:#008749}.skin-green .main-header li.user-header{background-color:#00a65a}.skin-green .content-header{background:0 0}.skin-green .left-side,.skin-green .main-sidebar,.skin-green .wrapper{background-color:#222d32}.skin-green .user-panel>.info,.skin-green .user-panel>.info>a{color:#fff}.skin-green .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-green .sidebar-menu>li>a{border-left:3px solid transparent}.skin-green .sidebar-menu>li.active>a,.skin-green .sidebar-menu>li:hover>a{color:#fff;background:#1e282c;border-left-color:#00a65a}.skin-green .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-green .sidebar a{color:#b8c7ce}.skin-green .sidebar a:hover{text-decoration:none}.skin-green .treeview-menu>li>a{color:#8aa4af}.skin-green .treeview-menu>li.active>a,.skin-green .treeview-menu>li>a:hover{color:#fff}.skin-green .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-green .sidebar-form .btn,.skin-green .sidebar-form input[type=text]{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-green .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-green .sidebar-form input[type=text]:focus,.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-green-light .main-header .navbar{background-color:#00a65a}.skin-green-light .main-header .navbar .nav>li>a{color:#fff}.skin-green-light .main-header .navbar .nav .open>a,.skin-green-light .main-header .navbar .nav .open>a:focus,.skin-green-light .main-header .navbar .nav .open>a:hover,.skin-green-light .main-header .navbar .nav>.active>a,.skin-green-light .main-header .navbar .nav>li>a:active,.skin-green-light .main-header .navbar .nav>li>a:focus,.skin-green-light .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-green-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-green-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-green-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-green-light .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-green-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-green-light .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green-light .main-header .logo{background-color:#00a65a;color:#fff;border-bottom:0 solid transparent}.skin-green-light .main-header .logo:hover{background-color:#00a157}.skin-green-light .main-header li.user-header{background-color:#00a65a}.skin-green-light .content-header{background:0 0}.skin-green-light .left-side,.skin-green-light .main-sidebar,.skin-green-light .wrapper{background-color:#f9fafc}.skin-green-light .content-wrapper,.skin-green-light .main-footer{border-left:1px solid #d2d6de}.skin-green-light .user-panel>.info,.skin-green-light .user-panel>.info>a{color:#444}.skin-green-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-green-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-green-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-green-light .sidebar-menu>li.active>a,.skin-green-light .sidebar-menu>li:hover>a{color:#000;background:#f4f4f5}.skin-green-light .sidebar-menu>li.active{border-left-color:#00a65a}.skin-green-light .sidebar-menu>li.active>a{font-weight:600}.skin-green-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-green-light .sidebar a{color:#444}.skin-green-light .sidebar a:hover{text-decoration:none}.skin-green-light .treeview-menu>li>a{color:#777}.skin-green-light .treeview-menu>li.active>a,.skin-green-light .treeview-menu>li>a:hover{color:#000}.skin-green-light .treeview-menu>li.active>a{font-weight:600}.skin-green-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-green-light .sidebar-form .btn,.skin-green-light .sidebar-form input[type=text]{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-green-light .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-green-light .sidebar-form input[type=text]:focus,.skin-green-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-green-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-red .main-header .navbar{background-color:#dd4b39}.skin-red .main-header .navbar .nav>li>a{color:#fff}.skin-red .main-header .navbar .nav .open>a,.skin-red .main-header .navbar .nav .open>a:focus,.skin-red .main-header .navbar .nav .open>a:hover,.skin-red .main-header .navbar .nav>.active>a,.skin-red .main-header .navbar .nav>li>a:active,.skin-red .main-header .navbar .nav>li>a:focus,.skin-red .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-red .main-header .navbar .dropdown-menu li a{color:#fff}.skin-red .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red .main-header .logo{background-color:#d73925;color:#fff;border-bottom:0 solid transparent}.skin-red .main-header .logo:hover{background-color:#d33724}.skin-red .main-header li.user-header{background-color:#dd4b39}.skin-red .content-header{background:0 0}.skin-red .left-side,.skin-red .main-sidebar,.skin-red .wrapper{background-color:#222d32}.skin-red .user-panel>.info,.skin-red .user-panel>.info>a{color:#fff}.skin-red .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-red .sidebar-menu>li>a{border-left:3px solid transparent}.skin-red .sidebar-menu>li.active>a,.skin-red .sidebar-menu>li:hover>a{color:#fff;background:#1e282c;border-left-color:#dd4b39}.skin-red .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-red .sidebar a{color:#b8c7ce}.skin-red .sidebar a:hover{text-decoration:none}.skin-red .treeview-menu>li>a{color:#8aa4af}.skin-red .treeview-menu>li.active>a,.skin-red .treeview-menu>li>a:hover{color:#fff}.skin-red .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-red .sidebar-form .btn,.skin-red .sidebar-form input[type=text]{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-red .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-red .sidebar-form input[type=text]:focus,.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-red-light .main-header .navbar{background-color:#dd4b39}.skin-red-light .main-header .navbar .nav>li>a{color:#fff}.skin-red-light .main-header .navbar .nav .open>a,.skin-red-light .main-header .navbar .nav .open>a:focus,.skin-red-light .main-header .navbar .nav .open>a:hover,.skin-red-light .main-header .navbar .nav>.active>a,.skin-red-light .main-header .navbar .nav>li>a:active,.skin-red-light .main-header .navbar .nav>li>a:focus,.skin-red-light .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-red-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-red-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-red-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-red-light .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-red-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-red-light .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red-light .main-header .logo{background-color:#dd4b39;color:#fff;border-bottom:0 solid transparent}.skin-red-light .main-header .logo:hover{background-color:#dc4735}.skin-red-light .main-header li.user-header{background-color:#dd4b39}.skin-red-light .content-header{background:0 0}.skin-red-light .left-side,.skin-red-light .main-sidebar,.skin-red-light .wrapper{background-color:#f9fafc}.skin-red-light .content-wrapper,.skin-red-light .main-footer{border-left:1px solid #d2d6de}.skin-red-light .user-panel>.info,.skin-red-light .user-panel>.info>a{color:#444}.skin-red-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-red-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-red-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-red-light .sidebar-menu>li.active>a,.skin-red-light .sidebar-menu>li:hover>a{color:#000;background:#f4f4f5}.skin-red-light .sidebar-menu>li.active{border-left-color:#dd4b39}.skin-red-light .sidebar-menu>li.active>a{font-weight:600}.skin-red-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-red-light .sidebar a{color:#444}.skin-red-light .sidebar a:hover{text-decoration:none}.skin-red-light .treeview-menu>li>a{color:#777}.skin-red-light .treeview-menu>li.active>a,.skin-red-light .treeview-menu>li>a:hover{color:#000}.skin-red-light .treeview-menu>li.active>a{font-weight:600}.skin-red-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-red-light .sidebar-form .btn,.skin-red-light .sidebar-form input[type=text]{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-red-light .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-red-light .sidebar-form input[type=text]:focus,.skin-red-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-red-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-yellow .main-header .navbar{background-color:#f39c12}.skin-yellow .main-header .navbar .nav>li>a{color:#fff}.skin-yellow .main-header .navbar .nav .open>a,.skin-yellow .main-header .navbar .nav .open>a:focus,.skin-yellow .main-header .navbar .nav .open>a:hover,.skin-yellow .main-header .navbar .nav>.active>a,.skin-yellow .main-header .navbar .nav>li>a:active,.skin-yellow .main-header .navbar .nav>li>a:focus,.skin-yellow .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background-color:#e08e0b}@media (max-width:767px){.skin-yellow .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-yellow .main-header .navbar .dropdown-menu li a{color:#fff}.skin-yellow .main-header .navbar .dropdown-menu li a:hover{background:#e08e0b}}.skin-yellow .main-header .logo{background-color:#e08e0b;color:#fff;border-bottom:0 solid transparent}.skin-yellow .main-header .logo:hover{background-color:#db8b0b}.skin-yellow .main-header li.user-header{background-color:#f39c12}.skin-yellow .content-header{background:0 0}.skin-yellow .left-side,.skin-yellow .main-sidebar,.skin-yellow .wrapper{background-color:#222d32}.skin-yellow .user-panel>.info,.skin-yellow .user-panel>.info>a{color:#fff}.skin-yellow .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-yellow .sidebar-menu>li>a{border-left:3px solid transparent}.skin-yellow .sidebar-menu>li.active>a,.skin-yellow .sidebar-menu>li:hover>a{color:#fff;background:#1e282c;border-left-color:#f39c12}.skin-yellow .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-yellow .sidebar a{color:#b8c7ce}.skin-yellow .sidebar a:hover{text-decoration:none}.skin-yellow .treeview-menu>li>a{color:#8aa4af}.skin-yellow .treeview-menu>li.active>a,.skin-yellow .treeview-menu>li>a:hover{color:#fff}.skin-yellow .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-yellow .sidebar-form .btn,.skin-yellow .sidebar-form input[type=text]{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-yellow .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-yellow .sidebar-form input[type=text]:focus,.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-yellow-light .main-header .navbar{background-color:#f39c12}.skin-yellow-light .main-header .navbar .nav>li>a{color:#fff}.skin-yellow-light .main-header .navbar .nav .open>a,.skin-yellow-light .main-header .navbar .nav .open>a:focus,.skin-yellow-light .main-header .navbar .nav .open>a:hover,.skin-yellow-light .main-header .navbar .nav>.active>a,.skin-yellow-light .main-header .navbar .nav>li>a:active,.skin-yellow-light .main-header .navbar .nav>li>a:focus,.skin-yellow-light .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-yellow-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-yellow-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow-light .main-header .navbar .sidebar-toggle:hover{background-color:#e08e0b}@media (max-width:767px){.skin-yellow-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-yellow-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-yellow-light .main-header .navbar .dropdown-menu li a:hover{background:#e08e0b}}.skin-yellow-light .main-header .logo{background-color:#f39c12;color:#fff;border-bottom:0 solid transparent}.skin-yellow-light .main-header .logo:hover{background-color:#f39a0d}.skin-yellow-light .main-header li.user-header{background-color:#f39c12}.skin-yellow-light .content-header{background:0 0}.skin-yellow-light .left-side,.skin-yellow-light .main-sidebar,.skin-yellow-light .wrapper{background-color:#f9fafc}.skin-yellow-light .content-wrapper,.skin-yellow-light .main-footer{border-left:1px solid #d2d6de}.skin-yellow-light .user-panel>.info,.skin-yellow-light .user-panel>.info>a{color:#444}.skin-yellow-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-yellow-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-yellow-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-yellow-light .sidebar-menu>li.active>a,.skin-yellow-light .sidebar-menu>li:hover>a{color:#000;background:#f4f4f5}.skin-yellow-light .sidebar-menu>li.active{border-left-color:#f39c12}.skin-yellow-light .sidebar-menu>li.active>a{font-weight:600}.skin-yellow-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-yellow-light .sidebar a{color:#444}.skin-yellow-light .sidebar a:hover{text-decoration:none}.skin-yellow-light .treeview-menu>li>a{color:#777}.skin-yellow-light .treeview-menu>li.active>a,.skin-yellow-light .treeview-menu>li>a:hover{color:#000}.skin-yellow-light .treeview-menu>li.active>a{font-weight:600}.skin-yellow-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-yellow-light .sidebar-form .btn,.skin-yellow-light .sidebar-form input[type=text]{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-yellow-light .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-yellow-light .sidebar-form input[type=text]:focus,.skin-yellow-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-yellow-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-purple .main-header .navbar{background-color:#605ca8}.skin-purple .main-header .navbar .nav>li>a{color:#fff}.skin-purple .main-header .navbar .nav .open>a,.skin-purple .main-header .navbar .nav .open>a:focus,.skin-purple .main-header .navbar .nav .open>a:hover,.skin-purple .main-header .navbar .nav>.active>a,.skin-purple .main-header .navbar .nav>li>a:active,.skin-purple .main-header .navbar .nav>li>a:focus,.skin-purple .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-purple .main-header .navbar .dropdown-menu li a{color:#fff}.skin-purple .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple .main-header .logo{background-color:#555299;color:#fff;border-bottom:0 solid transparent}.skin-purple .main-header .logo:hover{background-color:#545096}.skin-purple .main-header li.user-header{background-color:#605ca8}.skin-purple .content-header{background:0 0}.skin-purple .left-side,.skin-purple .main-sidebar,.skin-purple .wrapper{background-color:#222d32}.skin-purple .user-panel>.info,.skin-purple .user-panel>.info>a{color:#fff}.skin-purple .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-purple .sidebar-menu>li>a{border-left:3px solid transparent}.skin-purple .sidebar-menu>li.active>a,.skin-purple .sidebar-menu>li:hover>a{color:#fff;background:#1e282c;border-left-color:#605ca8}.skin-purple .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-purple .sidebar a{color:#b8c7ce}.skin-purple .sidebar a:hover{text-decoration:none}.skin-purple .treeview-menu>li>a{color:#8aa4af}.skin-purple .treeview-menu>li.active>a,.skin-purple .treeview-menu>li>a:hover{color:#fff}.skin-purple .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-purple .sidebar-form .btn,.skin-purple .sidebar-form input[type=text]{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-purple .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-purple .sidebar-form input[type=text]:focus,.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-purple-light .main-header .navbar{background-color:#605ca8}.skin-purple-light .main-header .navbar .nav>li>a{color:#fff}.skin-purple-light .main-header .navbar .nav .open>a,.skin-purple-light .main-header .navbar .nav .open>a:focus,.skin-purple-light .main-header .navbar .nav .open>a:hover,.skin-purple-light .main-header .navbar .nav>.active>a,.skin-purple-light .main-header .navbar .nav>li>a:active,.skin-purple-light .main-header .navbar .nav>li>a:focus,.skin-purple-light .main-header .navbar .nav>li>a:hover{background:rgba(0,0,0,.1);color:#f6f6f6}.skin-purple-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,.1)}.skin-purple-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple-light .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,.1)}.skin-purple-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-purple-light .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple-light .main-header .logo{background-color:#605ca8;color:#fff;border-bottom:0 solid transparent}.skin-purple-light .main-header .logo:hover{background-color:#5d59a6}.skin-purple-light .main-header li.user-header{background-color:#605ca8}.skin-purple-light .content-header{background:0 0}.skin-purple-light .left-side,.skin-purple-light .main-sidebar,.skin-purple-light .wrapper{background-color:#f9fafc}.skin-purple-light .content-wrapper,.skin-purple-light .main-footer{border-left:1px solid #d2d6de}.skin-purple-light .user-panel>.info,.skin-purple-light .user-panel>.info>a{color:#444}.skin-purple-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-purple-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-purple-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-purple-light .sidebar-menu>li.active>a,.skin-purple-light .sidebar-menu>li:hover>a{color:#000;background:#f4f4f5}.skin-purple-light .sidebar-menu>li.active{border-left-color:#605ca8}.skin-purple-light .sidebar-menu>li.active>a{font-weight:600}.skin-purple-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-purple-light .sidebar a{color:#444}.skin-purple-light .sidebar a:hover{text-decoration:none}.skin-purple-light .treeview-menu>li>a{color:#777}.skin-purple-light .treeview-menu>li.active>a,.skin-purple-light .treeview-menu>li>a:hover{color:#000}.skin-purple-light .treeview-menu>li.active>a{font-weight:600}.skin-purple-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-purple-light .sidebar-form .btn,.skin-purple-light .sidebar-form input[type=text]{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-purple-light .sidebar-form input[type=text]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-purple-light .sidebar-form input[type=text]:focus,.skin-purple-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple-light .sidebar-form input[type=text]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-purple-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}} shinydashboard/inst/AdminLTE/AdminLTE.css 0000755 0001762 0000144 00000332527 15001455546 017761 0 ustar ligges users @font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src:
local('Source Sans Pro Light'),
local('SourceSansPro-Light'),
url('fonts/Source_Sans_Pro_300.ttf') format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src:
local('Source Sans Pro'),
local('SourceSansPro-Regular'),
url('fonts/Source_Sans_Pro_400.ttf') format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src:
local('Source Sans Pro Semibold'),
local('SourceSansPro-Semibold'),
url('fonts/Source_Sans_Pro_600.ttf') format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src:
local('Source Sans Pro Bold'),
local('SourceSansPro-Bold'),
url('fonts/Source_Sans_Pro_700.ttf') format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src:
local('Source Sans Pro Light Italic'),
local('SourceSansPro-LightIt'),
url('fonts/Source_Sans_Pro_300italic.ttf') format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src:
local('Source Sans Pro Italic'),
local('SourceSansPro-It'),
url('fonts/Source_Sans_Pro_400italic.ttf') format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 600;
src:
local('Source Sans Pro Semibold Italic'),
local('SourceSansPro-SemiboldIt'),
url('fonts/Source_Sans_Pro_600italic.ttf') format('truetype');
}
/*!
* AdminLTE v2.3.11
* Author: Almsaeed Studio
* Website: Almsaeed Studio
* License: Open source - MIT
* Please visit http://opensource.org/licenses/MIT for more information
!*/
/*
* Core: General Layout Style
* -------------------------
*/
html,
body {
height: 100%;
}
.layout-boxed html,
.layout-boxed body {
height: 100%;
}
body {
font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: 400;
overflow-x: hidden;
overflow-y: auto;
}
/* Layout */
.wrapper {
height: 100%;
position: relative;
overflow-x: hidden;
overflow-y: auto;
}
.wrapper:before,
.wrapper:after {
content: " ";
display: table;
}
.wrapper:after {
clear: both;
}
.layout-boxed .wrapper {
max-width: 1250px;
margin: 0 auto;
min-height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
position: relative;
}
.layout-boxed {
background: url('../img/boxed-bg.jpg') repeat fixed;
}
/*
* Content Wrapper - contains the main content
* ```.right-side has been deprecated as of v2.0.0 in favor of .content-wrapper ```
*/
.content-wrapper,
.right-side,
.main-footer {
-webkit-transition: -webkit-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
-moz-transition: -moz-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
-o-transition: -o-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
transition: transform 0.3s ease-in-out, margin 0.3s ease-in-out;
margin-left: 230px;
z-index: 820;
}
.layout-top-nav .content-wrapper,
.layout-top-nav .right-side,
.layout-top-nav .main-footer {
margin-left: 0;
}
@media (max-width: 767px) {
.content-wrapper,
.right-side,
.main-footer {
margin-left: 0;
}
}
@media (min-width: 768px) {
.sidebar-collapse .content-wrapper,
.sidebar-collapse .right-side,
.sidebar-collapse .main-footer {
margin-left: 0;
}
}
@media (max-width: 767px) {
.sidebar-open .content-wrapper,
.sidebar-open .right-side,
.sidebar-open .main-footer {
-webkit-transform: translate(230px, 0);
-ms-transform: translate(230px, 0);
-o-transform: translate(230px, 0);
transform: translate(230px, 0);
}
}
.content-wrapper,
.right-side {
min-height: 100%;
background-color: #ecf0f5;
z-index: 800;
}
.main-footer {
background: #fff;
padding: 15px;
color: #444;
border-top: 1px solid #d2d6de;
}
/* Fixed layout */
.fixed .main-header,
.fixed .main-sidebar,
.fixed .left-side {
position: fixed;
}
.fixed .main-header {
top: 0;
right: 0;
left: 0;
}
.fixed .content-wrapper,
.fixed .right-side {
padding-top: 50px;
}
@media (max-width: 767px) {
.fixed .content-wrapper,
.fixed .right-side {
padding-top: 100px;
}
}
.fixed.layout-boxed .wrapper {
max-width: 100%;
}
body.hold-transition .content-wrapper,
body.hold-transition .right-side,
body.hold-transition .main-footer,
body.hold-transition .main-sidebar,
body.hold-transition .left-side,
body.hold-transition .main-header .navbar,
body.hold-transition .main-header .logo {
/* Fix for IE */
-webkit-transition: none;
-o-transition: none;
transition: none;
}
/* Content */
.content {
min-height: 250px;
padding: 15px;
margin-right: auto;
margin-left: auto;
padding-left: 15px;
padding-right: 15px;
}
/* H1 - H6 font */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: 'Source Sans Pro', sans-serif;
}
/* General Links */
a {
color: #3c8dbc;
}
a:hover,
a:active,
a:focus {
outline: none;
text-decoration: none;
color: #72afd2;
}
/* Page Header */
.page-header {
margin: 10px 0 20px 0;
font-size: 22px;
}
.page-header > small {
color: #666;
display: block;
margin-top: 5px;
}
/*
* Component: Main Header
* ----------------------
*/
.main-header {
position: relative;
max-height: 100px;
z-index: 1030;
}
.main-header .navbar {
-webkit-transition: margin-left 0.3s ease-in-out;
-o-transition: margin-left 0.3s ease-in-out;
transition: margin-left 0.3s ease-in-out;
margin-bottom: 0;
margin-left: 230px;
border: none;
min-height: 50px;
border-radius: 0;
}
.layout-top-nav .main-header .navbar {
margin-left: 0;
}
.main-header #navbar-search-input.form-control {
background: rgba(255, 255, 255, 0.2);
border-color: transparent;
}
.main-header #navbar-search-input.form-control:focus,
.main-header #navbar-search-input.form-control:active {
border-color: rgba(0, 0, 0, 0.1);
background: rgba(255, 255, 255, 0.9);
}
.main-header #navbar-search-input.form-control::-moz-placeholder {
color: #ccc;
opacity: 1;
}
.main-header #navbar-search-input.form-control:-ms-input-placeholder {
color: #ccc;
}
.main-header #navbar-search-input.form-control::-webkit-input-placeholder {
color: #ccc;
}
.main-header .navbar-custom-menu,
.main-header .navbar-right {
float: right;
}
@media (max-width: 991px) {
.main-header .navbar-custom-menu a,
.main-header .navbar-right a {
color: inherit;
background: transparent;
}
}
@media (max-width: 767px) {
.main-header .navbar-right {
float: none;
}
.navbar-collapse .main-header .navbar-right {
margin: 7.5px -15px;
}
.main-header .navbar-right > li {
color: inherit;
border: 0;
}
}
.main-header .sidebar-toggle {
float: left;
background-color: transparent;
background-image: none;
padding: 15px 15px;
font-family: fontAwesome;
}
.main-header .sidebar-toggle:before {
content: "\f0c9";
}
.main-header .sidebar-toggle:hover {
color: #fff;
}
.main-header .sidebar-toggle:focus,
.main-header .sidebar-toggle:active {
background: transparent;
}
.main-header .sidebar-toggle .icon-bar {
display: none;
}
.main-header .navbar .nav > li.user > a > .fa,
.main-header .navbar .nav > li.user > a > .glyphicon,
.main-header .navbar .nav > li.user > a > .ion {
margin-right: 5px;
}
.main-header .navbar .nav > li > a > .label {
position: absolute;
top: 9px;
right: 7px;
text-align: center;
font-size: 9px;
padding: 2px 3px;
line-height: .9;
}
.main-header .logo {
-webkit-transition: width 0.3s ease-in-out;
-o-transition: width 0.3s ease-in-out;
transition: width 0.3s ease-in-out;
display: block;
float: left;
height: 50px;
font-size: 20px;
line-height: 50px;
text-align: center;
width: 230px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 0 15px;
font-weight: 300;
overflow: hidden;
}
.main-header .logo .logo-lg {
display: block;
}
.main-header .logo .logo-mini {
display: none;
}
.main-header .navbar-brand {
color: #fff;
}
.content-header {
position: relative;
padding: 15px 15px 0 15px;
}
.content-header > h1 {
margin: 0;
font-size: 24px;
}
.content-header > h1 > small {
font-size: 15px;
display: inline-block;
padding-left: 4px;
font-weight: 300;
}
.content-header > .breadcrumb {
float: right;
background: transparent;
margin-top: 0;
margin-bottom: 0;
font-size: 12px;
padding: 7px 5px;
position: absolute;
top: 15px;
right: 10px;
border-radius: 2px;
}
.content-header > .breadcrumb > li > a {
color: #444;
text-decoration: none;
display: inline-block;
}
.content-header > .breadcrumb > li > a > .fa,
.content-header > .breadcrumb > li > a > .glyphicon,
.content-header > .breadcrumb > li > a > .ion {
margin-right: 5px;
}
.content-header > .breadcrumb > li + li:before {
content: '>\00a0';
}
@media (max-width: 991px) {
.content-header > .breadcrumb {
position: relative;
margin-top: 5px;
top: 0;
right: 0;
float: none;
background: #d2d6de;
padding-left: 10px;
}
.content-header > .breadcrumb li:before {
color: #97a0b3;
}
}
.navbar-toggle {
color: #fff;
border: 0;
margin: 0;
padding: 15px 15px;
}
@media (max-width: 991px) {
.navbar-custom-menu .navbar-nav > li {
float: left;
}
.navbar-custom-menu .navbar-nav {
margin: 0;
float: left;
}
.navbar-custom-menu .navbar-nav > li > a {
padding-top: 15px;
padding-bottom: 15px;
line-height: 20px;
}
}
@media (max-width: 767px) {
.main-header {
position: relative;
}
.main-header .logo,
.main-header .navbar {
width: 100%;
float: none;
}
.main-header .navbar {
margin: 0;
}
.main-header .navbar-custom-menu {
float: right;
}
}
@media (max-width: 991px) {
.navbar-collapse.pull-left {
float: none !important;
}
.navbar-collapse.pull-left + .navbar-custom-menu {
display: block;
position: absolute;
top: 0;
right: 40px;
}
}
/*
* Component: Sidebar
* ------------------
*/
.main-sidebar,
.left-side {
position: absolute;
top: 0;
left: 0;
padding-top: 50px;
min-height: 100%;
width: 230px;
z-index: 810;
-webkit-transition: -webkit-transform 0.3s ease-in-out, width 0.3s ease-in-out;
-moz-transition: -moz-transform 0.3s ease-in-out, width 0.3s ease-in-out;
-o-transition: -o-transform 0.3s ease-in-out, width 0.3s ease-in-out;
transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
}
@media (max-width: 767px) {
.main-sidebar,
.left-side {
padding-top: 100px;
}
}
@media (max-width: 767px) {
.main-sidebar,
.left-side {
-webkit-transform: translate(-230px, 0);
-ms-transform: translate(-230px, 0);
-o-transform: translate(-230px, 0);
transform: translate(-230px, 0);
}
}
@media (min-width: 768px) {
.sidebar-collapse .main-sidebar,
.sidebar-collapse .left-side {
-webkit-transform: translate(-230px, 0);
-ms-transform: translate(-230px, 0);
-o-transform: translate(-230px, 0);
transform: translate(-230px, 0);
}
}
@media (max-width: 767px) {
.sidebar-open .main-sidebar,
.sidebar-open .left-side {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
}
.sidebar {
padding-bottom: 10px;
}
.sidebar-form input:focus {
border-color: transparent;
}
.user-panel {
position: relative;
width: 100%;
padding: 10px;
overflow: hidden;
}
.user-panel:before,
.user-panel:after {
content: " ";
display: table;
}
.user-panel:after {
clear: both;
}
.user-panel > .image > img {
width: 100%;
max-width: 45px;
height: auto;
}
.user-panel > .info {
padding: 5px 5px 5px 15px;
line-height: 1;
position: absolute;
left: 55px;
}
.user-panel > .info > p {
font-weight: 600;
margin-bottom: 9px;
}
.user-panel > .info > a {
text-decoration: none;
padding-right: 5px;
margin-top: 3px;
font-size: 11px;
}
.user-panel > .info > a > .fa,
.user-panel > .info > a > .ion,
.user-panel > .info > a > .glyphicon {
margin-right: 3px;
}
.sidebar-menu {
list-style: none;
margin: 0;
padding: 0;
}
.sidebar-menu > li {
position: relative;
margin: 0;
padding: 0;
}
.sidebar-menu > li > a {
padding: 12px 5px 12px 15px;
display: block;
}
.sidebar-menu > li > a > .fa,
.sidebar-menu > li > a > .glyphicon,
.sidebar-menu > li > a > .ion {
width: 20px;
}
.sidebar-menu > li .label,
.sidebar-menu > li .badge {
margin-right: 5px;
}
.sidebar-menu > li .badge {
margin-top: 3px;
}
.sidebar-menu li.header {
padding: 10px 25px 10px 15px;
font-size: 12px;
}
.sidebar-menu li > a > .fa-angle-left,
.sidebar-menu li > a > .pull-right-container > .fa-angle-left {
width: auto;
height: auto;
padding: 0;
margin-right: 10px;
}
.sidebar-menu li > a > .fa-angle-left {
position: absolute;
top: 50%;
right: 10px;
margin-top: -8px;
}
.sidebar-menu li.active > a > .fa-angle-left,
.sidebar-menu li.active > a > .pull-right-container > .fa-angle-left {
-webkit-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
}
.sidebar-menu li.active > .treeview-menu {
display: block;
}
.sidebar-menu .treeview-menu {
display: none;
list-style: none;
padding: 0;
margin: 0;
padding-left: 5px;
}
.sidebar-menu .treeview-menu .treeview-menu {
padding-left: 20px;
}
.sidebar-menu .treeview-menu > li {
margin: 0;
}
.sidebar-menu .treeview-menu > li > a {
padding: 5px 5px 5px 15px;
display: block;
font-size: 14px;
}
.sidebar-menu .treeview-menu > li > a > .fa,
.sidebar-menu .treeview-menu > li > a > .glyphicon,
.sidebar-menu .treeview-menu > li > a > .ion {
width: 20px;
}
.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-left,
.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-down,
.sidebar-menu .treeview-menu > li > a > .fa-angle-left,
.sidebar-menu .treeview-menu > li > a > .fa-angle-down {
width: auto;
}
/*
* Component: Sidebar Mini
*/
@media (min-width: 768px) {
.sidebar-mini.sidebar-collapse .content-wrapper,
.sidebar-mini.sidebar-collapse .right-side,
.sidebar-mini.sidebar-collapse .main-footer {
margin-left: 50px !important;
z-index: 840;
}
.sidebar-mini.sidebar-collapse .main-sidebar {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
width: 50px !important;
z-index: 850;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li {
position: relative;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li > a {
margin-right: 0;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span {
border-top-right-radius: 4px;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li:not(.treeview) > a > span {
border-bottom-right-radius: 4px;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
padding-top: 5px;
padding-bottom: 5px;
border-bottom-right-radius: 4px;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right),
.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
display: block !important;
position: absolute;
width: 180px;
left: 50px;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span {
top: 0;
margin-left: -3px;
padding: 12px 5px 12px 20px;
background-color: inherit;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container {
position: relative!important;
float: right;
width: auto!important;
left: 180px !important;
top: -22px !important;
z-index: 900;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container > .label:not(:first-of-type) {
display: none;
}
.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
top: 44px;
margin-left: 0;
}
.sidebar-mini.sidebar-collapse .main-sidebar .user-panel > .info,
.sidebar-mini.sidebar-collapse .sidebar-form,
.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span,
.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu,
.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > .pull-right,
.sidebar-mini.sidebar-collapse .sidebar-menu li.header {
display: none !important;
-webkit-transform: translateZ(0);
}
.sidebar-mini.sidebar-collapse .main-header .logo {
width: 50px;
}
.sidebar-mini.sidebar-collapse .main-header .logo > .logo-mini {
display: block;
margin-left: -15px;
margin-right: -15px;
font-size: 18px;
}
.sidebar-mini.sidebar-collapse .main-header .logo > .logo-lg {
display: none;
}
.sidebar-mini.sidebar-collapse .main-header .navbar {
margin-left: 50px;
}
}
.sidebar-menu,
.main-sidebar .user-panel,
.sidebar-menu > li.header {
white-space: nowrap;
overflow: hidden;
}
.sidebar-menu:hover {
overflow: visible;
}
.sidebar-form,
.sidebar-menu > li.header {
overflow: hidden;
text-overflow: clip;
}
.sidebar-menu li > a {
position: relative;
}
.sidebar-menu li > a > .pull-right-container {
position: absolute;
right: 10px;
top: 50%;
margin-top: -7px;
}
/*
* Component: Control sidebar. By default, this is the right sidebar.
*/
.control-sidebar-bg {
position: fixed;
z-index: 1000;
bottom: 0;
}
.control-sidebar-bg,
.control-sidebar {
top: 0;
right: -230px;
width: 230px;
-webkit-transition: right 0.3s ease-in-out;
-o-transition: right 0.3s ease-in-out;
transition: right 0.3s ease-in-out;
}
.control-sidebar {
position: absolute;
padding-top: 50px;
z-index: 1010;
}
@media (max-width: 768px) {
.control-sidebar {
padding-top: 100px;
}
}
.control-sidebar > .tab-content {
padding: 10px 15px;
}
.control-sidebar.control-sidebar-open,
.control-sidebar.control-sidebar-open + .control-sidebar-bg {
right: 0;
}
.control-sidebar-open .control-sidebar-bg,
.control-sidebar-open .control-sidebar {
right: 0;
}
@media (min-width: 768px) {
.control-sidebar-open .content-wrapper,
.control-sidebar-open .right-side,
.control-sidebar-open .main-footer {
margin-right: 230px;
}
}
.nav-tabs.control-sidebar-tabs > li:first-of-type > a,
.nav-tabs.control-sidebar-tabs > li:first-of-type > a:hover,
.nav-tabs.control-sidebar-tabs > li:first-of-type > a:focus {
border-left-width: 0;
}
.nav-tabs.control-sidebar-tabs > li > a {
border-radius: 0;
}
.nav-tabs.control-sidebar-tabs > li > a,
.nav-tabs.control-sidebar-tabs > li > a:hover {
border-top: none;
border-right: none;
border-left: 1px solid transparent;
border-bottom: 1px solid transparent;
}
.nav-tabs.control-sidebar-tabs > li > a .icon {
font-size: 16px;
}
.nav-tabs.control-sidebar-tabs > li.active > a,
.nav-tabs.control-sidebar-tabs > li.active > a:hover,
.nav-tabs.control-sidebar-tabs > li.active > a:focus,
.nav-tabs.control-sidebar-tabs > li.active > a:active {
border-top: none;
border-right: none;
border-bottom: none;
}
@media (max-width: 768px) {
.nav-tabs.control-sidebar-tabs {
display: table;
}
.nav-tabs.control-sidebar-tabs > li {
display: table-cell;
}
}
.control-sidebar-heading {
font-weight: 400;
font-size: 16px;
padding: 10px 0;
margin-bottom: 10px;
}
.control-sidebar-subheading {
display: block;
font-weight: 400;
font-size: 14px;
}
.control-sidebar-menu {
list-style: none;
padding: 0;
margin: 0 -15px;
}
.control-sidebar-menu > li > a {
display: block;
padding: 10px 15px;
}
.control-sidebar-menu > li > a:before,
.control-sidebar-menu > li > a:after {
content: " ";
display: table;
}
.control-sidebar-menu > li > a:after {
clear: both;
}
.control-sidebar-menu > li > a > .control-sidebar-subheading {
margin-top: 0;
}
.control-sidebar-menu .menu-icon {
float: left;
width: 35px;
height: 35px;
border-radius: 50%;
text-align: center;
line-height: 35px;
}
.control-sidebar-menu .menu-info {
margin-left: 45px;
margin-top: 3px;
}
.control-sidebar-menu .menu-info > .control-sidebar-subheading {
margin: 0;
}
.control-sidebar-menu .menu-info > p {
margin: 0;
font-size: 11px;
}
.control-sidebar-menu .progress {
margin: 0;
}
.control-sidebar-dark {
color: #b8c7ce;
}
.control-sidebar-dark,
.control-sidebar-dark + .control-sidebar-bg {
background: #222d32;
}
.control-sidebar-dark .nav-tabs.control-sidebar-tabs {
border-bottom: #1c2529;
}
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a {
background: #181f23;
color: #b8c7ce;
}
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus {
border-left-color: #141a1d;
border-bottom-color: #141a1d;
}
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:active {
background: #1c2529;
}
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover {
color: #fff;
}
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:hover,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:focus,
.control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:active {
background: #222d32;
color: #fff;
}
.control-sidebar-dark .control-sidebar-heading,
.control-sidebar-dark .control-sidebar-subheading {
color: #fff;
}
.control-sidebar-dark .control-sidebar-menu > li > a:hover {
background: #1e282c;
}
.control-sidebar-dark .control-sidebar-menu > li > a .menu-info > p {
color: #b8c7ce;
}
.control-sidebar-light {
color: #5e5e5e;
}
.control-sidebar-light,
.control-sidebar-light + .control-sidebar-bg {
background: #f9fafc;
border-left: 1px solid #d2d6de;
}
.control-sidebar-light .nav-tabs.control-sidebar-tabs {
border-bottom: #d2d6de;
}
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a {
background: #e8ecf4;
color: #444444;
}
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a,
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover,
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus {
border-left-color: #d2d6de;
border-bottom-color: #d2d6de;
}
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover,
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus,
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:active {
background: #eff1f7;
}
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a,
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:hover,
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:focus,
.control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:active {
background: #f9fafc;
color: #111;
}
.control-sidebar-light .control-sidebar-heading,
.control-sidebar-light .control-sidebar-subheading {
color: #111;
}
.control-sidebar-light .control-sidebar-menu {
margin-left: -14px;
}
.control-sidebar-light .control-sidebar-menu > li > a:hover {
background: #f4f4f5;
}
.control-sidebar-light .control-sidebar-menu > li > a .menu-info > p {
color: #5e5e5e;
}
/*
* Component: Dropdown menus
* -------------------------
*/
/*Dropdowns in general*/
.dropdown-menu {
box-shadow: none;
border-color: #eee;
}
.dropdown-menu > li > a {
color: #777;
}
.dropdown-menu > li > a > .glyphicon,
.dropdown-menu > li > a > .fa,
.dropdown-menu > li > a > .ion {
margin-right: 10px;
}
.dropdown-menu > li > a:hover {
background-color: #e1e3e9;
color: #333;
}
.dropdown-menu > .divider {
background-color: #eee;
}
.navbar-nav > .notifications-menu > .dropdown-menu,
.navbar-nav > .messages-menu > .dropdown-menu,
.navbar-nav > .tasks-menu > .dropdown-menu {
width: 280px;
padding: 0 0 0 0;
margin: 0;
top: 100%;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li,
.navbar-nav > .messages-menu > .dropdown-menu > li,
.navbar-nav > .tasks-menu > .dropdown-menu > li {
position: relative;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li.header,
.navbar-nav > .messages-menu > .dropdown-menu > li.header,
.navbar-nav > .tasks-menu > .dropdown-menu > li.header {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
background-color: #ffffff;
padding: 7px 10px;
border-bottom: 1px solid #f4f4f4;
color: #444444;
font-size: 14px;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a,
.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a,
.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
font-size: 12px;
background-color: #fff;
padding: 7px 10px;
border-bottom: 1px solid #eeeeee;
color: #444 !important;
text-align: center;
}
@media (max-width: 991px) {
.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a,
.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a,
.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a {
background: #fff !important;
color: #444 !important;
}
}
.navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a:hover,
.navbar-nav > .messages-menu > .dropdown-menu > li.footer > a:hover,
.navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a:hover {
text-decoration: none;
font-weight: normal;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu,
.navbar-nav > .messages-menu > .dropdown-menu > li .menu,
.navbar-nav > .tasks-menu > .dropdown-menu > li .menu {
max-height: 200px;
margin: 0;
padding: 0;
list-style: none;
overflow-x: hidden;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a,
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a,
.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a {
display: block;
white-space: nowrap;
/* Prevent text from breaking */
border-bottom: 1px solid #f4f4f4;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a:hover,
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:hover,
.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a:hover {
background: #f4f4f4;
text-decoration: none;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a {
color: #444444;
overflow: hidden;
text-overflow: ellipsis;
padding: 10px;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .glyphicon,
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .fa,
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .ion {
width: 20px;
}
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a {
margin: 0;
padding: 10px 10px;
}
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > div > img {
margin: auto 10px auto auto;
width: 40px;
height: 40px;
}
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 {
padding: 0;
margin: 0 0 0 45px;
color: #444444;
font-size: 15px;
position: relative;
}
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small {
color: #999999;
font-size: 10px;
position: absolute;
top: 0;
right: 0;
}
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > p {
margin: 0 0 0 45px;
font-size: 12px;
color: #888888;
}
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:before,
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after {
content: " ";
display: table;
}
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after {
clear: both;
}
.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a {
padding: 10px;
}
.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > h3 {
font-size: 14px;
padding: 0;
margin: 0 0 10px 0;
color: #666666;
}
.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > .progress {
padding: 0;
margin: 0;
}
.navbar-nav > .user-menu > .dropdown-menu {
border-top-right-radius: 0;
border-top-left-radius: 0;
padding: 1px 0 0 0;
border-top-width: 0;
width: 280px;
}
.navbar-nav > .user-menu > .dropdown-menu,
.navbar-nav > .user-menu > .dropdown-menu > .user-body {
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
.navbar-nav > .user-menu > .dropdown-menu > li.user-header {
height: 175px;
padding: 10px;
text-align: center;
}
.navbar-nav > .user-menu > .dropdown-menu > li.user-header > img {
z-index: 5;
height: 90px;
width: 90px;
border: 3px solid;
border-color: transparent;
border-color: rgba(255, 255, 255, 0.2);
}
.navbar-nav > .user-menu > .dropdown-menu > li.user-header > p {
z-index: 5;
color: #fff;
color: rgba(255, 255, 255, 0.8);
font-size: 17px;
margin-top: 10px;
}
.navbar-nav > .user-menu > .dropdown-menu > li.user-header > p > small {
display: block;
font-size: 12px;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-body {
padding: 15px;
border-bottom: 1px solid #f4f4f4;
border-top: 1px solid #dddddd;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-body:before,
.navbar-nav > .user-menu > .dropdown-menu > .user-body:after {
content: " ";
display: table;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-body:after {
clear: both;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-body a {
color: #444 !important;
}
@media (max-width: 991px) {
.navbar-nav > .user-menu > .dropdown-menu > .user-body a {
background: #fff !important;
color: #444 !important;
}
}
.navbar-nav > .user-menu > .dropdown-menu > .user-footer {
background-color: #f9f9f9;
padding: 10px;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-footer:before,
.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after {
content: " ";
display: table;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-footer:after {
clear: both;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default {
color: #666666;
}
@media (max-width: 991px) {
.navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default:hover {
background-color: #f9f9f9;
}
}
.navbar-nav > .user-menu .user-image {
float: left;
width: 25px;
height: 25px;
border-radius: 50%;
margin-right: 10px;
margin-top: -2px;
}
@media (max-width: 767px) {
.navbar-nav > .user-menu .user-image {
float: none;
margin-right: 0;
margin-top: -8px;
line-height: 10px;
}
}
/* Add fade animation to dropdown menus by appending
the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)*/
.open:not(.dropup) > .animated-dropdown-menu {
backface-visibility: visible !important;
-webkit-animation: flipInX 0.7s both;
-o-animation: flipInX 0.7s both;
animation: flipInX 0.7s both;
}
@keyframes flipInX {
0% {
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
transition-timing-function: ease-in;
opacity: 0;
}
40% {
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
transition-timing-function: ease-in;
}
60% {
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
opacity: 1;
}
80% {
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
}
100% {
transform: perspective(400px);
}
}
@-webkit-keyframes flipInX {
0% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-webkit-transition-timing-function: ease-in;
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-webkit-transition-timing-function: ease-in;
}
60% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
opacity: 1;
}
80% {
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
}
100% {
-webkit-transform: perspective(400px);
}
}
/* Fix dropdown menu in navbars */
.navbar-custom-menu > .navbar-nav > li {
position: relative;
}
.navbar-custom-menu > .navbar-nav > li > .dropdown-menu {
position: absolute;
right: 0;
left: auto;
}
@media (max-width: 991px) {
.navbar-custom-menu > .navbar-nav {
float: right;
}
.navbar-custom-menu > .navbar-nav > li {
position: static;
}
.navbar-custom-menu > .navbar-nav > li > .dropdown-menu {
position: absolute;
right: 5%;
left: auto;
border: 1px solid #ddd;
background: #fff;
}
}
/*
* Component: Form
* ---------------
*/
.form-control {
border-radius: 0;
box-shadow: none;
border-color: #d2d6de;
}
.form-control:focus {
border-color: #3c8dbc;
box-shadow: none;
}
.form-control::-moz-placeholder,
.form-control:-ms-input-placeholder,
.form-control::-webkit-input-placeholder {
color: #bbb;
opacity: 1;
}
.form-control:not(select) {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.form-group.has-success label {
color: #00a65a;
}
.form-group.has-success .form-control,
.form-group.has-success .input-group-addon {
border-color: #00a65a;
box-shadow: none;
}
.form-group.has-success .help-block {
color: #00a65a;
}
.form-group.has-warning label {
color: #f39c12;
}
.form-group.has-warning .form-control,
.form-group.has-warning .input-group-addon {
border-color: #f39c12;
box-shadow: none;
}
.form-group.has-warning .help-block {
color: #f39c12;
}
.form-group.has-error label {
color: #dd4b39;
}
.form-group.has-error .form-control,
.form-group.has-error .input-group-addon {
border-color: #dd4b39;
box-shadow: none;
}
.form-group.has-error .help-block {
color: #dd4b39;
}
/* Input group */
.input-group .input-group-addon {
border-radius: 0;
border-color: #d2d6de;
background-color: #fff;
}
/* button groups */
.btn-group-vertical .btn.btn-flat:first-of-type,
.btn-group-vertical .btn.btn-flat:last-of-type {
border-radius: 0;
}
.icheck > label {
padding-left: 0;
}
/* support Font Awesome icons in form-control */
.form-control-feedback.fa {
line-height: 34px;
}
.input-lg + .form-control-feedback.fa,
.input-group-lg + .form-control-feedback.fa,
.form-group-lg .form-control + .form-control-feedback.fa {
line-height: 46px;
}
.input-sm + .form-control-feedback.fa,
.input-group-sm + .form-control-feedback.fa,
.form-group-sm .form-control + .form-control-feedback.fa {
line-height: 30px;
}
/*
* Component: Progress Bar
* -----------------------
*/
.progress,
.progress > .progress-bar {
-webkit-box-shadow: none;
box-shadow: none;
}
.progress,
.progress > .progress-bar,
.progress .progress-bar,
.progress > .progress-bar .progress-bar {
border-radius: 1px;
}
/* size variation */
.progress.sm,
.progress-sm {
height: 10px;
}
.progress.sm,
.progress-sm,
.progress.sm .progress-bar,
.progress-sm .progress-bar {
border-radius: 1px;
}
.progress.xs,
.progress-xs {
height: 7px;
}
.progress.xs,
.progress-xs,
.progress.xs .progress-bar,
.progress-xs .progress-bar {
border-radius: 1px;
}
.progress.xxs,
.progress-xxs {
height: 3px;
}
.progress.xxs,
.progress-xxs,
.progress.xxs .progress-bar,
.progress-xxs .progress-bar {
border-radius: 1px;
}
/* Vertical bars */
.progress.vertical {
position: relative;
width: 30px;
height: 200px;
display: inline-block;
margin-right: 10px;
}
.progress.vertical > .progress-bar {
width: 100%;
position: absolute;
bottom: 0;
}
.progress.vertical.sm,
.progress.vertical.progress-sm {
width: 20px;
}
.progress.vertical.xs,
.progress.vertical.progress-xs {
width: 10px;
}
.progress.vertical.xxs,
.progress.vertical.progress-xxs {
width: 3px;
}
.progress-group .progress-text {
font-weight: 600;
}
.progress-group .progress-number {
float: right;
}
/* Remove margins from progress bars when put in a table */
.table tr > td .progress {
margin: 0;
}
.progress-bar-light-blue,
.progress-bar-primary {
background-color: #3c8dbc;
}
.progress-striped .progress-bar-light-blue,
.progress-striped .progress-bar-primary {
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: -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-bar-green,
.progress-bar-success {
background-color: #00a65a;
}
.progress-striped .progress-bar-green,
.progress-striped .progress-bar-success {
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: -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-bar-aqua,
.progress-bar-info {
background-color: #00c0ef;
}
.progress-striped .progress-bar-aqua,
.progress-striped .progress-bar-info {
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: -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-bar-yellow,
.progress-bar-warning {
background-color: #f39c12;
}
.progress-striped .progress-bar-yellow,
.progress-striped .progress-bar-warning {
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: -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-bar-red,
.progress-bar-danger {
background-color: #dd4b39;
}
.progress-striped .progress-bar-red,
.progress-striped .progress-bar-danger {
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: -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);
}
/*
* Component: Small Box
* --------------------
*/
.small-box {
border-radius: 2px;
position: relative;
display: block;
margin-bottom: 20px;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.small-box > .inner {
padding: 10px;
}
.small-box > .small-box-footer {
position: relative;
text-align: center;
padding: 3px 0;
color: #fff;
color: rgba(255, 255, 255, 0.8);
display: block;
z-index: 10;
background: rgba(0, 0, 0, 0.1);
text-decoration: none;
}
.small-box > .small-box-footer:hover {
color: #fff;
background: rgba(0, 0, 0, 0.15);
}
.small-box h3 {
font-size: 38px;
font-weight: bold;
margin: 0 0 10px 0;
white-space: nowrap;
padding: 0;
}
.small-box p {
font-size: 15px;
}
.small-box p > small {
display: block;
color: #f9f9f9;
font-size: 13px;
margin-top: 5px;
}
.small-box h3,
.small-box p {
z-index: 5;
}
.small-box .icon {
-webkit-transition: all 0.3s linear;
-o-transition: all 0.3s linear;
transition: all 0.3s linear;
position: absolute;
top: -10px;
right: 10px;
z-index: 0;
font-size: 90px;
color: rgba(0, 0, 0, 0.15);
}
.small-box:hover {
text-decoration: none;
color: #f9f9f9;
}
.small-box:hover .icon {
font-size: 95px;
}
@media (max-width: 767px) {
.small-box {
text-align: center;
}
.small-box .icon {
display: none;
}
.small-box p {
font-size: 12px;
}
}
/*
* Component: Box
* --------------
*/
.box {
position: relative;
border-radius: 3px;
background: #ffffff;
border-top: 3px solid #d2d6de;
margin-bottom: 20px;
width: 100%;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.box.box-primary {
border-top-color: #3c8dbc;
}
.box.box-info {
border-top-color: #00c0ef;
}
.box.box-danger {
border-top-color: #dd4b39;
}
.box.box-warning {
border-top-color: #f39c12;
}
.box.box-success {
border-top-color: #00a65a;
}
.box.box-default {
border-top-color: #d2d6de;
}
.box.collapsed-box .box-body,
.box.collapsed-box .box-footer {
display: none;
}
.box .nav-stacked > li {
border-bottom: 1px solid #f4f4f4;
margin: 0;
}
.box .nav-stacked > li:last-of-type {
border-bottom: none;
}
.box.height-control .box-body {
max-height: 300px;
overflow: auto;
}
.box .border-right {
border-right: 1px solid #f4f4f4;
}
.box .border-left {
border-left: 1px solid #f4f4f4;
}
.box.box-solid {
border-top: 0;
}
.box.box-solid > .box-header .btn.btn-default {
background: transparent;
}
.box.box-solid > .box-header .btn:hover,
.box.box-solid > .box-header a:hover {
background: rgba(0, 0, 0, 0.1);
}
.box.box-solid.box-default {
border: 1px solid #d2d6de;
}
.box.box-solid.box-default > .box-header {
color: #444444;
background: #d2d6de;
background-color: #d2d6de;
}
.box.box-solid.box-default > .box-header a,
.box.box-solid.box-default > .box-header .btn {
color: #444444;
}
.box.box-solid.box-primary {
border: 1px solid #3c8dbc;
}
.box.box-solid.box-primary > .box-header {
color: #ffffff;
background: #3c8dbc;
background-color: #3c8dbc;
}
.box.box-solid.box-primary > .box-header a,
.box.box-solid.box-primary > .box-header .btn {
color: #ffffff;
}
.box.box-solid.box-info {
border: 1px solid #00c0ef;
}
.box.box-solid.box-info > .box-header {
color: #ffffff;
background: #00c0ef;
background-color: #00c0ef;
}
.box.box-solid.box-info > .box-header a,
.box.box-solid.box-info > .box-header .btn {
color: #ffffff;
}
.box.box-solid.box-danger {
border: 1px solid #dd4b39;
}
.box.box-solid.box-danger > .box-header {
color: #ffffff;
background: #dd4b39;
background-color: #dd4b39;
}
.box.box-solid.box-danger > .box-header a,
.box.box-solid.box-danger > .box-header .btn {
color: #ffffff;
}
.box.box-solid.box-warning {
border: 1px solid #f39c12;
}
.box.box-solid.box-warning > .box-header {
color: #ffffff;
background: #f39c12;
background-color: #f39c12;
}
.box.box-solid.box-warning > .box-header a,
.box.box-solid.box-warning > .box-header .btn {
color: #ffffff;
}
.box.box-solid.box-success {
border: 1px solid #00a65a;
}
.box.box-solid.box-success > .box-header {
color: #ffffff;
background: #00a65a;
background-color: #00a65a;
}
.box.box-solid.box-success > .box-header a,
.box.box-solid.box-success > .box-header .btn {
color: #ffffff;
}
.box.box-solid > .box-header > .box-tools .btn {
border: 0;
box-shadow: none;
}
.box.box-solid[class*='bg'] > .box-header {
color: #fff;
}
.box .box-group > .box {
margin-bottom: 5px;
}
.box .knob-label {
text-align: center;
color: #333;
font-weight: 100;
font-size: 12px;
margin-bottom: 0.3em;
}
.box > .overlay,
.overlay-wrapper > .overlay,
.box > .loading-img,
.overlay-wrapper > .loading-img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.box .overlay,
.overlay-wrapper .overlay {
z-index: 50;
background: rgba(255, 255, 255, 0.7);
border-radius: 3px;
}
.box .overlay > .fa,
.overlay-wrapper .overlay > .fa {
position: absolute;
top: 50%;
left: 50%;
margin-left: -15px;
margin-top: -15px;
color: #000;
font-size: 30px;
}
.box .overlay.dark,
.overlay-wrapper .overlay.dark {
background: rgba(0, 0, 0, 0.5);
}
.box-header:before,
.box-body:before,
.box-footer:before,
.box-header:after,
.box-body:after,
.box-footer:after {
content: " ";
display: table;
}
.box-header:after,
.box-body:after,
.box-footer:after {
clear: both;
}
.box-header {
color: #444;
display: block;
padding: 10px;
position: relative;
}
.box-header.with-border {
border-bottom: 1px solid #f4f4f4;
}
.collapsed-box .box-header.with-border {
border-bottom: none;
}
.box-header > .fa,
.box-header > .glyphicon,
.box-header > .ion,
.box-header .box-title {
display: inline-block;
font-size: 18px;
margin: 0;
line-height: 1;
}
.box-header > .fa,
.box-header > .glyphicon,
.box-header > .ion {
margin-right: 5px;
}
.box-header > .box-tools {
position: absolute;
right: 10px;
top: 5px;
}
.box-header > .box-tools [data-toggle="tooltip"] {
position: relative;
}
.box-header > .box-tools.pull-right .dropdown-menu {
right: 0;
left: auto;
}
.box-header > .box-tools .dropdown-menu > li > a {
color: #444!important;
}
.btn-box-tool {
padding: 5px;
font-size: 12px;
background: transparent;
color: #97a0b3;
}
.open .btn-box-tool,
.btn-box-tool:hover {
color: #606c84;
}
.btn-box-tool.btn:active {
box-shadow: none;
}
.box-body {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
padding: 10px;
}
.no-header .box-body {
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.box-body > .table {
margin-bottom: 0;
}
.box-body .fc {
margin-top: 5px;
}
.box-body .full-width-chart {
margin: -19px;
}
.box-body.no-padding .full-width-chart {
margin: -9px;
}
.box-body .box-pane {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 3px;
}
.box-body .box-pane-right {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 0;
}
.box-footer {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
border-top: 1px solid #f4f4f4;
padding: 10px;
background-color: #ffffff;
}
.chart-legend {
margin: 10px 0;
}
@media (max-width: 991px) {
.chart-legend > li {
float: left;
margin-right: 10px;
}
}
.box-comments {
background: #f7f7f7;
}
.box-comments .box-comment {
padding: 8px 0;
border-bottom: 1px solid #eee;
}
.box-comments .box-comment:before,
.box-comments .box-comment:after {
content: " ";
display: table;
}
.box-comments .box-comment:after {
clear: both;
}
.box-comments .box-comment:last-of-type {
border-bottom: 0;
}
.box-comments .box-comment:first-of-type {
padding-top: 0;
}
.box-comments .box-comment img {
float: left;
}
.box-comments .comment-text {
margin-left: 40px;
color: #555;
}
.box-comments .username {
color: #444;
display: block;
font-weight: 600;
}
.box-comments .text-muted {
font-weight: 400;
font-size: 12px;
}
/* Widget: TODO LIST */
.todo-list {
margin: 0;
padding: 0;
list-style: none;
overflow: auto;
}
.todo-list > li {
border-radius: 2px;
padding: 10px;
background: #f4f4f4;
margin-bottom: 2px;
border-left: 2px solid #e6e7e8;
color: #444;
}
.todo-list > li:last-of-type {
margin-bottom: 0;
}
.todo-list > li > input[type='checkbox'] {
margin: 0 10px 0 5px;
}
.todo-list > li .text {
display: inline-block;
margin-left: 5px;
font-weight: 600;
}
.todo-list > li .label {
margin-left: 10px;
font-size: 9px;
}
.todo-list > li .tools {
display: none;
float: right;
color: #dd4b39;
}
.todo-list > li .tools > .fa,
.todo-list > li .tools > .glyphicon,
.todo-list > li .tools > .ion {
margin-right: 5px;
cursor: pointer;
}
.todo-list > li:hover .tools {
display: inline-block;
}
.todo-list > li.done {
color: #999;
}
.todo-list > li.done .text {
text-decoration: line-through;
font-weight: 500;
}
.todo-list > li.done .label {
background: #d2d6de !important;
}
.todo-list .danger {
border-left-color: #dd4b39;
}
.todo-list .warning {
border-left-color: #f39c12;
}
.todo-list .info {
border-left-color: #00c0ef;
}
.todo-list .success {
border-left-color: #00a65a;
}
.todo-list .primary {
border-left-color: #3c8dbc;
}
.todo-list .handle {
display: inline-block;
cursor: move;
margin: 0 5px;
}
/* Chat widget (DEPRECATED - this will be removed in the next major release. Use Direct Chat instead)*/
.chat {
padding: 5px 20px 5px 10px;
}
.chat .item {
margin-bottom: 10px;
}
.chat .item:before,
.chat .item:after {
content: " ";
display: table;
}
.chat .item:after {
clear: both;
}
.chat .item > img {
width: 40px;
height: 40px;
border: 2px solid transparent;
border-radius: 50%;
}
.chat .item > .online {
border: 2px solid #00a65a;
}
.chat .item > .offline {
border: 2px solid #dd4b39;
}
.chat .item > .message {
margin-left: 55px;
margin-top: -40px;
}
.chat .item > .message > .name {
display: block;
font-weight: 600;
}
.chat .item > .attachment {
border-radius: 3px;
background: #f4f4f4;
margin-left: 65px;
margin-right: 15px;
padding: 10px;
}
.chat .item > .attachment > h4 {
margin: 0 0 5px 0;
font-weight: 600;
font-size: 14px;
}
.chat .item > .attachment > p,
.chat .item > .attachment > .filename {
font-weight: 600;
font-size: 13px;
font-style: italic;
margin: 0;
}
.chat .item > .attachment:before,
.chat .item > .attachment:after {
content: " ";
display: table;
}
.chat .item > .attachment:after {
clear: both;
}
.box-input {
max-width: 200px;
}
.modal .panel-body {
color: #444;
}
/*
* Component: Info Box
* -------------------
*/
.info-box {
display: block;
min-height: 90px;
background: #fff;
width: 100%;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
border-radius: 2px;
margin-bottom: 15px;
}
.info-box small {
font-size: 14px;
}
.info-box .progress {
background: rgba(0, 0, 0, 0.2);
margin: 5px -10px 5px -10px;
height: 2px;
}
.info-box .progress,
.info-box .progress .progress-bar {
border-radius: 0;
}
.info-box .progress .progress-bar {
background: #fff;
}
.info-box-icon {
border-top-left-radius: 2px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 2px;
display: block;
float: left;
height: 90px;
width: 90px;
text-align: center;
font-size: 45px;
line-height: 90px;
background: rgba(0, 0, 0, 0.2);
}
.info-box-icon > img {
max-width: 100%;
}
.info-box-content {
padding: 5px 10px;
margin-left: 90px;
}
.info-box-number {
display: block;
font-weight: bold;
font-size: 18px;
}
.progress-description,
.info-box-text {
display: block;
font-size: 14px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.info-box-text {
text-transform: uppercase;
}
.info-box-more {
display: block;
}
.progress-description {
margin: 0;
}
/*
* Component: Timeline
* -------------------
*/
.timeline {
position: relative;
margin: 0 0 30px 0;
padding: 0;
list-style: none;
}
.timeline:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
width: 4px;
background: #ddd;
left: 31px;
margin: 0;
border-radius: 2px;
}
.timeline > li {
position: relative;
margin-right: 10px;
margin-bottom: 15px;
}
.timeline > li:before,
.timeline > li:after {
content: " ";
display: table;
}
.timeline > li:after {
clear: both;
}
.timeline > li > .timeline-item {
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
border-radius: 3px;
margin-top: 0;
background: #fff;
color: #444;
margin-left: 60px;
margin-right: 15px;
padding: 0;
position: relative;
}
.timeline > li > .timeline-item > .time {
color: #999;
float: right;
padding: 10px;
font-size: 12px;
}
.timeline > li > .timeline-item > .timeline-header {
margin: 0;
color: #555;
border-bottom: 1px solid #f4f4f4;
padding: 10px;
font-size: 16px;
line-height: 1.1;
}
.timeline > li > .timeline-item > .timeline-header > a {
font-weight: 600;
}
.timeline > li > .timeline-item > .timeline-body,
.timeline > li > .timeline-item > .timeline-footer {
padding: 10px;
}
.timeline > li > .fa,
.timeline > li > .glyphicon,
.timeline > li > .ion {
width: 30px;
height: 30px;
font-size: 15px;
line-height: 30px;
position: absolute;
color: #666;
background: #d2d6de;
border-radius: 50%;
text-align: center;
left: 18px;
top: 0;
}
.timeline > .time-label > span {
font-weight: 600;
padding: 5px;
display: inline-block;
background-color: #fff;
border-radius: 4px;
}
.timeline-inverse > li > .timeline-item {
background: #f0f0f0;
border: 1px solid #ddd;
-webkit-box-shadow: none;
box-shadow: none;
}
.timeline-inverse > li > .timeline-item > .timeline-header {
border-bottom-color: #ddd;
}
/*
* Component: Button
* -----------------
*/
.btn {
border-radius: 3px;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid transparent;
}
.btn.uppercase {
text-transform: uppercase;
}
.btn.btn-flat {
border-radius: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
border-width: 1px;
}
.btn:active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn:focus {
outline: none;
}
.btn.btn-file {
position: relative;
overflow: hidden;
}
.btn.btn-file > input[type='file'] {
position: absolute;
top: 0;
right: 0;
min-width: 100%;
min-height: 100%;
font-size: 100px;
text-align: right;
opacity: 0;
filter: alpha(opacity=0);
outline: none;
background: white;
cursor: inherit;
display: block;
}
.btn-default {
background-color: #f4f4f4;
color: #444;
border-color: #ddd;
}
.btn-default:hover,
.btn-default:active,
.btn-default.hover {
background-color: #e7e7e7;
}
.btn-primary {
background-color: #3c8dbc;
border-color: #367fa9;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.hover {
background-color: #367fa9;
}
.btn-success {
background-color: #00a65a;
border-color: #008d4c;
}
.btn-success:hover,
.btn-success:active,
.btn-success.hover {
background-color: #008d4c;
}
.btn-info {
background-color: #00c0ef;
border-color: #00acd6;
}
.btn-info:hover,
.btn-info:active,
.btn-info.hover {
background-color: #00acd6;
}
.btn-danger {
background-color: #dd4b39;
border-color: #d73925;
}
.btn-danger:hover,
.btn-danger:active,
.btn-danger.hover {
background-color: #d73925;
}
.btn-warning {
background-color: #f39c12;
border-color: #e08e0b;
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning.hover {
background-color: #e08e0b;
}
.btn-outline {
border: 1px solid #fff;
background: transparent;
color: #fff;
}
.btn-outline:hover,
.btn-outline:focus,
.btn-outline:active {
color: rgba(255, 255, 255, 0.7);
border-color: rgba(255, 255, 255, 0.7);
}
.btn-link {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn[class*='bg-']:hover {
-webkit-box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.2);
box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.2);
}
.btn-app {
border-radius: 3px;
position: relative;
padding: 15px 5px;
margin: 0 0 10px 10px;
min-width: 80px;
height: 60px;
text-align: center;
color: #666;
border: 1px solid #ddd;
background-color: #f4f4f4;
font-size: 12px;
}
.btn-app > .fa,
.btn-app > .glyphicon,
.btn-app > .ion {
font-size: 20px;
display: block;
}
.btn-app:hover {
background: #f4f4f4;
color: #444;
border-color: #aaa;
}
.btn-app:active,
.btn-app:focus {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-app > .badge {
position: absolute;
top: -3px;
right: -10px;
font-size: 10px;
font-weight: 400;
}
/*
* Component: Callout
* ------------------
*/
.callout {
border-radius: 3px;
margin: 0 0 20px 0;
padding: 15px 30px 15px 15px;
border-left: 5px solid #eee;
}
.callout a {
color: #fff;
text-decoration: underline;
}
.callout a:hover {
color: #eee;
}
.callout h4 {
margin-top: 0;
font-weight: 600;
}
.callout p:last-child {
margin-bottom: 0;
}
.callout code,
.callout .highlight {
background-color: #fff;
}
.callout.callout-danger {
border-color: #c23321;
}
.callout.callout-warning {
border-color: #c87f0a;
}
.callout.callout-info {
border-color: #0097bc;
}
.callout.callout-success {
border-color: #00733e;
}
/*
* Component: alert
* ----------------
*/
.alert {
border-radius: 3px;
}
.alert h4 {
font-weight: 600;
}
.alert .icon {
margin-right: 10px;
}
.alert .close {
color: #000;
opacity: 0.2;
filter: alpha(opacity=20);
}
.alert .close:hover {
opacity: 0.5;
filter: alpha(opacity=50);
}
.alert a {
color: #fff;
text-decoration: underline;
}
.alert-success {
border-color: #008d4c;
}
.alert-danger,
.alert-error {
border-color: #d73925;
}
.alert-warning {
border-color: #e08e0b;
}
.alert-info {
border-color: #00acd6;
}
/*
* Component: Nav
* --------------
*/
.nav > li > a:hover,
.nav > li > a:active,
.nav > li > a:focus {
color: #444;
background: #f7f7f7;
}
/* NAV PILLS */
.nav-pills > li > a {
border-radius: 0;
border-top: 3px solid transparent;
color: #444;
}
.nav-pills > li > a > .fa,
.nav-pills > li > a > .glyphicon,
.nav-pills > li > a > .ion {
margin-right: 5px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
border-top-color: #3c8dbc;
}
.nav-pills > li.active > a {
font-weight: 600;
}
/* NAV STACKED */
.nav-stacked > li > a {
border-radius: 0;
border-top: 0;
border-left: 3px solid transparent;
color: #444;
}
.nav-stacked > li.active > a,
.nav-stacked > li.active > a:hover {
background: transparent;
color: #444;
border-top: 0;
border-left-color: #3c8dbc;
}
.nav-stacked > li.header {
border-bottom: 1px solid #ddd;
color: #777;
margin-bottom: 10px;
padding: 5px 10px;
text-transform: uppercase;
}
/* NAV TABS */
.nav-tabs-custom {
margin-bottom: 20px;
background: #fff;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
border-radius: 3px;
}
.nav-tabs-custom > .nav-tabs {
margin: 0;
border-bottom-color: #f4f4f4;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.nav-tabs-custom > .nav-tabs > li {
border-top: 3px solid transparent;
margin-bottom: -2px;
margin-right: 5px;
}
.nav-tabs-custom > .nav-tabs > li > a {
color: #444;
border-radius: 0;
}
.nav-tabs-custom > .nav-tabs > li > a.text-muted {
color: #999;
}
.nav-tabs-custom > .nav-tabs > li > a,
.nav-tabs-custom > .nav-tabs > li > a:hover {
background: transparent;
margin: 0;
}
.nav-tabs-custom > .nav-tabs > li > a:hover {
color: #999;
}
.nav-tabs-custom > .nav-tabs > li:not(.active) > a:hover,
.nav-tabs-custom > .nav-tabs > li:not(.active) > a:focus,
.nav-tabs-custom > .nav-tabs > li:not(.active) > a:active {
border-color: transparent;
}
.nav-tabs-custom > .nav-tabs > li.active {
border-top-color: #3c8dbc;
}
.nav-tabs-custom > .nav-tabs > li.active > a,
.nav-tabs-custom > .nav-tabs > li.active:hover > a {
background-color: #fff;
color: #444;
}
.nav-tabs-custom > .nav-tabs > li.active > a {
border-top-color: transparent;
border-left-color: #f4f4f4;
border-right-color: #f4f4f4;
}
.nav-tabs-custom > .nav-tabs > li:first-of-type {
margin-left: 0;
}
.nav-tabs-custom > .nav-tabs > li:first-of-type.active > a {
border-left-color: transparent;
}
.nav-tabs-custom > .nav-tabs.pull-right {
float: none !important;
}
.nav-tabs-custom > .nav-tabs.pull-right > li {
float: right;
}
.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type {
margin-right: 0;
}
.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type > a {
border-left-width: 1px;
}
.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type.active > a {
border-left-color: #f4f4f4;
border-right-color: transparent;
}
.nav-tabs-custom > .nav-tabs > li.header {
line-height: 35px;
padding: 0 10px;
font-size: 20px;
color: #444;
}
.nav-tabs-custom > .nav-tabs > li.header > .fa,
.nav-tabs-custom > .nav-tabs > li.header > .glyphicon,
.nav-tabs-custom > .nav-tabs > li.header > .ion {
margin-right: 5px;
}
.nav-tabs-custom > .tab-content {
background: #fff;
padding: 10px;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.nav-tabs-custom .dropdown.open > a:active,
.nav-tabs-custom .dropdown.open > a:focus {
background: transparent;
color: #999;
}
.nav-tabs-custom.tab-primary > .nav-tabs > li.active {
border-top-color: #3c8dbc;
}
.nav-tabs-custom.tab-info > .nav-tabs > li.active {
border-top-color: #00c0ef;
}
.nav-tabs-custom.tab-danger > .nav-tabs > li.active {
border-top-color: #dd4b39;
}
.nav-tabs-custom.tab-warning > .nav-tabs > li.active {
border-top-color: #f39c12;
}
.nav-tabs-custom.tab-success > .nav-tabs > li.active {
border-top-color: #00a65a;
}
.nav-tabs-custom.tab-default > .nav-tabs > li.active {
border-top-color: #d2d6de;
}
/* PAGINATION */
.pagination > li > a {
background: #fafafa;
color: #666;
}
.pagination.pagination-flat > li > a {
border-radius: 0 !important;
}
/*
* Component: Products List
* ------------------------
*/
.products-list {
list-style: none;
margin: 0;
padding: 0;
}
.products-list > .item {
border-radius: 3px;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
padding: 10px 0;
background: #fff;
}
.products-list > .item:before,
.products-list > .item:after {
content: " ";
display: table;
}
.products-list > .item:after {
clear: both;
}
.products-list .product-img {
float: left;
}
.products-list .product-img img {
width: 50px;
height: 50px;
}
.products-list .product-info {
margin-left: 60px;
}
.products-list .product-title {
font-weight: 600;
}
.products-list .product-description {
display: block;
color: #999;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.product-list-in-box > .item {
-webkit-box-shadow: none;
box-shadow: none;
border-radius: 0;
border-bottom: 1px solid #f4f4f4;
}
.product-list-in-box > .item:last-of-type {
border-bottom-width: 0;
}
/*
* Component: Table
* ----------------
*/
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
border-top: 1px solid #f4f4f4;
}
.table > thead > tr > th {
border-bottom: 2px solid #f4f4f4;
}
.table tr td .progress {
margin-top: 5px;
}
.table-bordered {
border: 1px solid #f4f4f4;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
border: 1px solid #f4f4f4;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
border-bottom-width: 2px;
}
.table.no-border,
.table.no-border td,
.table.no-border th {
border: 0;
}
/* .text-center in tables */
table.text-center,
table.text-center td,
table.text-center th {
text-align: center;
}
.table.align th {
text-align: left;
}
.table.align td {
text-align: right;
}
/*
* Component: Label
* ----------------
*/
.label-default {
background-color: #d2d6de;
color: #444;
}
/*
* Component: Direct Chat
* ----------------------
*/
.direct-chat .box-body {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
position: relative;
overflow-x: hidden;
padding: 0;
}
.direct-chat.chat-pane-open .direct-chat-contacts {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
.direct-chat-messages {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
padding: 10px;
height: 250px;
overflow: auto;
}
.direct-chat-msg,
.direct-chat-text {
display: block;
}
.direct-chat-msg {
margin-bottom: 10px;
}
.direct-chat-msg:before,
.direct-chat-msg:after {
content: " ";
display: table;
}
.direct-chat-msg:after {
clear: both;
}
.direct-chat-messages,
.direct-chat-contacts {
-webkit-transition: -webkit-transform 0.5s ease-in-out;
-moz-transition: -moz-transform 0.5s ease-in-out;
-o-transition: -o-transform 0.5s ease-in-out;
transition: transform 0.5s ease-in-out;
}
.direct-chat-text {
border-radius: 5px;
position: relative;
padding: 5px 10px;
background: #d2d6de;
border: 1px solid #d2d6de;
margin: 5px 0 0 50px;
color: #444444;
}
.direct-chat-text:after,
.direct-chat-text:before {
position: absolute;
right: 100%;
top: 15px;
border: solid transparent;
border-right-color: #d2d6de;
content: ' ';
height: 0;
width: 0;
pointer-events: none;
}
.direct-chat-text:after {
border-width: 5px;
margin-top: -5px;
}
.direct-chat-text:before {
border-width: 6px;
margin-top: -6px;
}
.right .direct-chat-text {
margin-right: 50px;
margin-left: 0;
}
.right .direct-chat-text:after,
.right .direct-chat-text:before {
right: auto;
left: 100%;
border-right-color: transparent;
border-left-color: #d2d6de;
}
.direct-chat-img {
border-radius: 50%;
float: left;
width: 40px;
height: 40px;
}
.right .direct-chat-img {
float: right;
}
.direct-chat-info {
display: block;
margin-bottom: 2px;
font-size: 12px;
}
.direct-chat-name {
font-weight: 600;
}
.direct-chat-timestamp {
color: #999;
}
.direct-chat-contacts-open .direct-chat-contacts {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
.direct-chat-contacts {
-webkit-transform: translate(101%, 0);
-ms-transform: translate(101%, 0);
-o-transform: translate(101%, 0);
transform: translate(101%, 0);
position: absolute;
top: 0;
bottom: 0;
height: 250px;
width: 100%;
background: #222d32;
color: #fff;
overflow: auto;
}
.contacts-list > li {
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
padding: 10px;
margin: 0;
}
.contacts-list > li:before,
.contacts-list > li:after {
content: " ";
display: table;
}
.contacts-list > li:after {
clear: both;
}
.contacts-list > li:last-of-type {
border-bottom: none;
}
.contacts-list-img {
border-radius: 50%;
width: 40px;
float: left;
}
.contacts-list-info {
margin-left: 45px;
color: #fff;
}
.contacts-list-name,
.contacts-list-status {
display: block;
}
.contacts-list-name {
font-weight: 600;
}
.contacts-list-status {
font-size: 12px;
}
.contacts-list-date {
color: #aaa;
font-weight: normal;
}
.contacts-list-msg {
color: #999;
}
.direct-chat-danger .right > .direct-chat-text {
background: #dd4b39;
border-color: #dd4b39;
color: #ffffff;
}
.direct-chat-danger .right > .direct-chat-text:after,
.direct-chat-danger .right > .direct-chat-text:before {
border-left-color: #dd4b39;
}
.direct-chat-primary .right > .direct-chat-text {
background: #3c8dbc;
border-color: #3c8dbc;
color: #ffffff;
}
.direct-chat-primary .right > .direct-chat-text:after,
.direct-chat-primary .right > .direct-chat-text:before {
border-left-color: #3c8dbc;
}
.direct-chat-warning .right > .direct-chat-text {
background: #f39c12;
border-color: #f39c12;
color: #ffffff;
}
.direct-chat-warning .right > .direct-chat-text:after,
.direct-chat-warning .right > .direct-chat-text:before {
border-left-color: #f39c12;
}
.direct-chat-info .right > .direct-chat-text {
background: #00c0ef;
border-color: #00c0ef;
color: #ffffff;
}
.direct-chat-info .right > .direct-chat-text:after,
.direct-chat-info .right > .direct-chat-text:before {
border-left-color: #00c0ef;
}
.direct-chat-success .right > .direct-chat-text {
background: #00a65a;
border-color: #00a65a;
color: #ffffff;
}
.direct-chat-success .right > .direct-chat-text:after,
.direct-chat-success .right > .direct-chat-text:before {
border-left-color: #00a65a;
}
/*
* Component: Users List
* ---------------------
*/
.users-list > li {
width: 25%;
float: left;
padding: 10px;
text-align: center;
}
.users-list > li img {
border-radius: 50%;
max-width: 100%;
height: auto;
}
.users-list > li > a:hover,
.users-list > li > a:hover .users-list-name {
color: #999;
}
.users-list-name,
.users-list-date {
display: block;
}
.users-list-name {
font-weight: 600;
color: #444;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.users-list-date {
color: #999;
font-size: 12px;
}
/*
* Component: Carousel
* -------------------
*/
.carousel-control.left,
.carousel-control.right {
background-image: none;
}
.carousel-control > .fa {
font-size: 40px;
position: absolute;
top: 50%;
z-index: 5;
display: inline-block;
margin-top: -20px;
}
/*
* Component: modal
* ----------------
*/
.modal {
background: rgba(0, 0, 0, 0.3);
}
.modal-content {
border-radius: 0;
-webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
border: 0;
}
@media (min-width: 768px) {
.modal-content {
-webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125);
}
}
.modal-header {
border-bottom-color: #f4f4f4;
}
.modal-footer {
border-top-color: #f4f4f4;
}
.modal-primary .modal-header,
.modal-primary .modal-footer {
border-color: #307095;
}
.modal-warning .modal-header,
.modal-warning .modal-footer {
border-color: #c87f0a;
}
.modal-info .modal-header,
.modal-info .modal-footer {
border-color: #0097bc;
}
.modal-success .modal-header,
.modal-success .modal-footer {
border-color: #00733e;
}
.modal-danger .modal-header,
.modal-danger .modal-footer {
border-color: #c23321;
}
/*
* Component: Social Widgets
* -------------------------
*/
.box-widget {
border: none;
position: relative;
}
.widget-user .widget-user-header {
padding: 20px;
height: 120px;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.widget-user .widget-user-username {
margin-top: 0;
margin-bottom: 5px;
font-size: 25px;
font-weight: 300;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}
.widget-user .widget-user-desc {
margin-top: 0;
}
.widget-user .widget-user-image {
position: absolute;
top: 65px;
left: 50%;
margin-left: -45px;
}
.widget-user .widget-user-image > img {
width: 90px;
height: auto;
border: 3px solid #fff;
}
.widget-user .box-footer {
padding-top: 30px;
}
.widget-user-2 .widget-user-header {
padding: 20px;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.widget-user-2 .widget-user-username {
margin-top: 5px;
margin-bottom: 5px;
font-size: 25px;
font-weight: 300;
}
.widget-user-2 .widget-user-desc {
margin-top: 0;
}
.widget-user-2 .widget-user-username,
.widget-user-2 .widget-user-desc {
margin-left: 75px;
}
.widget-user-2 .widget-user-image > img {
width: 65px;
height: auto;
float: left;
}
/*
* Page: Mailbox
* -------------
*/
.mailbox-messages > .table {
margin: 0;
}
.mailbox-controls {
padding: 5px;
}
.mailbox-controls.with-border {
border-bottom: 1px solid #f4f4f4;
}
.mailbox-read-info {
border-bottom: 1px solid #f4f4f4;
padding: 10px;
}
.mailbox-read-info h3 {
font-size: 20px;
margin: 0;
}
.mailbox-read-info h5 {
margin: 0;
padding: 5px 0 0 0;
}
.mailbox-read-time {
color: #999;
font-size: 13px;
}
.mailbox-read-message {
padding: 10px;
}
.mailbox-attachments li {
float: left;
width: 200px;
border: 1px solid #eee;
margin-bottom: 10px;
margin-right: 10px;
}
.mailbox-attachment-name {
font-weight: bold;
color: #666;
}
.mailbox-attachment-icon,
.mailbox-attachment-info,
.mailbox-attachment-size {
display: block;
}
.mailbox-attachment-info {
padding: 10px;
background: #f4f4f4;
}
.mailbox-attachment-size {
color: #999;
font-size: 12px;
}
.mailbox-attachment-icon {
text-align: center;
font-size: 65px;
color: #666;
padding: 20px 10px;
}
.mailbox-attachment-icon.has-img {
padding: 0;
}
.mailbox-attachment-icon.has-img > img {
max-width: 100%;
height: auto;
}
/*
* Page: Lock Screen
* -----------------
*/
/* ADD THIS CLASS TO THE TAG */
.lockscreen {
background: #d2d6de;
}
.lockscreen-logo {
font-size: 35px;
text-align: center;
margin-bottom: 25px;
font-weight: 300;
}
.lockscreen-logo a {
color: #444;
}
.lockscreen-wrapper {
max-width: 400px;
margin: 0 auto;
margin-top: 10%;
}
/* User name [optional] */
.lockscreen .lockscreen-name {
text-align: center;
font-weight: 600;
}
/* Will contain the image and the sign in form */
.lockscreen-item {
border-radius: 4px;
padding: 0;
background: #fff;
position: relative;
margin: 10px auto 30px auto;
width: 290px;
}
/* User image */
.lockscreen-image {
border-radius: 50%;
position: absolute;
left: -10px;
top: -25px;
background: #fff;
padding: 5px;
z-index: 10;
}
.lockscreen-image > img {
border-radius: 50%;
width: 70px;
height: 70px;
}
/* Contains the password input and the login button */
.lockscreen-credentials {
margin-left: 70px;
}
.lockscreen-credentials .form-control {
border: 0;
}
.lockscreen-credentials .btn {
background-color: #fff;
border: 0;
padding: 0 10px;
}
.lockscreen-footer {
margin-top: 10px;
}
/*
* Page: Login & Register
* ----------------------
*/
.login-logo,
.register-logo {
font-size: 35px;
text-align: center;
margin-bottom: 25px;
font-weight: 300;
}
.login-logo a,
.register-logo a {
color: #444;
}
.login-page,
.register-page {
background: #d2d6de;
}
.login-box,
.register-box {
width: 360px;
margin: 7% auto;
}
@media (max-width: 768px) {
.login-box,
.register-box {
width: 90%;
margin-top: 20px;
}
}
.login-box-body,
.register-box-body {
background: #fff;
padding: 20px;
border-top: 0;
color: #666;
}
.login-box-body .form-control-feedback,
.register-box-body .form-control-feedback {
color: #777;
}
.login-box-msg,
.register-box-msg {
margin: 0;
text-align: center;
padding: 0 20px 20px 20px;
}
.social-auth-links {
margin: 10px 0;
}
/*
* Page: 400 and 500 error pages
* ------------------------------
*/
.error-page {
width: 600px;
margin: 20px auto 0 auto;
}
@media (max-width: 991px) {
.error-page {
width: 100%;
}
}
.error-page > .headline {
float: left;
font-size: 100px;
font-weight: 300;
}
@media (max-width: 991px) {
.error-page > .headline {
float: none;
text-align: center;
}
}
.error-page > .error-content {
margin-left: 190px;
display: block;
}
@media (max-width: 991px) {
.error-page > .error-content {
margin-left: 0;
}
}
.error-page > .error-content > h3 {
font-weight: 300;
font-size: 25px;
}
@media (max-width: 991px) {
.error-page > .error-content > h3 {
text-align: center;
}
}
/*
* Page: Invoice
* -------------
*/
.invoice {
position: relative;
background: #fff;
border: 1px solid #f4f4f4;
padding: 20px;
margin: 10px 25px;
}
.invoice-title {
margin-top: 0;
}
/*
* Page: Profile
* -------------
*/
.profile-user-img {
margin: 0 auto;
width: 100px;
padding: 3px;
border: 3px solid #d2d6de;
}
.profile-username {
font-size: 21px;
margin-top: 5px;
}
.post {
border-bottom: 1px solid #d2d6de;
margin-bottom: 15px;
padding-bottom: 15px;
color: #666;
}
.post:last-of-type {
border-bottom: 0;
margin-bottom: 0;
padding-bottom: 0;
}
.post .user-block {
margin-bottom: 15px;
}
/*
* Social Buttons for Bootstrap
*
* Copyright 2013-2015 Panayiotis Lipiridis
* Licensed under the MIT License
*
* https://github.com/lipis/bootstrap-social
*/
.btn-social {
position: relative;
padding-left: 44px;
text-align: left;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.btn-social > :first-child {
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 32px;
line-height: 34px;
font-size: 1.6em;
text-align: center;
border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.btn-social.btn-lg {
padding-left: 61px;
}
.btn-social.btn-lg > :first-child {
line-height: 45px;
width: 45px;
font-size: 1.8em;
}
.btn-social.btn-sm {
padding-left: 38px;
}
.btn-social.btn-sm > :first-child {
line-height: 28px;
width: 28px;
font-size: 1.4em;
}
.btn-social.btn-xs {
padding-left: 30px;
}
.btn-social.btn-xs > :first-child {
line-height: 20px;
width: 20px;
font-size: 1.2em;
}
.btn-social-icon {
position: relative;
padding-left: 44px;
text-align: left;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 34px;
width: 34px;
padding: 0;
}
.btn-social-icon > :first-child {
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 32px;
line-height: 34px;
font-size: 1.6em;
text-align: center;
border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.btn-social-icon.btn-lg {
padding-left: 61px;
}
.btn-social-icon.btn-lg > :first-child {
line-height: 45px;
width: 45px;
font-size: 1.8em;
}
.btn-social-icon.btn-sm {
padding-left: 38px;
}
.btn-social-icon.btn-sm > :first-child {
line-height: 28px;
width: 28px;
font-size: 1.4em;
}
.btn-social-icon.btn-xs {
padding-left: 30px;
}
.btn-social-icon.btn-xs > :first-child {
line-height: 20px;
width: 20px;
font-size: 1.2em;
}
.btn-social-icon > :first-child {
border: none;
text-align: center;
width: 100%;
}
.btn-social-icon.btn-lg {
height: 45px;
width: 45px;
padding-left: 0;
padding-right: 0;
}
.btn-social-icon.btn-sm {
height: 30px;
width: 30px;
padding-left: 0;
padding-right: 0;
}
.btn-social-icon.btn-xs {
height: 22px;
width: 22px;
padding-left: 0;
padding-right: 0;
}
.btn-adn {
color: #ffffff;
background-color: #d87a68;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-adn:focus,
.btn-adn.focus {
color: #ffffff;
background-color: #ce563f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-adn:hover {
color: #ffffff;
background-color: #ce563f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-adn:active,
.btn-adn.active,
.open > .dropdown-toggle.btn-adn {
color: #ffffff;
background-color: #ce563f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-adn:active,
.btn-adn.active,
.open > .dropdown-toggle.btn-adn {
background-image: none;
}
.btn-adn .badge {
color: #d87a68;
background-color: #ffffff;
}
.btn-bitbucket {
color: #ffffff;
background-color: #205081;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-bitbucket:focus,
.btn-bitbucket.focus {
color: #ffffff;
background-color: #163758;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-bitbucket:hover {
color: #ffffff;
background-color: #163758;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-bitbucket:active,
.btn-bitbucket.active,
.open > .dropdown-toggle.btn-bitbucket {
color: #ffffff;
background-color: #163758;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-bitbucket:active,
.btn-bitbucket.active,
.open > .dropdown-toggle.btn-bitbucket {
background-image: none;
}
.btn-bitbucket .badge {
color: #205081;
background-color: #ffffff;
}
.btn-dropbox {
color: #ffffff;
background-color: #1087dd;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-dropbox:focus,
.btn-dropbox.focus {
color: #ffffff;
background-color: #0d6aad;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-dropbox:hover {
color: #ffffff;
background-color: #0d6aad;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-dropbox:active,
.btn-dropbox.active,
.open > .dropdown-toggle.btn-dropbox {
color: #ffffff;
background-color: #0d6aad;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-dropbox:active,
.btn-dropbox.active,
.open > .dropdown-toggle.btn-dropbox {
background-image: none;
}
.btn-dropbox .badge {
color: #1087dd;
background-color: #ffffff;
}
.btn-facebook {
color: #ffffff;
background-color: #3b5998;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-facebook:focus,
.btn-facebook.focus {
color: #ffffff;
background-color: #2d4373;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-facebook:hover {
color: #ffffff;
background-color: #2d4373;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-facebook:active,
.btn-facebook.active,
.open > .dropdown-toggle.btn-facebook {
color: #ffffff;
background-color: #2d4373;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-facebook:active,
.btn-facebook.active,
.open > .dropdown-toggle.btn-facebook {
background-image: none;
}
.btn-facebook .badge {
color: #3b5998;
background-color: #ffffff;
}
.btn-flickr {
color: #ffffff;
background-color: #ff0084;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-flickr:focus,
.btn-flickr.focus {
color: #ffffff;
background-color: #cc006a;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-flickr:hover {
color: #ffffff;
background-color: #cc006a;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-flickr:active,
.btn-flickr.active,
.open > .dropdown-toggle.btn-flickr {
color: #ffffff;
background-color: #cc006a;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-flickr:active,
.btn-flickr.active,
.open > .dropdown-toggle.btn-flickr {
background-image: none;
}
.btn-flickr .badge {
color: #ff0084;
background-color: #ffffff;
}
.btn-foursquare {
color: #ffffff;
background-color: #f94877;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-foursquare:focus,
.btn-foursquare.focus {
color: #ffffff;
background-color: #f71752;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-foursquare:hover {
color: #ffffff;
background-color: #f71752;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-foursquare:active,
.btn-foursquare.active,
.open > .dropdown-toggle.btn-foursquare {
color: #ffffff;
background-color: #f71752;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-foursquare:active,
.btn-foursquare.active,
.open > .dropdown-toggle.btn-foursquare {
background-image: none;
}
.btn-foursquare .badge {
color: #f94877;
background-color: #ffffff;
}
.btn-github {
color: #ffffff;
background-color: #444444;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-github:focus,
.btn-github.focus {
color: #ffffff;
background-color: #2b2b2b;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-github:hover {
color: #ffffff;
background-color: #2b2b2b;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-github:active,
.btn-github.active,
.open > .dropdown-toggle.btn-github {
color: #ffffff;
background-color: #2b2b2b;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-github:active,
.btn-github.active,
.open > .dropdown-toggle.btn-github {
background-image: none;
}
.btn-github .badge {
color: #444444;
background-color: #ffffff;
}
.btn-google {
color: #ffffff;
background-color: #dd4b39;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-google:focus,
.btn-google.focus {
color: #ffffff;
background-color: #c23321;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-google:hover {
color: #ffffff;
background-color: #c23321;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-google:active,
.btn-google.active,
.open > .dropdown-toggle.btn-google {
color: #ffffff;
background-color: #c23321;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-google:active,
.btn-google.active,
.open > .dropdown-toggle.btn-google {
background-image: none;
}
.btn-google .badge {
color: #dd4b39;
background-color: #ffffff;
}
.btn-instagram {
color: #ffffff;
background-color: #3f729b;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-instagram:focus,
.btn-instagram.focus {
color: #ffffff;
background-color: #305777;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-instagram:hover {
color: #ffffff;
background-color: #305777;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-instagram:active,
.btn-instagram.active,
.open > .dropdown-toggle.btn-instagram {
color: #ffffff;
background-color: #305777;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-instagram:active,
.btn-instagram.active,
.open > .dropdown-toggle.btn-instagram {
background-image: none;
}
.btn-instagram .badge {
color: #3f729b;
background-color: #ffffff;
}
.btn-linkedin {
color: #ffffff;
background-color: #007bb6;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-linkedin:focus,
.btn-linkedin.focus {
color: #ffffff;
background-color: #005983;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-linkedin:hover {
color: #ffffff;
background-color: #005983;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-linkedin:active,
.btn-linkedin.active,
.open > .dropdown-toggle.btn-linkedin {
color: #ffffff;
background-color: #005983;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-linkedin:active,
.btn-linkedin.active,
.open > .dropdown-toggle.btn-linkedin {
background-image: none;
}
.btn-linkedin .badge {
color: #007bb6;
background-color: #ffffff;
}
.btn-microsoft {
color: #ffffff;
background-color: #2672ec;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-microsoft:focus,
.btn-microsoft.focus {
color: #ffffff;
background-color: #125acd;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-microsoft:hover {
color: #ffffff;
background-color: #125acd;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-microsoft:active,
.btn-microsoft.active,
.open > .dropdown-toggle.btn-microsoft {
color: #ffffff;
background-color: #125acd;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-microsoft:active,
.btn-microsoft.active,
.open > .dropdown-toggle.btn-microsoft {
background-image: none;
}
.btn-microsoft .badge {
color: #2672ec;
background-color: #ffffff;
}
.btn-openid {
color: #ffffff;
background-color: #f7931e;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-openid:focus,
.btn-openid.focus {
color: #ffffff;
background-color: #da7908;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-openid:hover {
color: #ffffff;
background-color: #da7908;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-openid:active,
.btn-openid.active,
.open > .dropdown-toggle.btn-openid {
color: #ffffff;
background-color: #da7908;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-openid:active,
.btn-openid.active,
.open > .dropdown-toggle.btn-openid {
background-image: none;
}
.btn-openid .badge {
color: #f7931e;
background-color: #ffffff;
}
.btn-pinterest {
color: #ffffff;
background-color: #cb2027;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-pinterest:focus,
.btn-pinterest.focus {
color: #ffffff;
background-color: #9f191f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-pinterest:hover {
color: #ffffff;
background-color: #9f191f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-pinterest:active,
.btn-pinterest.active,
.open > .dropdown-toggle.btn-pinterest {
color: #ffffff;
background-color: #9f191f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-pinterest:active,
.btn-pinterest.active,
.open > .dropdown-toggle.btn-pinterest {
background-image: none;
}
.btn-pinterest .badge {
color: #cb2027;
background-color: #ffffff;
}
.btn-reddit {
color: #000000;
background-color: #eff7ff;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-reddit:focus,
.btn-reddit.focus {
color: #000000;
background-color: #bcddff;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-reddit:hover {
color: #000000;
background-color: #bcddff;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-reddit:active,
.btn-reddit.active,
.open > .dropdown-toggle.btn-reddit {
color: #000000;
background-color: #bcddff;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-reddit:active,
.btn-reddit.active,
.open > .dropdown-toggle.btn-reddit {
background-image: none;
}
.btn-reddit .badge {
color: #eff7ff;
background-color: #000000;
}
.btn-soundcloud {
color: #ffffff;
background-color: #ff5500;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-soundcloud:focus,
.btn-soundcloud.focus {
color: #ffffff;
background-color: #cc4400;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-soundcloud:hover {
color: #ffffff;
background-color: #cc4400;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-soundcloud:active,
.btn-soundcloud.active,
.open > .dropdown-toggle.btn-soundcloud {
color: #ffffff;
background-color: #cc4400;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-soundcloud:active,
.btn-soundcloud.active,
.open > .dropdown-toggle.btn-soundcloud {
background-image: none;
}
.btn-soundcloud .badge {
color: #ff5500;
background-color: #ffffff;
}
.btn-tumblr {
color: #ffffff;
background-color: #2c4762;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-tumblr:focus,
.btn-tumblr.focus {
color: #ffffff;
background-color: #1c2d3f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-tumblr:hover {
color: #ffffff;
background-color: #1c2d3f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-tumblr:active,
.btn-tumblr.active,
.open > .dropdown-toggle.btn-tumblr {
color: #ffffff;
background-color: #1c2d3f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-tumblr:active,
.btn-tumblr.active,
.open > .dropdown-toggle.btn-tumblr {
background-image: none;
}
.btn-tumblr .badge {
color: #2c4762;
background-color: #ffffff;
}
.btn-twitter {
color: #ffffff;
background-color: #55acee;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-twitter:focus,
.btn-twitter.focus {
color: #ffffff;
background-color: #2795e9;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-twitter:hover {
color: #ffffff;
background-color: #2795e9;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-twitter:active,
.btn-twitter.active,
.open > .dropdown-toggle.btn-twitter {
color: #ffffff;
background-color: #2795e9;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-twitter:active,
.btn-twitter.active,
.open > .dropdown-toggle.btn-twitter {
background-image: none;
}
.btn-twitter .badge {
color: #55acee;
background-color: #ffffff;
}
.btn-vimeo {
color: #ffffff;
background-color: #1ab7ea;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vimeo:focus,
.btn-vimeo.focus {
color: #ffffff;
background-color: #1295bf;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vimeo:hover {
color: #ffffff;
background-color: #1295bf;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vimeo:active,
.btn-vimeo.active,
.open > .dropdown-toggle.btn-vimeo {
color: #ffffff;
background-color: #1295bf;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vimeo:active,
.btn-vimeo.active,
.open > .dropdown-toggle.btn-vimeo {
background-image: none;
}
.btn-vimeo .badge {
color: #1ab7ea;
background-color: #ffffff;
}
.btn-vk {
color: #ffffff;
background-color: #587ea3;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vk:focus,
.btn-vk.focus {
color: #ffffff;
background-color: #466482;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vk:hover {
color: #ffffff;
background-color: #466482;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vk:active,
.btn-vk.active,
.open > .dropdown-toggle.btn-vk {
color: #ffffff;
background-color: #466482;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-vk:active,
.btn-vk.active,
.open > .dropdown-toggle.btn-vk {
background-image: none;
}
.btn-vk .badge {
color: #587ea3;
background-color: #ffffff;
}
.btn-yahoo {
color: #ffffff;
background-color: #720e9e;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-yahoo:focus,
.btn-yahoo.focus {
color: #ffffff;
background-color: #500a6f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-yahoo:hover {
color: #ffffff;
background-color: #500a6f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-yahoo:active,
.btn-yahoo.active,
.open > .dropdown-toggle.btn-yahoo {
color: #ffffff;
background-color: #500a6f;
border-color: rgba(0, 0, 0, 0.2);
}
.btn-yahoo:active,
.btn-yahoo.active,
.open > .dropdown-toggle.btn-yahoo {
background-image: none;
}
.btn-yahoo .badge {
color: #720e9e;
background-color: #ffffff;
}
/*
* Plugin: Full Calendar
* ---------------------
*/
.fc-button {
background: #f4f4f4;
background-image: none;
color: #444;
border-color: #ddd;
border-bottom-color: #ddd;
}
.fc-button:hover,
.fc-button:active,
.fc-button.hover {
background-color: #e9e9e9;
}
.fc-header-title h2 {
font-size: 15px;
line-height: 1.6em;
color: #666;
margin-left: 10px;
}
.fc-header-right {
padding-right: 10px;
}
.fc-header-left {
padding-left: 10px;
}
.fc-widget-header {
background: #fafafa;
}
.fc-grid {
width: 100%;
border: 0;
}
.fc-widget-header:first-of-type,
.fc-widget-content:first-of-type {
border-left: 0;
border-right: 0;
}
.fc-widget-header:last-of-type,
.fc-widget-content:last-of-type {
border-right: 0;
}
.fc-toolbar {
padding: 10px;
margin: 0;
}
.fc-day-number {
font-size: 20px;
font-weight: 300;
padding-right: 10px;
}
.fc-color-picker {
list-style: none;
margin: 0;
padding: 0;
}
.fc-color-picker > li {
float: left;
font-size: 30px;
margin-right: 5px;
line-height: 30px;
}
.fc-color-picker > li .fa {
-webkit-transition: -webkit-transform linear 0.3s;
-moz-transition: -moz-transform linear 0.3s;
-o-transition: -o-transform linear 0.3s;
transition: transform linear 0.3s;
}
.fc-color-picker > li .fa:hover {
-webkit-transform: rotate(30deg);
-ms-transform: rotate(30deg);
-o-transform: rotate(30deg);
transform: rotate(30deg);
}
#add-new-event {
-webkit-transition: all linear 0.3s;
-o-transition: all linear 0.3s;
transition: all linear 0.3s;
}
.external-event {
padding: 5px 10px;
font-weight: bold;
margin-bottom: 4px;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
border-radius: 3px;
cursor: move;
}
.external-event:hover {
box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.2);
}
/*
* Plugin: Select2
* ---------------
*/
.select2-container--default.select2-container--focus,
.select2-selection.select2-container--focus,
.select2-container--default:focus,
.select2-selection:focus,
.select2-container--default:active,
.select2-selection:active {
outline: none;
}
.select2-container--default .select2-selection--single,
.select2-selection .select2-selection--single {
border: 1px solid #d2d6de;
border-radius: 0;
padding: 6px 12px;
height: 34px;
}
.select2-container--default.select2-container--open {
border-color: #3c8dbc;
}
.select2-dropdown {
border: 1px solid #d2d6de;
border-radius: 0;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
background-color: #3c8dbc;
color: white;
}
.select2-results__option {
padding: 6px 12px;
user-select: none;
-webkit-user-select: none;
}
.select2-container .select2-selection--single .select2-selection__rendered {
padding-left: 0;
padding-right: 0;
height: auto;
margin-top: -4px;
}
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
padding-right: 6px;
padding-left: 20px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 28px;
right: 3px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
margin-top: 0;
}
.select2-dropdown .select2-search__field,
.select2-search--inline .select2-search__field {
border: 1px solid #d2d6de;
}
.select2-dropdown .select2-search__field:focus,
.select2-search--inline .select2-search__field:focus {
outline: none;
border: 1px solid #3c8dbc;
}
.select2-container--default .select2-results__option[aria-disabled=true] {
color: #999;
}
.select2-container--default .select2-results__option[aria-selected=true] {
background-color: #ddd;
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[aria-selected=true]:hover {
color: #444;
}
.select2-container--default .select2-selection--multiple {
border: 1px solid #d2d6de;
border-radius: 0;
}
.select2-container--default .select2-selection--multiple:focus {
border-color: #3c8dbc;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border-color: #d2d6de;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #3c8dbc;
border-color: #367fa9;
padding: 1px 10px;
color: #fff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
margin-right: 5px;
color: rgba(255, 255, 255, 0.7);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #fff;
}
.select2-container .select2-selection--single .select2-selection__rendered {
padding-right: 10px;
}
/*
* General: Miscellaneous
* ----------------------
*/
.pad {
padding: 10px;
}
.margin {
margin: 10px;
}
.margin-bottom {
margin-bottom: 20px;
}
.margin-bottom-none {
margin-bottom: 0;
}
.margin-r-5 {
margin-right: 5px;
}
.inline {
display: inline;
}
.description-block {
display: block;
margin: 10px 0;
text-align: center;
}
.description-block.margin-bottom {
margin-bottom: 25px;
}
.description-block > .description-header {
margin: 0;
padding: 0;
font-weight: 600;
font-size: 16px;
}
.description-block > .description-text {
text-transform: uppercase;
}
.bg-red,
.bg-yellow,
.bg-aqua,
.bg-blue,
.bg-light-blue,
.bg-green,
.bg-navy,
.bg-teal,
.bg-olive,
.bg-lime,
.bg-orange,
.bg-fuchsia,
.bg-purple,
.bg-maroon,
.bg-black,
.bg-red-active,
.bg-yellow-active,
.bg-aqua-active,
.bg-blue-active,
.bg-light-blue-active,
.bg-green-active,
.bg-navy-active,
.bg-teal-active,
.bg-olive-active,
.bg-lime-active,
.bg-orange-active,
.bg-fuchsia-active,
.bg-purple-active,
.bg-maroon-active,
.bg-black-active,
.callout.callout-danger,
.callout.callout-warning,
.callout.callout-info,
.callout.callout-success,
.alert-success,
.alert-danger,
.alert-error,
.alert-warning,
.alert-info,
.label-danger,
.label-info,
.label-warning,
.label-primary,
.label-success,
.modal-primary .modal-body,
.modal-primary .modal-header,
.modal-primary .modal-footer,
.modal-warning .modal-body,
.modal-warning .modal-header,
.modal-warning .modal-footer,
.modal-info .modal-body,
.modal-info .modal-header,
.modal-info .modal-footer,
.modal-success .modal-body,
.modal-success .modal-header,
.modal-success .modal-footer,
.modal-danger .modal-body,
.modal-danger .modal-header,
.modal-danger .modal-footer {
color: #fff !important;
}
.bg-gray {
color: #000;
background-color: #d2d6de !important;
}
.bg-gray-light {
background-color: #f7f7f7;
}
.bg-black {
background-color: #111111 !important;
}
.bg-red,
.callout.callout-danger,
.alert-danger,
.alert-error,
.label-danger,
.modal-danger .modal-body {
background-color: #dd4b39 !important;
}
.bg-yellow,
.callout.callout-warning,
.alert-warning,
.label-warning,
.modal-warning .modal-body {
background-color: #f39c12 !important;
}
.bg-aqua,
.callout.callout-info,
.alert-info,
.label-info,
.modal-info .modal-body {
background-color: #00c0ef !important;
}
.bg-blue {
background-color: #0073b7 !important;
}
.bg-light-blue,
.label-primary,
.modal-primary .modal-body {
background-color: #3c8dbc !important;
}
.bg-green,
.callout.callout-success,
.alert-success,
.label-success,
.modal-success .modal-body {
background-color: #00a65a !important;
}
.bg-navy {
background-color: #001f3f !important;
}
.bg-teal {
background-color: #39cccc !important;
}
.bg-olive {
background-color: #3d9970 !important;
}
.bg-lime {
background-color: #01ff70 !important;
}
.bg-orange {
background-color: #ff851b !important;
}
.bg-fuchsia {
background-color: #f012be !important;
}
.bg-purple {
background-color: #605ca8 !important;
}
.bg-maroon {
background-color: #d81b60 !important;
}
.bg-gray-active {
color: #000;
background-color: #b5bbc8 !important;
}
.bg-black-active {
background-color: #000000 !important;
}
.bg-red-active,
.modal-danger .modal-header,
.modal-danger .modal-footer {
background-color: #d33724 !important;
}
.bg-yellow-active,
.modal-warning .modal-header,
.modal-warning .modal-footer {
background-color: #db8b0b !important;
}
.bg-aqua-active,
.modal-info .modal-header,
.modal-info .modal-footer {
background-color: #00a7d0 !important;
}
.bg-blue-active {
background-color: #005384 !important;
}
.bg-light-blue-active,
.modal-primary .modal-header,
.modal-primary .modal-footer {
background-color: #357ca5 !important;
}
.bg-green-active,
.modal-success .modal-header,
.modal-success .modal-footer {
background-color: #008d4c !important;
}
.bg-navy-active {
background-color: #001a35 !important;
}
.bg-teal-active {
background-color: #30bbbb !important;
}
.bg-olive-active {
background-color: #368763 !important;
}
.bg-lime-active {
background-color: #00e765 !important;
}
.bg-orange-active {
background-color: #ff7701 !important;
}
.bg-fuchsia-active {
background-color: #db0ead !important;
}
.bg-purple-active {
background-color: #555299 !important;
}
.bg-maroon-active {
background-color: #ca195a !important;
}
[class^="bg-"].disabled {
opacity: 0.65;
filter: alpha(opacity=65);
}
.text-red {
color: #dd4b39 !important;
}
.text-yellow {
color: #f39c12 !important;
}
.text-aqua {
color: #00c0ef !important;
}
.text-blue {
color: #0073b7 !important;
}
.text-black {
color: #111111 !important;
}
.text-light-blue {
color: #3c8dbc !important;
}
.text-green {
color: #00a65a !important;
}
.text-gray {
color: #d2d6de !important;
}
.text-navy {
color: #001f3f !important;
}
.text-teal {
color: #39cccc !important;
}
.text-olive {
color: #3d9970 !important;
}
.text-lime {
color: #01ff70 !important;
}
.text-orange {
color: #ff851b !important;
}
.text-fuchsia {
color: #f012be !important;
}
.text-purple {
color: #605ca8 !important;
}
.text-maroon {
color: #d81b60 !important;
}
.link-muted {
color: #7a869d;
}
.link-muted:hover,
.link-muted:focus {
color: #606c84;
}
.link-black {
color: #666;
}
.link-black:hover,
.link-black:focus {
color: #999;
}
.hide {
display: none !important;
}
.no-border {
border: 0 !important;
}
.no-padding {
padding: 0 !important;
}
.no-margin {
margin: 0 !important;
}
.no-shadow {
box-shadow: none !important;
}
.list-unstyled,
.chart-legend,
.contacts-list,
.users-list,
.mailbox-attachments {
list-style: none;
margin: 0;
padding: 0;
}
.list-group-unbordered > .list-group-item {
border-left: 0;
border-right: 0;
border-radius: 0;
padding-left: 0;
padding-right: 0;
}
.flat {
border-radius: 0 !important;
}
.text-bold,
.text-bold.table td,
.text-bold.table th {
font-weight: 700;
}
.text-sm {
font-size: 12px;
}
.jqstooltip {
padding: 5px !important;
width: auto !important;
height: auto !important;
}
.bg-teal-gradient {
background: #39cccc !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #39cccc), color-stop(1, #7adddd)) !important;
background: -ms-linear-gradient(bottom, #39cccc, #7adddd) !important;
background: -moz-linear-gradient(center bottom, #39cccc 0%, #7adddd 100%) !important;
background: -o-linear-gradient(#7adddd, #39cccc) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7adddd', endColorstr='#39cccc', GradientType=0) !important;
color: #fff;
}
.bg-light-blue-gradient {
background: #3c8dbc !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #3c8dbc), color-stop(1, #67a8ce)) !important;
background: -ms-linear-gradient(bottom, #3c8dbc, #67a8ce) !important;
background: -moz-linear-gradient(center bottom, #3c8dbc 0%, #67a8ce 100%) !important;
background: -o-linear-gradient(#67a8ce, #3c8dbc) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#67a8ce', endColorstr='#3c8dbc', GradientType=0) !important;
color: #fff;
}
.bg-blue-gradient {
background: #0073b7 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #0073b7), color-stop(1, #0089db)) !important;
background: -ms-linear-gradient(bottom, #0073b7, #0089db) !important;
background: -moz-linear-gradient(center bottom, #0073b7 0%, #0089db 100%) !important;
background: -o-linear-gradient(#0089db, #0073b7) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0089db', endColorstr='#0073b7', GradientType=0) !important;
color: #fff;
}
.bg-aqua-gradient {
background: #00c0ef !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00c0ef), color-stop(1, #14d1ff)) !important;
background: -ms-linear-gradient(bottom, #00c0ef, #14d1ff) !important;
background: -moz-linear-gradient(center bottom, #00c0ef 0%, #14d1ff 100%) !important;
background: -o-linear-gradient(#14d1ff, #00c0ef) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#14d1ff', endColorstr='#00c0ef', GradientType=0) !important;
color: #fff;
}
.bg-yellow-gradient {
background: #f39c12 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #f39c12), color-stop(1, #f7bc60)) !important;
background: -ms-linear-gradient(bottom, #f39c12, #f7bc60) !important;
background: -moz-linear-gradient(center bottom, #f39c12 0%, #f7bc60 100%) !important;
background: -o-linear-gradient(#f7bc60, #f39c12) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7bc60', endColorstr='#f39c12', GradientType=0) !important;
color: #fff;
}
.bg-purple-gradient {
background: #605ca8 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #605ca8), color-stop(1, #9491c4)) !important;
background: -ms-linear-gradient(bottom, #605ca8, #9491c4) !important;
background: -moz-linear-gradient(center bottom, #605ca8 0%, #9491c4 100%) !important;
background: -o-linear-gradient(#9491c4, #605ca8) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9491c4', endColorstr='#605ca8', GradientType=0) !important;
color: #fff;
}
.bg-green-gradient {
background: #00a65a !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00a65a), color-stop(1, #00ca6d)) !important;
background: -ms-linear-gradient(bottom, #00a65a, #00ca6d) !important;
background: -moz-linear-gradient(center bottom, #00a65a 0%, #00ca6d 100%) !important;
background: -o-linear-gradient(#00ca6d, #00a65a) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ca6d', endColorstr='#00a65a', GradientType=0) !important;
color: #fff;
}
.bg-red-gradient {
background: #dd4b39 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dd4b39), color-stop(1, #e47365)) !important;
background: -ms-linear-gradient(bottom, #dd4b39, #e47365) !important;
background: -moz-linear-gradient(center bottom, #dd4b39 0%, #e47365 100%) !important;
background: -o-linear-gradient(#e47365, #dd4b39) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e47365', endColorstr='#dd4b39', GradientType=0) !important;
color: #fff;
}
.bg-black-gradient {
background: #111111 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #111111), color-stop(1, #2b2b2b)) !important;
background: -ms-linear-gradient(bottom, #111111, #2b2b2b) !important;
background: -moz-linear-gradient(center bottom, #111111 0%, #2b2b2b 100%) !important;
background: -o-linear-gradient(#2b2b2b, #111111) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b2b2b', endColorstr='#111111', GradientType=0) !important;
color: #fff;
}
.bg-maroon-gradient {
background: #d81b60 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #d81b60), color-stop(1, #e73f7c)) !important;
background: -ms-linear-gradient(bottom, #d81b60, #e73f7c) !important;
background: -moz-linear-gradient(center bottom, #d81b60 0%, #e73f7c 100%) !important;
background: -o-linear-gradient(#e73f7c, #d81b60) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e73f7c', endColorstr='#d81b60', GradientType=0) !important;
color: #fff;
}
.description-block .description-icon {
font-size: 16px;
}
.no-pad-top {
padding-top: 0;
}
.position-static {
position: static !important;
}
.list-header {
font-size: 15px;
padding: 10px 4px;
font-weight: bold;
color: #666;
}
.list-seperator {
height: 1px;
background: #f4f4f4;
margin: 15px 0 9px 0;
}
.list-link > a {
padding: 4px;
color: #777;
}
.list-link > a:hover {
color: #222;
}
.font-light {
font-weight: 300;
}
.user-block:before,
.user-block:after {
content: " ";
display: table;
}
.user-block:after {
clear: both;
}
.user-block img {
width: 40px;
height: 40px;
float: left;
}
.user-block .username,
.user-block .description,
.user-block .comment {
display: block;
margin-left: 50px;
}
.user-block .username {
font-size: 16px;
font-weight: 600;
}
.user-block .description {
color: #999;
font-size: 13px;
}
.user-block.user-block-sm .username,
.user-block.user-block-sm .description,
.user-block.user-block-sm .comment {
margin-left: 40px;
}
.user-block.user-block-sm .username {
font-size: 14px;
}
.img-sm,
.img-md,
.img-lg,
.box-comments .box-comment img,
.user-block.user-block-sm img {
float: left;
}
.img-sm,
.box-comments .box-comment img,
.user-block.user-block-sm img {
width: 30px !important;
height: 30px !important;
}
.img-sm + .img-push {
margin-left: 40px;
}
.img-md {
width: 60px;
height: 60px;
}
.img-md + .img-push {
margin-left: 70px;
}
.img-lg {
width: 100px;
height: 100px;
}
.img-lg + .img-push {
margin-left: 110px;
}
.img-bordered {
border: 3px solid #d2d6de;
padding: 3px;
}
.img-bordered-sm {
border: 2px solid #d2d6de;
padding: 2px;
}
.attachment-block {
border: 1px solid #f4f4f4;
padding: 5px;
margin-bottom: 10px;
background: #f7f7f7;
}
.attachment-block .attachment-img {
max-width: 100px;
max-height: 100px;
height: auto;
float: left;
}
.attachment-block .attachment-pushed {
margin-left: 110px;
}
.attachment-block .attachment-heading {
margin: 0;
}
.attachment-block .attachment-text {
color: #555;
}
.connectedSortable {
min-height: 100px;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.sort-highlight {
background: #f4f4f4;
border: 1px dashed #ddd;
margin-bottom: 10px;
}
.full-opacity-hover {
opacity: 0.65;
filter: alpha(opacity=65);
}
.full-opacity-hover:hover {
opacity: 1;
filter: alpha(opacity=100);
}
.chart {
position: relative;
overflow: hidden;
width: 100%;
}
.chart svg,
.chart canvas {
width: 100% !important;
}
/*
* Misc: print
* -----------
*/
@media print {
.no-print,
.main-sidebar,
.left-side,
.main-header,
.content-header {
display: none !important;
}
.content-wrapper,
.right-side,
.main-footer {
margin-left: 0 !important;
min-height: 0 !important;
-webkit-transform: translate(0, 0) !important;
-ms-transform: translate(0, 0) !important;
-o-transform: translate(0, 0) !important;
transform: translate(0, 0) !important;
}
.fixed .content-wrapper,
.fixed .right-side {
padding-top: 0 !important;
}
.invoice {
width: 100%;
border: 0;
margin: 0;
padding: 0;
}
.invoice-col {
float: left;
width: 33.3333333%;
}
.table-responsive {
overflow: auto;
}
.table-responsive > .table tr th,
.table-responsive > .table tr td {
white-space: normal !important;
}
}
shinydashboard/inst/AdminLTE/LICENSE.txt 0000644 0001762 0000144 00000002072 15001455546 017457 0 ustar ligges users The MIT License (MIT)
Copyright (c) 2014-2023 ColorlibHQ
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
shinydashboard/inst/AdminLTE/app.min.js 0000644 0001762 0000144 00000022632 15001455546 017540 0 ustar ligges users function _init(){"use strict";$.AdminLTE.layout={activate:function(){var a=this;a.fix(),a.fixSidebar(),$("body, html, .wrapper").css("height","auto"),$(window,".wrapper").resize(function(){a.fix(),a.fixSidebar()})},fix:function(){$(".layout-boxed > .wrapper").css("overflow","hidden");var a=$(".main-footer").outerHeight()||0,b=$(".main-header").outerHeight()+a,c=$(window).height(),d=$(".sidebar").height()||0;if($("body").hasClass("fixed"))$(".content-wrapper, .right-side").css("min-height",c-a);else{var e;c>=d?($(".content-wrapper, .right-side").css("min-height",c-b),e=c-b):($(".content-wrapper, .right-side").css("min-height",d),e=d);var f=$($.AdminLTE.options.controlSidebarOptions.selector);void 0!==f&&f.height()>e&&$(".content-wrapper, .right-side").css("min-height",f.height())}},fixSidebar:function(){if(!$("body").hasClass("fixed"))return void(void 0!==$.fn.slimScroll&&$(".sidebar").slimScroll({destroy:!0}).height("auto"));void 0===$.fn.slimScroll&&window.console&&window.console.error("Error: the fixed layout requires the slimscroll plugin!"),$.AdminLTE.options.sidebarSlimScroll&&void 0!==$.fn.slimScroll&&($(".sidebar").slimScroll({destroy:!0}).height("auto"),$(".sidebar").slimScroll({height:$(window).height()-$(".main-header").height()+"px",color:"rgba(0,0,0,0.2)",size:"3px"}))}},$.AdminLTE.pushMenu={activate:function(a){var b=$.AdminLTE.options.screenSizes;$(document).on("click",a,function(a){a.preventDefault(),$(window).width()>b.sm-1?$("body").hasClass("sidebar-collapse")?$("body").removeClass("sidebar-collapse").trigger("expanded.pushMenu"):$("body").addClass("sidebar-collapse").trigger("collapsed.pushMenu"):$("body").hasClass("sidebar-open")?$("body").removeClass("sidebar-open").removeClass("sidebar-collapse").trigger("collapsed.pushMenu"):$("body").addClass("sidebar-open").trigger("expanded.pushMenu")}),$(".content-wrapper").click(function(){$(window).width()<=b.sm-1&&$("body").hasClass("sidebar-open")&&$("body").removeClass("sidebar-open")}),($.AdminLTE.options.sidebarExpandOnHover||$("body").hasClass("fixed")&&$("body").hasClass("sidebar-mini"))&&this.expandOnHover()},expandOnHover:function(){var a=this,b=$.AdminLTE.options.screenSizes.sm-1;$(".main-sidebar").hover(function(){$("body").hasClass("sidebar-mini")&&$("body").hasClass("sidebar-collapse")&&$(window).width()>b&&a.expand()},function(){$("body").hasClass("sidebar-mini")&&$("body").hasClass("sidebar-expanded-on-hover")&&$(window).width()>b&&a.collapse()})},expand:function(){$("body").removeClass("sidebar-collapse").addClass("sidebar-expanded-on-hover")},collapse:function(){$("body").hasClass("sidebar-expanded-on-hover")&&$("body").removeClass("sidebar-expanded-on-hover").addClass("sidebar-collapse")}},$.AdminLTE.tree=function(a){var b=this,c=$.AdminLTE.options.animationSpeed;$(document).off("click",a+" li a").on("click",a+" li a",function(a){var d=$(this),e=d.next();if(e.is(".treeview-menu")&&e.is(":visible")&&!$("body").hasClass("sidebar-collapse"))e.slideUp(c,function(){e.removeClass("menu-open")}),e.parent("li").removeClass("active");else if(e.is(".treeview-menu")&&!e.is(":visible")){var f=d.parents("ul").first(),g=f.find("ul:visible").slideUp(c);g.removeClass("menu-open");var h=d.parent("li"),i=e.find(".shiny-bound-output");0!==i.length&&0===i.first().html().length&&i.first().html("
"),e.slideDown(c,function(){e.addClass("menu-open"),f.find("li.active").removeClass("active"),h.addClass("active"),b.layout.fix()})}e.is(".treeview-menu")&&a.preventDefault()})},$.AdminLTE.controlSidebar={activate:function(){var a=this,b=$.AdminLTE.options.controlSidebarOptions,c=$(b.selector);$(b.toggleBtnSelector).on("click",function(d){d.preventDefault(),c.hasClass("control-sidebar-open")||$("body").hasClass("control-sidebar-open")?a.close(c,b.slide):a.open(c,b.slide)});var d=$(".control-sidebar-bg");a._fix(d),$("body").hasClass("fixed")?a._fixForFixed(c):$(".content-wrapper, .right-side").height() .box-body, > .box-footer, > form >.box-body, > form > .box-footer");c.hasClass("collapsed-box")?(a.children(":first").removeClass(b.icons.open).addClass(b.icons.collapse),c.trigger("shown.bs.collapse"),d.slideDown(b.animationSpeed,function(){c.removeClass("collapsed-box")})):(a.children(":first").removeClass(b.icons.collapse).addClass(b.icons.open),d.slideUp(b.animationSpeed,function(){c.addClass("collapsed-box"),c.trigger("hidden.bs.collapse")}))},remove:function(a){a.parents(".box").first().slideUp(this.animationSpeed)}}}if("undefined"==typeof jQuery)throw new Error("AdminLTE requires jQuery");$.AdminLTE={},$.AdminLTE.options={navbarMenuSlimscroll:!0,navbarMenuSlimscrollWidth:"3px",navbarMenuHeight:"200px",animationSpeed:500,sidebarToggleSelector:"[data-toggle='offcanvas']",sidebarPushMenu:!0,sidebarSlimScroll:!0,sidebarExpandOnHover:!1,enableBoxRefresh:!0,enableBSToppltip:!0,BSTooltipSelector:"[data-toggle='tooltip']",enableFastclick:!1,enableControlTreeView:!0,enableControlSidebar:!0,controlSidebarOptions:{toggleBtnSelector:"[data-toggle='control-sidebar']",selector:".control-sidebar",slide:!0},enableBoxWidget:!0,boxWidgetOptions:{boxWidgetIcons:{collapse:"fa-minus",open:"fa-plus",remove:"fa-times"},boxWidgetSelectors:{remove:'[data-widget="remove"]',collapse:'[data-widget="collapse"]'}},directChat:{enable:!0,contactToggleSelector:'[data-widget="chat-pane-toggle"]'},colors:{lightBlue:"#3c8dbc",red:"#f56954",green:"#00a65a",aqua:"#00c0ef",yellow:"#f39c12",blue:"#0073b7",navy:"#001F3F",teal:"#39CCCC",olive:"#3D9970",lime:"#01FF70",orange:"#FF851B",fuchsia:"#F012BE",purple:"#8E24AA",maroon:"#D81B60",black:"#222222",gray:"#d2d6de"},screenSizes:{xs:480,sm:768,md:992,lg:1200}},$(function(){"use strict";$("body").removeClass("hold-transition"),"undefined"!=typeof AdminLTEOptions&&$.extend(!0,$.AdminLTE.options,AdminLTEOptions);var a=$.AdminLTE.options;_init(),$.AdminLTE.layout.activate(),a.enableControlTreeView&&$.AdminLTE.tree(".sidebar"),a.enableControlSidebar&&$.AdminLTE.controlSidebar.activate(),a.navbarMenuSlimscroll&&void 0!==$.fn.slimscroll&&$(".navbar .menu").slimscroll({height:a.navbarMenuHeight,alwaysVisible:!1,size:a.navbarMenuSlimscrollWidth}).css("width","100%"),a.sidebarPushMenu&&$.AdminLTE.pushMenu.activate(a.sidebarToggleSelector),a.enableBSToppltip&&$("body").tooltip({selector:a.BSTooltipSelector,container:"body"}),a.enableBoxWidget&&$.AdminLTE.boxWidget.activate(),a.enableFastclick&&"undefined"!=typeof FastClick&&FastClick.attach(document.body),a.directChat.enable&&$(document).on("click",a.directChat.contactToggleSelector,function(){$(this).parents(".direct-chat").first().toggleClass("direct-chat-contacts-open")}),$('.btn-group[data-toggle="btn-toggle"]').each(function(){var a=$(this);$(this).find(".btn").on("click",function(b){a.find(".btn.active").removeClass("active"),$(this).addClass("active"),b.preventDefault()})})}),function(a){"use strict";a.fn.boxRefresh=function(b){function c(a){a.append(f),e.onLoadStart.call(a)}function d(a){a.find(f).remove(),e.onLoadDone.call(a)}var e=a.extend({trigger:".refresh-btn",source:"",onLoadStart:function(a){return a},onLoadDone:function(a){return a}},b),f=a('');return this.each(function(){if(""===e.source)return void(window.console&&window.console.log("Please specify a source first - boxRefresh()"));var b=a(this);b.find(e.trigger).first().on("click",function(a){a.preventDefault(),c(b),b.find(".box-body").load(e.source,function(){d(b)})})})}}(jQuery),function(a){"use strict";a.fn.activateBox=function(){a.AdminLTE.boxWidget.activate(this)},a.fn.toggleBox=function(){var b=a(a.AdminLTE.boxWidget.selectors.collapse,this);a.AdminLTE.boxWidget.collapse(b)},a.fn.removeBox=function(){var b=a(a.AdminLTE.boxWidget.selectors.remove,this);a.AdminLTE.boxWidget.remove(b)}}(jQuery),function(a){"use strict";a.fn.todolist=function(b){var c=a.extend({onCheck:function(a){return a},onUncheck:function(a){return a}},b);return this.each(function(){void 0!==a.fn.iCheck?(a("input",this).on("ifChecked",function(){var b=a(this).parents("li").first();b.toggleClass("done"),c.onCheck.call(b)}),a("input",this).on("ifUnchecked",function(){var b=a(this).parents("li").first();b.toggleClass("done"),c.onUncheck.call(b)})):a("input",this).on("change",function(){var b=a(this).parents("li").first();b.toggleClass("done"),a("input",b).is(":checked")?c.onCheck.call(b):c.onUncheck.call(b)})})}}(jQuery);
//# sourceMappingURL=app.min.js.map shinydashboard/inst/AdminLTE/app.min.js.map 0000644 0001762 0000144 00000023061 15001455546 020311 0 ustar ligges users {"version":3,"sources":["../../srcjs/AdminLTE/app.js"],"names":["_init","$","AdminLTE","layout","activate","_this","this","fix","fixSidebar","css","window","resize","footer_height","outerHeight","neg","window_height","height","sidebar_height","hasClass","postSetWidth","controlSidebar","options","controlSidebarOptions","selector","fn","slimScroll","destroy","console","error","sidebarSlimScroll","color","size","pushMenu","toggleBtn","screenSizes","document","on","e","preventDefault","width","sm","removeClass","trigger","addClass","click","sidebarExpandOnHover","expandOnHover","screenWidth","hover","expand","collapse","tree","menu","animationSpeed","off","$this","checkElement","next","is","slideUp","parent","parents","first","ul","find","parent_li","shinyOutput","length","html","slideDown","o","sidebar","toggleBtnSelector","close","slide","open","bg","_fix","_fixForFixed","_fixForContent","hasBindedResize","position","max-height","overflow","padding-bottom","boxWidget","selectors","boxWidgetOptions","boxWidgetSelectors","icons","boxWidgetIcons","_box","remove","element","box","box_content","children","jQuery","Error","navbarMenuSlimscroll","navbarMenuSlimscrollWidth","navbarMenuHeight","sidebarToggleSelector","sidebarPushMenu","enableBoxRefresh","enableBSToppltip","BSTooltipSelector","enableFastclick","enableControlTreeView","enableControlSidebar","enableBoxWidget","directChat","enable","contactToggleSelector","colors","lightBlue","red","green","aqua","yellow","blue","navy","teal","olive","lime","orange","fuchsia","purple","maroon","black","gray","xs","md","lg","AdminLTEOptions","extend","slimscroll","alwaysVisible","tooltip","container","FastClick","attach","body","toggleClass","each","group","boxRefresh","start","append","overlay","settings","onLoadStart","call","done","onLoadDone","source","log","load","activateBox","toggleBox","button","removeBox","todolist","onCheck","ele","onUncheck","iCheck"],"mappings":"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","file":"app.min.js"} shinydashboard/inst/AdminLTE/app.js.map 0000644 0001762 0000144 00000177275 15001455546 017550 0 ustar ligges users {"version":3,"sources":["../../srcjs/AdminLTE/app.js"],"names":[],"mappings":"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","file":"app.js","sourcesContent":["//---------------------------------------------------------------------\n// Source file: ../srcjs/AdminLTE/app.js\n\n/*! AdminLTE app.js\n * ================\n * Main JS application file for AdminLTE v2. This file\n * should be included in all pages. It controls some layout\n * options and implements exclusive AdminLTE plugins.\n *\n * @Author Almsaeed Studio\n * @Support \n * @Email \n * @version 2.3.11\n * @license MIT \n */\n\n//Make sure jQuery has been loaded before app.js\nif (typeof jQuery === \"undefined\") {\n throw new Error(\"AdminLTE requires jQuery\");\n}\n\n/* AdminLTE\n *\n * @type Object\n * @description $.AdminLTE is the main object for the template's app.\n * It's used for implementing functions and options related\n * to the template. Keeping everything wrapped in an object\n * prevents conflict with other plugins and is a better\n * way to organize our code.\n */\n$.AdminLTE = {};\n\n/* --------------------\n * - AdminLTE Options -\n * --------------------\n * Modify these options to suit your implementation\n */\n$.AdminLTE.options = {\n //Add slimscroll to navbar menus\n //This requires you to load the slimscroll plugin\n //in every page before app.js\n navbarMenuSlimscroll: true,\n navbarMenuSlimscrollWidth: \"3px\", //The width of the scroll bar\n navbarMenuHeight: \"200px\", //The height of the inner menu\n //General animation speed for JS animated elements such as box collapse/expand and\n //sidebar treeview slide up/down. This options accepts an integer as milliseconds,\n //'fast', 'normal', or 'slow'\n animationSpeed: 500,\n //Sidebar push menu toggle button selector\n sidebarToggleSelector: \"[data-toggle='offcanvas']\",\n //Activate sidebar push menu\n sidebarPushMenu: true,\n //Activate sidebar slimscroll if the fixed layout is set (requires SlimScroll Plugin)\n sidebarSlimScroll: true,\n //Enable sidebar expand on hover effect for sidebar mini\n //This option is forced to true if both the fixed layout and sidebar mini\n //are used together\n sidebarExpandOnHover: false,\n //BoxRefresh Plugin\n enableBoxRefresh: true,\n //Bootstrap.js tooltip\n enableBSToppltip: true,\n BSTooltipSelector: \"[data-toggle='tooltip']\",\n //Enable Fast Click. Fastclick.js creates a more\n //native touch experience with touch devices. If you\n //choose to enable the plugin, make sure you load the script\n //before AdminLTE's app.js\n enableFastclick: false,\n //Control Sidebar Tree views\n enableControlTreeView: true,\n //Control Sidebar Options\n enableControlSidebar: true,\n controlSidebarOptions: {\n //Which button should trigger the open/close event\n toggleBtnSelector: \"[data-toggle='control-sidebar']\",\n //The sidebar selector\n selector: \".control-sidebar\",\n //Enable slide over content\n slide: true\n },\n //Box Widget Plugin. Enable this plugin\n //to allow boxes to be collapsed and/or removed\n enableBoxWidget: true,\n //Box Widget plugin options\n boxWidgetOptions: {\n boxWidgetIcons: {\n //Collapse icon\n collapse: 'fa-minus',\n //Open icon\n open: 'fa-plus',\n //Remove icon\n remove: 'fa-times'\n },\n boxWidgetSelectors: {\n //Remove button selector\n remove: '[data-widget=\"remove\"]',\n //Collapse button selector\n collapse: '[data-widget=\"collapse\"]'\n }\n },\n //Direct Chat plugin options\n directChat: {\n //Enable direct chat by default\n enable: true,\n //The button to open and close the chat contacts pane\n contactToggleSelector: '[data-widget=\"chat-pane-toggle\"]'\n },\n //Define the set of colors to use globally around the website\n colors: {\n lightBlue: \"#3c8dbc\",\n red: \"#f56954\",\n green: \"#00a65a\",\n aqua: \"#00c0ef\",\n yellow: \"#f39c12\",\n blue: \"#0073b7\",\n navy: \"#001F3F\",\n teal: \"#39CCCC\",\n olive: \"#3D9970\",\n lime: \"#01FF70\",\n orange: \"#FF851B\",\n fuchsia: \"#F012BE\",\n purple: \"#8E24AA\",\n maroon: \"#D81B60\",\n black: \"#222222\",\n gray: \"#d2d6de\"\n },\n //The standard screen sizes that bootstrap uses.\n //If you change these in the variables.less file, change\n //them here too.\n screenSizes: {\n xs: 480,\n sm: 768,\n md: 992,\n lg: 1200\n }\n};\n\n/* ------------------\n * - Implementation -\n * ------------------\n * The next block of code implements AdminLTE's\n * functions and plugins as specified by the\n * options above.\n */\n$(function () {\n \"use strict\";\n\n //Fix for IE page transitions\n $(\"body\").removeClass(\"hold-transition\");\n\n //Extend options if external options exist\n if (typeof AdminLTEOptions !== \"undefined\") {\n $.extend(true,\n $.AdminLTE.options,\n AdminLTEOptions);\n }\n\n //Easy access to options\n var o = $.AdminLTE.options;\n\n //Set up the object\n _init();\n\n //Activate the layout maker\n $.AdminLTE.layout.activate();\n\n //Enable sidebar tree view controls\n if (o.enableControlTreeView) {\n $.AdminLTE.tree('.sidebar');\n }\n\n //Enable control sidebar\n if (o.enableControlSidebar) {\n $.AdminLTE.controlSidebar.activate();\n }\n\n //Add slimscroll to navbar dropdown\n if (o.navbarMenuSlimscroll && typeof $.fn.slimscroll != 'undefined') {\n $(\".navbar .menu\").slimscroll({\n height: o.navbarMenuHeight,\n alwaysVisible: false,\n size: o.navbarMenuSlimscrollWidth\n }).css(\"width\", \"100%\");\n }\n\n //Activate sidebar push menu\n if (o.sidebarPushMenu) {\n $.AdminLTE.pushMenu.activate(o.sidebarToggleSelector);\n }\n\n //Activate Bootstrap tooltip\n if (o.enableBSToppltip) {\n $('body').tooltip({\n selector: o.BSTooltipSelector,\n container: 'body'\n });\n }\n\n //Activate box widget\n if (o.enableBoxWidget) {\n $.AdminLTE.boxWidget.activate();\n }\n\n //Activate fast click\n if (o.enableFastclick && typeof FastClick != 'undefined') {\n FastClick.attach(document.body);\n }\n\n //Activate direct chat widget\n if (o.directChat.enable) {\n $(document).on('click', o.directChat.contactToggleSelector, function () {\n var box = $(this).parents('.direct-chat').first();\n box.toggleClass('direct-chat-contacts-open');\n });\n }\n\n /*\n * INITIALIZE BUTTON TOGGLE\n * ------------------------\n */\n $('.btn-group[data-toggle=\"btn-toggle\"]').each(function () {\n var group = $(this);\n $(this).find(\".btn\").on('click', function (e) {\n group.find(\".btn.active\").removeClass(\"active\");\n $(this).addClass(\"active\");\n e.preventDefault();\n });\n\n });\n});\n\n/* ----------------------------------\n * - Initialize the AdminLTE Object -\n * ----------------------------------\n * All AdminLTE functions are implemented below.\n */\nfunction _init() {\n 'use strict';\n /* Layout\n * ======\n * Fixes the layout height in case min-height fails.\n *\n * @type Object\n * @usage $.AdminLTE.layout.activate()\n * $.AdminLTE.layout.fix()\n * $.AdminLTE.layout.fixSidebar()\n */\n $.AdminLTE.layout = {\n activate: function () {\n var _this = this;\n _this.fix();\n _this.fixSidebar();\n $('body, html, .wrapper').css('height', 'auto');\n $(window, \".wrapper\").resize(function () {\n _this.fix();\n _this.fixSidebar();\n });\n },\n fix: function () {\n // Remove overflow from .wrapper if layout-boxed exists\n $(\".layout-boxed > .wrapper\").css('overflow', 'hidden');\n //Get window height and the wrapper height\n var footer_height = $('.main-footer').outerHeight() || 0;\n var neg = $('.main-header').outerHeight() + footer_height;\n var window_height = $(window).height();\n var sidebar_height = $(\".sidebar\").height() || 0;\n //Set the min-height of the content and sidebar based on the\n //the height of the document.\n if ($(\"body\").hasClass(\"fixed\")) {\n $(\".content-wrapper, .right-side\").css('min-height', window_height - footer_height);\n } else {\n var postSetWidth;\n if (window_height >= sidebar_height) {\n $(\".content-wrapper, .right-side\").css('min-height', window_height - neg);\n postSetWidth = window_height - neg;\n } else {\n $(\".content-wrapper, .right-side\").css('min-height', sidebar_height);\n postSetWidth = sidebar_height;\n }\n\n //Fix for the control sidebar height\n var controlSidebar = $($.AdminLTE.options.controlSidebarOptions.selector);\n if (typeof controlSidebar !== \"undefined\") {\n if (controlSidebar.height() > postSetWidth)\n $(\".content-wrapper, .right-side\").css('min-height', controlSidebar.height());\n }\n\n }\n },\n fixSidebar: function () {\n //Make sure the body tag has the .fixed class\n if (!$(\"body\").hasClass(\"fixed\")) {\n if (typeof $.fn.slimScroll != 'undefined') {\n $(\".sidebar\").slimScroll({destroy: true}).height(\"auto\");\n }\n return;\n } else if (typeof $.fn.slimScroll == 'undefined' && window.console) {\n window.console.error(\"Error: the fixed layout requires the slimscroll plugin!\");\n }\n //Enable slimscroll for fixed layout\n if ($.AdminLTE.options.sidebarSlimScroll) {\n if (typeof $.fn.slimScroll != 'undefined') {\n //Destroy if it exists\n $(\".sidebar\").slimScroll({destroy: true}).height(\"auto\");\n //Add slimscroll\n $(\".sidebar\").slimScroll({\n height: ($(window).height() - $(\".main-header\").height()) + \"px\",\n color: \"rgba(0,0,0,0.2)\",\n size: \"3px\"\n });\n }\n }\n }\n };\n\n /* PushMenu()\n * ==========\n * Adds the push menu functionality to the sidebar.\n *\n * @type Function\n * @usage: $.AdminLTE.pushMenu(\"[data-toggle='offcanvas']\")\n */\n $.AdminLTE.pushMenu = {\n activate: function (toggleBtn) {\n //Get the screen sizes\n var screenSizes = $.AdminLTE.options.screenSizes;\n\n //Enable sidebar toggle\n $(document).on('click', toggleBtn, function (e) {\n e.preventDefault();\n\n //Enable sidebar push menu\n if ($(window).width() > (screenSizes.sm - 1)) {\n if ($(\"body\").hasClass('sidebar-collapse')) {\n $(\"body\").removeClass('sidebar-collapse').trigger('expanded.pushMenu');\n } else {\n $(\"body\").addClass('sidebar-collapse').trigger('collapsed.pushMenu');\n }\n }\n //Handle sidebar push menu for small screens\n else {\n if ($(\"body\").hasClass('sidebar-open')) {\n $(\"body\").removeClass('sidebar-open').removeClass('sidebar-collapse').trigger('collapsed.pushMenu');\n } else {\n $(\"body\").addClass('sidebar-open').trigger('expanded.pushMenu');\n }\n }\n });\n\n $(\".content-wrapper\").click(function () {\n //Enable hide menu when clicking on the content-wrapper on small screens\n if ($(window).width() <= (screenSizes.sm - 1) && $(\"body\").hasClass(\"sidebar-open\")) {\n $(\"body\").removeClass('sidebar-open');\n }\n });\n\n //Enable expand on hover for sidebar mini\n if ($.AdminLTE.options.sidebarExpandOnHover\n || ($('body').hasClass('fixed')\n && $('body').hasClass('sidebar-mini'))) {\n this.expandOnHover();\n }\n },\n expandOnHover: function () {\n var _this = this;\n var screenWidth = $.AdminLTE.options.screenSizes.sm - 1;\n //Expand sidebar on hover\n $('.main-sidebar').hover(function () {\n if ($('body').hasClass('sidebar-mini')\n && $(\"body\").hasClass('sidebar-collapse')\n && $(window).width() > screenWidth) {\n _this.expand();\n }\n }, function () {\n if ($('body').hasClass('sidebar-mini')\n && $('body').hasClass('sidebar-expanded-on-hover')\n && $(window).width() > screenWidth) {\n _this.collapse();\n }\n });\n },\n expand: function () {\n $(\"body\").removeClass('sidebar-collapse').addClass('sidebar-expanded-on-hover');\n },\n collapse: function () {\n if ($('body').hasClass('sidebar-expanded-on-hover')) {\n $('body').removeClass('sidebar-expanded-on-hover').addClass('sidebar-collapse');\n }\n }\n };\n\n /* Tree()\n * ======\n * Converts the sidebar into a multilevel\n * tree view menu.\n *\n * @type Function\n * @Usage: $.AdminLTE.tree('.sidebar')\n */\n $.AdminLTE.tree = function (menu) {\n var _this = this;\n var animationSpeed = $.AdminLTE.options.animationSpeed;\n $(document).off('click', menu + ' li a')\n .on('click', menu + ' li a', function (e) {\n //Get the clicked link and the next element\n var $this = $(this);\n var checkElement = $this.next();\n\n //Check if the next element is a menu and is visible\n if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible')) && (!$('body').hasClass('sidebar-collapse'))) {\n //Close the menu\n checkElement.slideUp(animationSpeed, function () {\n checkElement.removeClass('menu-open');\n //Fix the layout in case the sidebar stretches over the height of the window\n //_this.layout.fix();\n });\n checkElement.parent(\"li\").removeClass(\"active\");\n }\n //If the menu is not visible\n else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {\n //Get the parent menu\n var parent = $this.parents('ul').first();\n //Close all open menus within the parent\n var ul = parent.find('ul:visible').slideUp(animationSpeed);\n //Remove the menu-open class from the parent\n ul.removeClass('menu-open');\n //Get the parent li\n var parent_li = $this.parent(\"li\");\n\n // shiny-mod (see README-shiny-mods.md)\n var shinyOutput = checkElement.find('.shiny-bound-output');\n if (shinyOutput.length !== 0 && shinyOutput.first().html().length === 0) {\n shinyOutput.first().html('
');\n }\n\n //Open the target menu and add the menu-open class\n checkElement.slideDown(animationSpeed, function () {\n //Add the class active to the parent li\n checkElement.addClass('menu-open');\n parent.find('li.active').removeClass('active');\n parent_li.addClass('active');\n //Fix the layout in case the sidebar stretches over the height of the window\n _this.layout.fix();\n });\n }\n //if this isn't a link, prevent the page from being redirected\n if (checkElement.is('.treeview-menu')) {\n e.preventDefault();\n }\n });\n };\n\n /* ControlSidebar\n * ==============\n * Adds functionality to the right sidebar\n *\n * @type Object\n * @usage $.AdminLTE.controlSidebar.activate(options)\n */\n $.AdminLTE.controlSidebar = {\n //instantiate the object\n activate: function () {\n //Get the object\n var _this = this;\n //Update options\n var o = $.AdminLTE.options.controlSidebarOptions;\n //Get the sidebar\n var sidebar = $(o.selector);\n //The toggle button\n var btn = $(o.toggleBtnSelector);\n\n //Listen to the click event\n btn.on('click', function (e) {\n e.preventDefault();\n //If the sidebar is not open\n if (!sidebar.hasClass('control-sidebar-open')\n && !$('body').hasClass('control-sidebar-open')) {\n //Open the sidebar\n _this.open(sidebar, o.slide);\n } else {\n _this.close(sidebar, o.slide);\n }\n });\n\n //If the body has a boxed layout, fix the sidebar bg position\n var bg = $(\".control-sidebar-bg\");\n _this._fix(bg);\n\n //If the body has a fixed layout, make the control sidebar fixed\n if ($('body').hasClass('fixed')) {\n _this._fixForFixed(sidebar);\n } else {\n //If the content height is less than the sidebar's height, force max height\n if ($('.content-wrapper, .right-side').height() < sidebar.height()) {\n _this._fixForContent(sidebar);\n }\n }\n },\n //Open the control sidebar\n open: function (sidebar, slide) {\n //Slide over content\n if (slide) {\n sidebar.addClass('control-sidebar-open');\n } else {\n //Push the content by adding the open class to the body instead\n //of the sidebar itself\n $('body').addClass('control-sidebar-open');\n }\n },\n //Close the control sidebar\n close: function (sidebar, slide) {\n if (slide) {\n sidebar.removeClass('control-sidebar-open');\n } else {\n $('body').removeClass('control-sidebar-open');\n }\n },\n _fix: function (sidebar) {\n var _this = this;\n if ($(\"body\").hasClass('layout-boxed')) {\n sidebar.css('position', 'absolute');\n sidebar.height($(\".wrapper\").height());\n if (_this.hasBindedResize) {\n return;\n }\n $(window).resize(function () {\n _this._fix(sidebar);\n });\n _this.hasBindedResize = true;\n } else {\n sidebar.css({\n 'position': 'fixed',\n 'height': 'auto'\n });\n }\n },\n _fixForFixed: function (sidebar) {\n sidebar.css({\n 'position': 'fixed',\n 'max-height': '100%',\n 'overflow': 'auto',\n 'padding-bottom': '50px'\n });\n },\n _fixForContent: function (sidebar) {\n $(\".content-wrapper, .right-side\").css('min-height', sidebar.height());\n }\n };\n\n /* BoxWidget\n * =========\n * BoxWidget is a plugin to handle collapsing and\n * removing boxes from the screen.\n *\n * @type Object\n * @usage $.AdminLTE.boxWidget.activate()\n * Set all your options in the main $.AdminLTE.options object\n */\n $.AdminLTE.boxWidget = {\n selectors: $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors,\n icons: $.AdminLTE.options.boxWidgetOptions.boxWidgetIcons,\n animationSpeed: $.AdminLTE.options.animationSpeed,\n activate: function (_box) {\n var _this = this;\n if (!_box) {\n _box = document; // activate all boxes per default\n }\n //Listen for collapse event triggers\n $(_box).on('click', _this.selectors.collapse, function (e) {\n e.preventDefault();\n _this.collapse($(this));\n });\n\n //Listen for remove event triggers\n $(_box).on('click', _this.selectors.remove, function (e) {\n e.preventDefault();\n _this.remove($(this));\n });\n },\n collapse: function (element) {\n var _this = this;\n //Find the box parent\n var box = element.parents(\".box\").first();\n //Find the body and the footer\n var box_content = box.find(\"> .box-body, > .box-footer, > form >.box-body, > form > .box-footer\");\n if (!box.hasClass(\"collapsed-box\")) {\n //Convert minus into plus\n element.children(\":first\")\n .removeClass(_this.icons.collapse)\n .addClass(_this.icons.open);\n //Hide the content\n box_content.slideUp(_this.animationSpeed, function () {\n box.addClass(\"collapsed-box\");\n box.trigger(\"hidden.bs.collapse\");\n });\n } else {\n //Convert plus into minus\n element.children(\":first\")\n .removeClass(_this.icons.open)\n .addClass(_this.icons.collapse);\n\n // Technically, it should be 'show' which is triggered here, and\n // 'shown' which is triggered later. However, this works better because\n // of the slow expansion transition -- the box would fully expand, and\n // only then trigger 'shown', which then results in an update of the\n // content. This would allow users to see the old content during the\n // expansion.\n box.trigger(\"shown.bs.collapse\");\n\n //Show the content\n box_content.slideDown(_this.animationSpeed, function () {\n box.removeClass(\"collapsed-box\");\n });\n }\n },\n remove: function (element) {\n //Find the box parent\n var box = element.parents(\".box\").first();\n box.slideUp(this.animationSpeed);\n }\n };\n}\n\n/* ------------------\n * - Custom Plugins -\n * ------------------\n * All custom plugins are defined below.\n */\n\n/*\n * BOX REFRESH BUTTON\n * ------------------\n * This is a custom plugin to use with the component BOX. It allows you to add\n * a refresh button to the box. It converts the box's state to a loading state.\n *\n * @type plugin\n * @usage $(\"#box-widget\").boxRefresh( options );\n */\n(function ($) {\n\n \"use strict\";\n\n $.fn.boxRefresh = function (options) {\n\n // Render options\n var settings = $.extend({\n //Refresh button selector\n trigger: \".refresh-btn\",\n //File source to be loaded (e.g: ajax/src.php)\n source: \"\",\n //Callbacks\n onLoadStart: function (box) {\n return box;\n }, //Right after the button has been clicked\n onLoadDone: function (box) {\n return box;\n } //When the source has been loaded\n\n }, options);\n\n //The overlay\n var overlay = $('');\n\n return this.each(function () {\n //if a source is specified\n if (settings.source === \"\") {\n if (window.console) {\n window.console.log(\"Please specify a source first - boxRefresh()\");\n }\n return;\n }\n //the box\n var box = $(this);\n //the button\n var rBtn = box.find(settings.trigger).first();\n\n //On trigger click\n rBtn.on('click', function (e) {\n e.preventDefault();\n //Add loading overlay\n start(box);\n\n //Perform ajax call\n box.find(\".box-body\").load(settings.source, function () {\n done(box);\n });\n });\n });\n\n function start(box) {\n //Add overlay and loading img\n box.append(overlay);\n\n settings.onLoadStart.call(box);\n }\n\n function done(box) {\n //Remove overlay and loading img\n box.find(overlay).remove();\n\n settings.onLoadDone.call(box);\n }\n\n };\n\n})(jQuery);\n\n/*\n * EXPLICIT BOX CONTROLS\n * -----------------------\n * This is a custom plugin to use with the component BOX. It allows you to activate\n * a box inserted in the DOM after the app.js was loaded, toggle and remove box.\n *\n * @type plugin\n * @usage $(\"#box-widget\").activateBox();\n * @usage $(\"#box-widget\").toggleBox();\n * @usage $(\"#box-widget\").removeBox();\n */\n(function ($) {\n\n 'use strict';\n\n $.fn.activateBox = function () {\n $.AdminLTE.boxWidget.activate(this);\n };\n\n $.fn.toggleBox = function () {\n var button = $($.AdminLTE.boxWidget.selectors.collapse, this);\n $.AdminLTE.boxWidget.collapse(button);\n };\n\n $.fn.removeBox = function () {\n var button = $($.AdminLTE.boxWidget.selectors.remove, this);\n $.AdminLTE.boxWidget.remove(button);\n };\n\n})(jQuery);\n\n/*\n * TODO LIST CUSTOM PLUGIN\n * -----------------------\n * This plugin depends on iCheck plugin for checkbox and radio inputs\n *\n * @type plugin\n * @usage $(\"#todo-widget\").todolist( options );\n */\n(function ($) {\n\n 'use strict';\n\n $.fn.todolist = function (options) {\n // Render options\n var settings = $.extend({\n //When the user checks the input\n onCheck: function (ele) {\n return ele;\n },\n //When the user unchecks the input\n onUncheck: function (ele) {\n return ele;\n }\n }, options);\n\n return this.each(function () {\n\n if (typeof $.fn.iCheck != 'undefined') {\n $('input', this).on('ifChecked', function () {\n var ele = $(this).parents(\"li\").first();\n ele.toggleClass(\"done\");\n settings.onCheck.call(ele);\n });\n\n $('input', this).on('ifUnchecked', function () {\n var ele = $(this).parents(\"li\").first();\n ele.toggleClass(\"done\");\n settings.onUncheck.call(ele);\n });\n } else {\n $('input', this).on('change', function () {\n var ele = $(this).parents(\"li\").first();\n ele.toggleClass(\"done\");\n if ($('input', ele).is(\":checked\")) {\n settings.onCheck.call(ele);\n } else {\n settings.onUncheck.call(ele);\n }\n });\n }\n });\n };\n}(jQuery));\n"]} shinydashboard/inst/AdminLTE/app.js 0000644 0001762 0000144 00000057172 15001455546 016765 0 ustar ligges users //---------------------------------------------------------------------
// Source file: ../srcjs/AdminLTE/app.js
/*! AdminLTE app.js
* ================
* Main JS application file for AdminLTE v2. This file
* should be included in all pages. It controls some layout
* options and implements exclusive AdminLTE plugins.
*
* @Author Almsaeed Studio
* @Support
* @Email
* @version 2.3.11
* @license MIT
*/
//Make sure jQuery has been loaded before app.js
if (typeof jQuery === "undefined") {
throw new Error("AdminLTE requires jQuery");
}
/* AdminLTE
*
* @type Object
* @description $.AdminLTE is the main object for the template's app.
* It's used for implementing functions and options related
* to the template. Keeping everything wrapped in an object
* prevents conflict with other plugins and is a better
* way to organize our code.
*/
$.AdminLTE = {};
/* --------------------
* - AdminLTE Options -
* --------------------
* Modify these options to suit your implementation
*/
$.AdminLTE.options = {
//Add slimscroll to navbar menus
//This requires you to load the slimscroll plugin
//in every page before app.js
navbarMenuSlimscroll: true,
navbarMenuSlimscrollWidth: "3px", //The width of the scroll bar
navbarMenuHeight: "200px", //The height of the inner menu
//General animation speed for JS animated elements such as box collapse/expand and
//sidebar treeview slide up/down. This options accepts an integer as milliseconds,
//'fast', 'normal', or 'slow'
animationSpeed: 500,
//Sidebar push menu toggle button selector
sidebarToggleSelector: "[data-toggle='offcanvas']",
//Activate sidebar push menu
sidebarPushMenu: true,
//Activate sidebar slimscroll if the fixed layout is set (requires SlimScroll Plugin)
sidebarSlimScroll: true,
//Enable sidebar expand on hover effect for sidebar mini
//This option is forced to true if both the fixed layout and sidebar mini
//are used together
sidebarExpandOnHover: false,
//BoxRefresh Plugin
enableBoxRefresh: true,
//Bootstrap.js tooltip
enableBSToppltip: true,
BSTooltipSelector: "[data-toggle='tooltip']",
//Enable Fast Click. Fastclick.js creates a more
//native touch experience with touch devices. If you
//choose to enable the plugin, make sure you load the script
//before AdminLTE's app.js
enableFastclick: false,
//Control Sidebar Tree views
enableControlTreeView: true,
//Control Sidebar Options
enableControlSidebar: true,
controlSidebarOptions: {
//Which button should trigger the open/close event
toggleBtnSelector: "[data-toggle='control-sidebar']",
//The sidebar selector
selector: ".control-sidebar",
//Enable slide over content
slide: true
},
//Box Widget Plugin. Enable this plugin
//to allow boxes to be collapsed and/or removed
enableBoxWidget: true,
//Box Widget plugin options
boxWidgetOptions: {
boxWidgetIcons: {
//Collapse icon
collapse: 'fa-minus',
//Open icon
open: 'fa-plus',
//Remove icon
remove: 'fa-times'
},
boxWidgetSelectors: {
//Remove button selector
remove: '[data-widget="remove"]',
//Collapse button selector
collapse: '[data-widget="collapse"]'
}
},
//Direct Chat plugin options
directChat: {
//Enable direct chat by default
enable: true,
//The button to open and close the chat contacts pane
contactToggleSelector: '[data-widget="chat-pane-toggle"]'
},
//Define the set of colors to use globally around the website
colors: {
lightBlue: "#3c8dbc",
red: "#f56954",
green: "#00a65a",
aqua: "#00c0ef",
yellow: "#f39c12",
blue: "#0073b7",
navy: "#001F3F",
teal: "#39CCCC",
olive: "#3D9970",
lime: "#01FF70",
orange: "#FF851B",
fuchsia: "#F012BE",
purple: "#8E24AA",
maroon: "#D81B60",
black: "#222222",
gray: "#d2d6de"
},
//The standard screen sizes that bootstrap uses.
//If you change these in the variables.less file, change
//them here too.
screenSizes: {
xs: 480,
sm: 768,
md: 992,
lg: 1200
}
};
/* ------------------
* - Implementation -
* ------------------
* The next block of code implements AdminLTE's
* functions and plugins as specified by the
* options above.
*/
$(function () {
"use strict";
//Fix for IE page transitions
$("body").removeClass("hold-transition");
//Extend options if external options exist
if (typeof AdminLTEOptions !== "undefined") {
$.extend(true,
$.AdminLTE.options,
AdminLTEOptions);
}
//Easy access to options
var o = $.AdminLTE.options;
//Set up the object
_init();
//Activate the layout maker
$.AdminLTE.layout.activate();
//Enable sidebar tree view controls
if (o.enableControlTreeView) {
$.AdminLTE.tree('.sidebar');
}
//Enable control sidebar
if (o.enableControlSidebar) {
$.AdminLTE.controlSidebar.activate();
}
//Add slimscroll to navbar dropdown
if (o.navbarMenuSlimscroll && typeof $.fn.slimscroll != 'undefined') {
$(".navbar .menu").slimscroll({
height: o.navbarMenuHeight,
alwaysVisible: false,
size: o.navbarMenuSlimscrollWidth
}).css("width", "100%");
}
//Activate sidebar push menu
if (o.sidebarPushMenu) {
$.AdminLTE.pushMenu.activate(o.sidebarToggleSelector);
}
//Activate Bootstrap tooltip
if (o.enableBSToppltip) {
$('body').tooltip({
selector: o.BSTooltipSelector,
container: 'body'
});
}
//Activate box widget
if (o.enableBoxWidget) {
$.AdminLTE.boxWidget.activate();
}
//Activate fast click
if (o.enableFastclick && typeof FastClick != 'undefined') {
FastClick.attach(document.body);
}
//Activate direct chat widget
if (o.directChat.enable) {
$(document).on('click', o.directChat.contactToggleSelector, function () {
var box = $(this).parents('.direct-chat').first();
box.toggleClass('direct-chat-contacts-open');
});
}
/*
* INITIALIZE BUTTON TOGGLE
* ------------------------
*/
$('.btn-group[data-toggle="btn-toggle"]').each(function () {
var group = $(this);
$(this).find(".btn").on('click', function (e) {
group.find(".btn.active").removeClass("active");
$(this).addClass("active");
e.preventDefault();
});
});
});
/* ----------------------------------
* - Initialize the AdminLTE Object -
* ----------------------------------
* All AdminLTE functions are implemented below.
*/
function _init() {
'use strict';
/* Layout
* ======
* Fixes the layout height in case min-height fails.
*
* @type Object
* @usage $.AdminLTE.layout.activate()
* $.AdminLTE.layout.fix()
* $.AdminLTE.layout.fixSidebar()
*/
$.AdminLTE.layout = {
activate: function () {
var _this = this;
_this.fix();
_this.fixSidebar();
$('body, html, .wrapper').css('height', 'auto');
$(window, ".wrapper").resize(function () {
_this.fix();
_this.fixSidebar();
});
},
fix: function () {
// Remove overflow from .wrapper if layout-boxed exists
$(".layout-boxed > .wrapper").css('overflow', 'hidden');
//Get window height and the wrapper height
var footer_height = $('.main-footer').outerHeight() || 0;
var neg = $('.main-header').outerHeight() + footer_height;
var window_height = $(window).height();
var sidebar_height = $(".sidebar").height() || 0;
//Set the min-height of the content and sidebar based on the
//the height of the document.
if ($("body").hasClass("fixed")) {
$(".content-wrapper, .right-side").css('min-height', window_height - footer_height);
} else {
var postSetWidth;
if (window_height >= sidebar_height) {
$(".content-wrapper, .right-side").css('min-height', window_height - neg);
postSetWidth = window_height - neg;
} else {
$(".content-wrapper, .right-side").css('min-height', sidebar_height);
postSetWidth = sidebar_height;
}
//Fix for the control sidebar height
var controlSidebar = $($.AdminLTE.options.controlSidebarOptions.selector);
if (typeof controlSidebar !== "undefined") {
if (controlSidebar.height() > postSetWidth)
$(".content-wrapper, .right-side").css('min-height', controlSidebar.height());
}
}
},
fixSidebar: function () {
//Make sure the body tag has the .fixed class
if (!$("body").hasClass("fixed")) {
if (typeof $.fn.slimScroll != 'undefined') {
$(".sidebar").slimScroll({destroy: true}).height("auto");
}
return;
} else if (typeof $.fn.slimScroll == 'undefined' && window.console) {
window.console.error("Error: the fixed layout requires the slimscroll plugin!");
}
//Enable slimscroll for fixed layout
if ($.AdminLTE.options.sidebarSlimScroll) {
if (typeof $.fn.slimScroll != 'undefined') {
//Destroy if it exists
$(".sidebar").slimScroll({destroy: true}).height("auto");
//Add slimscroll
$(".sidebar").slimScroll({
height: ($(window).height() - $(".main-header").height()) + "px",
color: "rgba(0,0,0,0.2)",
size: "3px"
});
}
}
}
};
/* PushMenu()
* ==========
* Adds the push menu functionality to the sidebar.
*
* @type Function
* @usage: $.AdminLTE.pushMenu("[data-toggle='offcanvas']")
*/
$.AdminLTE.pushMenu = {
activate: function (toggleBtn) {
//Get the screen sizes
var screenSizes = $.AdminLTE.options.screenSizes;
//Enable sidebar toggle
$(document).on('click', toggleBtn, function (e) {
e.preventDefault();
//Enable sidebar push menu
if ($(window).width() > (screenSizes.sm - 1)) {
if ($("body").hasClass('sidebar-collapse')) {
$("body").removeClass('sidebar-collapse').trigger('expanded.pushMenu');
} else {
$("body").addClass('sidebar-collapse').trigger('collapsed.pushMenu');
}
}
//Handle sidebar push menu for small screens
else {
if ($("body").hasClass('sidebar-open')) {
$("body").removeClass('sidebar-open').removeClass('sidebar-collapse').trigger('collapsed.pushMenu');
} else {
$("body").addClass('sidebar-open').trigger('expanded.pushMenu');
}
}
});
$(".content-wrapper").click(function () {
//Enable hide menu when clicking on the content-wrapper on small screens
if ($(window).width() <= (screenSizes.sm - 1) && $("body").hasClass("sidebar-open")) {
$("body").removeClass('sidebar-open');
}
});
//Enable expand on hover for sidebar mini
if ($.AdminLTE.options.sidebarExpandOnHover
|| ($('body').hasClass('fixed')
&& $('body').hasClass('sidebar-mini'))) {
this.expandOnHover();
}
},
expandOnHover: function () {
var _this = this;
var screenWidth = $.AdminLTE.options.screenSizes.sm - 1;
//Expand sidebar on hover
$('.main-sidebar').hover(function () {
if ($('body').hasClass('sidebar-mini')
&& $("body").hasClass('sidebar-collapse')
&& $(window).width() > screenWidth) {
_this.expand();
}
}, function () {
if ($('body').hasClass('sidebar-mini')
&& $('body').hasClass('sidebar-expanded-on-hover')
&& $(window).width() > screenWidth) {
_this.collapse();
}
});
},
expand: function () {
$("body").removeClass('sidebar-collapse').addClass('sidebar-expanded-on-hover');
},
collapse: function () {
if ($('body').hasClass('sidebar-expanded-on-hover')) {
$('body').removeClass('sidebar-expanded-on-hover').addClass('sidebar-collapse');
}
}
};
/* Tree()
* ======
* Converts the sidebar into a multilevel
* tree view menu.
*
* @type Function
* @Usage: $.AdminLTE.tree('.sidebar')
*/
$.AdminLTE.tree = function (menu) {
var _this = this;
var animationSpeed = $.AdminLTE.options.animationSpeed;
$(document).off('click', menu + ' li a')
.on('click', menu + ' li a', function (e) {
//Get the clicked link and the next element
var $this = $(this);
var checkElement = $this.next();
//Check if the next element is a menu and is visible
if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible')) && (!$('body').hasClass('sidebar-collapse'))) {
//Close the menu
checkElement.slideUp(animationSpeed, function () {
checkElement.removeClass('menu-open');
//Fix the layout in case the sidebar stretches over the height of the window
//_this.layout.fix();
});
checkElement.parent("li").removeClass("active");
}
//If the menu is not visible
else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
//Get the parent menu
var parent = $this.parents('ul').first();
//Close all open menus within the parent
var ul = parent.find('ul:visible').slideUp(animationSpeed);
//Remove the menu-open class from the parent
ul.removeClass('menu-open');
//Get the parent li
var parent_li = $this.parent("li");
// shiny-mod (see README-shiny-mods.md)
var shinyOutput = checkElement.find('.shiny-bound-output');
if (shinyOutput.length !== 0 && shinyOutput.first().html().length === 0) {
shinyOutput.first().html('
');
}
//Open the target menu and add the menu-open class
checkElement.slideDown(animationSpeed, function () {
//Add the class active to the parent li
checkElement.addClass('menu-open');
parent.find('li.active').removeClass('active');
parent_li.addClass('active');
//Fix the layout in case the sidebar stretches over the height of the window
_this.layout.fix();
});
}
//if this isn't a link, prevent the page from being redirected
if (checkElement.is('.treeview-menu')) {
e.preventDefault();
}
});
};
/* ControlSidebar
* ==============
* Adds functionality to the right sidebar
*
* @type Object
* @usage $.AdminLTE.controlSidebar.activate(options)
*/
$.AdminLTE.controlSidebar = {
//instantiate the object
activate: function () {
//Get the object
var _this = this;
//Update options
var o = $.AdminLTE.options.controlSidebarOptions;
//Get the sidebar
var sidebar = $(o.selector);
//The toggle button
var btn = $(o.toggleBtnSelector);
//Listen to the click event
btn.on('click', function (e) {
e.preventDefault();
//If the sidebar is not open
if (!sidebar.hasClass('control-sidebar-open')
&& !$('body').hasClass('control-sidebar-open')) {
//Open the sidebar
_this.open(sidebar, o.slide);
} else {
_this.close(sidebar, o.slide);
}
});
//If the body has a boxed layout, fix the sidebar bg position
var bg = $(".control-sidebar-bg");
_this._fix(bg);
//If the body has a fixed layout, make the control sidebar fixed
if ($('body').hasClass('fixed')) {
_this._fixForFixed(sidebar);
} else {
//If the content height is less than the sidebar's height, force max height
if ($('.content-wrapper, .right-side').height() < sidebar.height()) {
_this._fixForContent(sidebar);
}
}
},
//Open the control sidebar
open: function (sidebar, slide) {
//Slide over content
if (slide) {
sidebar.addClass('control-sidebar-open');
} else {
//Push the content by adding the open class to the body instead
//of the sidebar itself
$('body').addClass('control-sidebar-open');
}
},
//Close the control sidebar
close: function (sidebar, slide) {
if (slide) {
sidebar.removeClass('control-sidebar-open');
} else {
$('body').removeClass('control-sidebar-open');
}
},
_fix: function (sidebar) {
var _this = this;
if ($("body").hasClass('layout-boxed')) {
sidebar.css('position', 'absolute');
sidebar.height($(".wrapper").height());
if (_this.hasBindedResize) {
return;
}
$(window).resize(function () {
_this._fix(sidebar);
});
_this.hasBindedResize = true;
} else {
sidebar.css({
'position': 'fixed',
'height': 'auto'
});
}
},
_fixForFixed: function (sidebar) {
sidebar.css({
'position': 'fixed',
'max-height': '100%',
'overflow': 'auto',
'padding-bottom': '50px'
});
},
_fixForContent: function (sidebar) {
$(".content-wrapper, .right-side").css('min-height', sidebar.height());
}
};
/* BoxWidget
* =========
* BoxWidget is a plugin to handle collapsing and
* removing boxes from the screen.
*
* @type Object
* @usage $.AdminLTE.boxWidget.activate()
* Set all your options in the main $.AdminLTE.options object
*/
$.AdminLTE.boxWidget = {
selectors: $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors,
icons: $.AdminLTE.options.boxWidgetOptions.boxWidgetIcons,
animationSpeed: $.AdminLTE.options.animationSpeed,
activate: function (_box) {
var _this = this;
if (!_box) {
_box = document; // activate all boxes per default
}
//Listen for collapse event triggers
$(_box).on('click', _this.selectors.collapse, function (e) {
e.preventDefault();
_this.collapse($(this));
});
//Listen for remove event triggers
$(_box).on('click', _this.selectors.remove, function (e) {
e.preventDefault();
_this.remove($(this));
});
},
collapse: function (element) {
var _this = this;
//Find the box parent
var box = element.parents(".box").first();
//Find the body and the footer
var box_content = box.find("> .box-body, > .box-footer, > form >.box-body, > form > .box-footer");
if (!box.hasClass("collapsed-box")) {
//Convert minus into plus
element.children(":first")
.removeClass(_this.icons.collapse)
.addClass(_this.icons.open);
//Hide the content
box_content.slideUp(_this.animationSpeed, function () {
box.addClass("collapsed-box");
box.trigger("hidden.bs.collapse");
});
} else {
//Convert plus into minus
element.children(":first")
.removeClass(_this.icons.open)
.addClass(_this.icons.collapse);
// Technically, it should be 'show' which is triggered here, and
// 'shown' which is triggered later. However, this works better because
// of the slow expansion transition -- the box would fully expand, and
// only then trigger 'shown', which then results in an update of the
// content. This would allow users to see the old content during the
// expansion.
box.trigger("shown.bs.collapse");
//Show the content
box_content.slideDown(_this.animationSpeed, function () {
box.removeClass("collapsed-box");
});
}
},
remove: function (element) {
//Find the box parent
var box = element.parents(".box").first();
box.slideUp(this.animationSpeed);
}
};
}
/* ------------------
* - Custom Plugins -
* ------------------
* All custom plugins are defined below.
*/
/*
* BOX REFRESH BUTTON
* ------------------
* This is a custom plugin to use with the component BOX. It allows you to add
* a refresh button to the box. It converts the box's state to a loading state.
*
* @type plugin
* @usage $("#box-widget").boxRefresh( options );
*/
(function ($) {
"use strict";
$.fn.boxRefresh = function (options) {
// Render options
var settings = $.extend({
//Refresh button selector
trigger: ".refresh-btn",
//File source to be loaded (e.g: ajax/src.php)
source: "",
//Callbacks
onLoadStart: function (box) {
return box;
}, //Right after the button has been clicked
onLoadDone: function (box) {
return box;
} //When the source has been loaded
}, options);
//The overlay
var overlay = $('');
return this.each(function () {
//if a source is specified
if (settings.source === "") {
if (window.console) {
window.console.log("Please specify a source first - boxRefresh()");
}
return;
}
//the box
var box = $(this);
//the button
var rBtn = box.find(settings.trigger).first();
//On trigger click
rBtn.on('click', function (e) {
e.preventDefault();
//Add loading overlay
start(box);
//Perform ajax call
box.find(".box-body").load(settings.source, function () {
done(box);
});
});
});
function start(box) {
//Add overlay and loading img
box.append(overlay);
settings.onLoadStart.call(box);
}
function done(box) {
//Remove overlay and loading img
box.find(overlay).remove();
settings.onLoadDone.call(box);
}
};
})(jQuery);
/*
* EXPLICIT BOX CONTROLS
* -----------------------
* This is a custom plugin to use with the component BOX. It allows you to activate
* a box inserted in the DOM after the app.js was loaded, toggle and remove box.
*
* @type plugin
* @usage $("#box-widget").activateBox();
* @usage $("#box-widget").toggleBox();
* @usage $("#box-widget").removeBox();
*/
(function ($) {
'use strict';
$.fn.activateBox = function () {
$.AdminLTE.boxWidget.activate(this);
};
$.fn.toggleBox = function () {
var button = $($.AdminLTE.boxWidget.selectors.collapse, this);
$.AdminLTE.boxWidget.collapse(button);
};
$.fn.removeBox = function () {
var button = $($.AdminLTE.boxWidget.selectors.remove, this);
$.AdminLTE.boxWidget.remove(button);
};
})(jQuery);
/*
* TODO LIST CUSTOM PLUGIN
* -----------------------
* This plugin depends on iCheck plugin for checkbox and radio inputs
*
* @type plugin
* @usage $("#todo-widget").todolist( options );
*/
(function ($) {
'use strict';
$.fn.todolist = function (options) {
// Render options
var settings = $.extend({
//When the user checks the input
onCheck: function (ele) {
return ele;
},
//When the user unchecks the input
onUncheck: function (ele) {
return ele;
}
}, options);
return this.each(function () {
if (typeof $.fn.iCheck != 'undefined') {
$('input', this).on('ifChecked', function () {
var ele = $(this).parents("li").first();
ele.toggleClass("done");
settings.onCheck.call(ele);
});
$('input', this).on('ifUnchecked', function () {
var ele = $(this).parents("li").first();
ele.toggleClass("done");
settings.onUncheck.call(ele);
});
} else {
$('input', this).on('change', function () {
var ele = $(this).parents("li").first();
ele.toggleClass("done");
if ($('input', ele).is(":checked")) {
settings.onCheck.call(ele);
} else {
settings.onUncheck.call(ele);
}
});
}
});
};
}(jQuery));
//# sourceMappingURL=app.js.map shinydashboard/inst/AdminLTE/AdminLTE.min.css 0000644 0001762 0000144 00000256663 15001455546 020546 0 ustar ligges users @font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;src:local('Source Sans Pro Light'),local('SourceSansPro-Light'),url(fonts/Source_Sans_Pro_300.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:local('Source Sans Pro'),local('SourceSansPro-Regular'),url(fonts/Source_Sans_Pro_400.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:local('Source Sans Pro Semibold'),local('SourceSansPro-Semibold'),url(fonts/Source_Sans_Pro_600.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:local('Source Sans Pro Bold'),local('SourceSansPro-Bold'),url(fonts/Source_Sans_Pro_700.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:italic;font-weight:300;src:local('Source Sans Pro Light Italic'),local('SourceSansPro-LightIt'),url(fonts/Source_Sans_Pro_300italic.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:local('Source Sans Pro Italic'),local('SourceSansPro-It'),url(fonts/Source_Sans_Pro_400italic.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:italic;font-weight:600;src:local('Source Sans Pro Semibold Italic'),local('SourceSansPro-SemiboldIt'),url(fonts/Source_Sans_Pro_600italic.ttf) format('truetype')}/*!
* AdminLTE v2.3.11
* Author: Almsaeed Studio
* Website: Almsaeed Studio
* License: Open source - MIT
* Please visit http://opensource.org/licenses/MIT for more information
!*/body,html{height:100%}.layout-boxed body,.layout-boxed html{height:100%}body{font-family:'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;overflow-x:hidden;overflow-y:auto}.wrapper{height:100%;position:relative;overflow-x:hidden;overflow-y:auto}.wrapper:after,.wrapper:before{content:" ";display:table}.wrapper:after{clear:both}.layout-boxed .wrapper{max-width:1250px;margin:0 auto;min-height:100%;box-shadow:0 0 8px rgba(0,0,0,.5);position:relative}.layout-boxed{background:url(../img/boxed-bg.jpg) repeat fixed}.content-wrapper,.main-footer,.right-side{-webkit-transition:-webkit-transform .3s ease-in-out,margin .3s ease-in-out;-moz-transition:-moz-transform .3s ease-in-out,margin .3s ease-in-out;-o-transition:-o-transform .3s ease-in-out,margin .3s ease-in-out;transition:transform .3s ease-in-out,margin .3s ease-in-out;margin-left:230px;z-index:820}.layout-top-nav .content-wrapper,.layout-top-nav .main-footer,.layout-top-nav .right-side{margin-left:0}@media (max-width:767px){.content-wrapper,.main-footer,.right-side{margin-left:0}}@media (min-width:768px){.sidebar-collapse .content-wrapper,.sidebar-collapse .main-footer,.sidebar-collapse .right-side{margin-left:0}}@media (max-width:767px){.sidebar-open .content-wrapper,.sidebar-open .main-footer,.sidebar-open .right-side{-webkit-transform:translate(230px,0);-ms-transform:translate(230px,0);-o-transform:translate(230px,0);transform:translate(230px,0)}}.content-wrapper,.right-side{min-height:100%;background-color:#ecf0f5;z-index:800}.main-footer{background:#fff;padding:15px;color:#444;border-top:1px solid #d2d6de}.fixed .left-side,.fixed .main-header,.fixed .main-sidebar{position:fixed}.fixed .main-header{top:0;right:0;left:0}.fixed .content-wrapper,.fixed .right-side{padding-top:50px}@media (max-width:767px){.fixed .content-wrapper,.fixed .right-side{padding-top:100px}}.fixed.layout-boxed .wrapper{max-width:100%}body.hold-transition .content-wrapper,body.hold-transition .left-side,body.hold-transition .main-footer,body.hold-transition .main-header .logo,body.hold-transition .main-header .navbar,body.hold-transition .main-sidebar,body.hold-transition .right-side{-webkit-transition:none;-o-transition:none;transition:none}.content{min-height:250px;padding:15px;margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:'Source Sans Pro',sans-serif}a{color:#3c8dbc}a:active,a:focus,a:hover{outline:0;text-decoration:none;color:#72afd2}.page-header{margin:10px 0 20px 0;font-size:22px}.page-header>small{color:#666;display:block;margin-top:5px}.main-header{position:relative;max-height:100px;z-index:1030}.main-header .navbar{-webkit-transition:margin-left .3s ease-in-out;-o-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out;margin-bottom:0;margin-left:230px;border:none;min-height:50px;border-radius:0}.layout-top-nav .main-header .navbar{margin-left:0}.main-header #navbar-search-input.form-control{background:rgba(255,255,255,.2);border-color:transparent}.main-header #navbar-search-input.form-control:active,.main-header #navbar-search-input.form-control:focus{border-color:rgba(0,0,0,.1);background:rgba(255,255,255,.9)}.main-header #navbar-search-input.form-control::-moz-placeholder{color:#ccc;opacity:1}.main-header #navbar-search-input.form-control:-ms-input-placeholder{color:#ccc}.main-header #navbar-search-input.form-control::-webkit-input-placeholder{color:#ccc}.main-header .navbar-custom-menu,.main-header .navbar-right{float:right}@media (max-width:991px){.main-header .navbar-custom-menu a,.main-header .navbar-right a{color:inherit;background:0 0}}@media (max-width:767px){.main-header .navbar-right{float:none}.navbar-collapse .main-header .navbar-right{margin:7.5px -15px}.main-header .navbar-right>li{color:inherit;border:0}}.main-header .sidebar-toggle{float:left;background-color:transparent;background-image:none;padding:15px 15px;font-family:fontAwesome}.main-header .sidebar-toggle:before{content:"\f0c9"}.main-header .sidebar-toggle:hover{color:#fff}.main-header .sidebar-toggle:active,.main-header .sidebar-toggle:focus{background:0 0}.main-header .sidebar-toggle .icon-bar{display:none}.main-header .navbar .nav>li.user>a>.fa,.main-header .navbar .nav>li.user>a>.glyphicon,.main-header .navbar .nav>li.user>a>.ion{margin-right:5px}.main-header .navbar .nav>li>a>.label{position:absolute;top:9px;right:7px;text-align:center;font-size:9px;padding:2px 3px;line-height:.9}.main-header .logo{-webkit-transition:width .3s ease-in-out;-o-transition:width .3s ease-in-out;transition:width .3s ease-in-out;display:block;float:left;height:50px;font-size:20px;line-height:50px;text-align:center;width:230px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:0 15px;font-weight:300;overflow:hidden}.main-header .logo .logo-lg{display:block}.main-header .logo .logo-mini{display:none}.main-header .navbar-brand{color:#fff}.content-header{position:relative;padding:15px 15px 0 15px}.content-header>h1{margin:0;font-size:24px}.content-header>h1>small{font-size:15px;display:inline-block;padding-left:4px;font-weight:300}.content-header>.breadcrumb{float:right;background:0 0;margin-top:0;margin-bottom:0;font-size:12px;padding:7px 5px;position:absolute;top:15px;right:10px;border-radius:2px}.content-header>.breadcrumb>li>a{color:#444;text-decoration:none;display:inline-block}.content-header>.breadcrumb>li>a>.fa,.content-header>.breadcrumb>li>a>.glyphicon,.content-header>.breadcrumb>li>a>.ion{margin-right:5px}.content-header>.breadcrumb>li+li:before{content:'>\00a0'}@media (max-width:991px){.content-header>.breadcrumb{position:relative;margin-top:5px;top:0;right:0;float:none;background:#d2d6de;padding-left:10px}.content-header>.breadcrumb li:before{color:#97a0b3}}.navbar-toggle{color:#fff;border:0;margin:0;padding:15px 15px}@media (max-width:991px){.navbar-custom-menu .navbar-nav>li{float:left}.navbar-custom-menu .navbar-nav{margin:0;float:left}.navbar-custom-menu .navbar-nav>li>a{padding-top:15px;padding-bottom:15px;line-height:20px}}@media (max-width:767px){.main-header{position:relative}.main-header .logo,.main-header .navbar{width:100%;float:none}.main-header .navbar{margin:0}.main-header .navbar-custom-menu{float:right}}@media (max-width:991px){.navbar-collapse.pull-left{float:none!important}.navbar-collapse.pull-left+.navbar-custom-menu{display:block;position:absolute;top:0;right:40px}}.left-side,.main-sidebar{position:absolute;top:0;left:0;padding-top:50px;min-height:100%;width:230px;z-index:810;-webkit-transition:-webkit-transform .3s ease-in-out,width .3s ease-in-out;-moz-transition:-moz-transform .3s ease-in-out,width .3s ease-in-out;-o-transition:-o-transform .3s ease-in-out,width .3s ease-in-out;transition:transform .3s ease-in-out,width .3s ease-in-out}@media (max-width:767px){.left-side,.main-sidebar{padding-top:100px}}@media (max-width:767px){.left-side,.main-sidebar{-webkit-transform:translate(-230px,0);-ms-transform:translate(-230px,0);-o-transform:translate(-230px,0);transform:translate(-230px,0)}}@media (min-width:768px){.sidebar-collapse .left-side,.sidebar-collapse .main-sidebar{-webkit-transform:translate(-230px,0);-ms-transform:translate(-230px,0);-o-transform:translate(-230px,0);transform:translate(-230px,0)}}@media (max-width:767px){.sidebar-open .left-side,.sidebar-open .main-sidebar{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}}.sidebar{padding-bottom:10px}.sidebar-form input:focus{border-color:transparent}.user-panel{position:relative;width:100%;padding:10px;overflow:hidden}.user-panel:after,.user-panel:before{content:" ";display:table}.user-panel:after{clear:both}.user-panel>.image>img{width:100%;max-width:45px;height:auto}.user-panel>.info{padding:5px 5px 5px 15px;line-height:1;position:absolute;left:55px}.user-panel>.info>p{font-weight:600;margin-bottom:9px}.user-panel>.info>a{text-decoration:none;padding-right:5px;margin-top:3px;font-size:11px}.user-panel>.info>a>.fa,.user-panel>.info>a>.glyphicon,.user-panel>.info>a>.ion{margin-right:3px}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-menu>li{position:relative;margin:0;padding:0}.sidebar-menu>li>a{padding:12px 5px 12px 15px;display:block}.sidebar-menu>li>a>.fa,.sidebar-menu>li>a>.glyphicon,.sidebar-menu>li>a>.ion{width:20px}.sidebar-menu>li .badge,.sidebar-menu>li .label{margin-right:5px}.sidebar-menu>li .badge{margin-top:3px}.sidebar-menu li.header{padding:10px 25px 10px 15px;font-size:12px}.sidebar-menu li>a>.fa-angle-left,.sidebar-menu li>a>.pull-right-container>.fa-angle-left{width:auto;height:auto;padding:0;margin-right:10px}.sidebar-menu li>a>.fa-angle-left{position:absolute;top:50%;right:10px;margin-top:-8px}.sidebar-menu li.active>a>.fa-angle-left,.sidebar-menu li.active>a>.pull-right-container>.fa-angle-left{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.sidebar-menu li.active>.treeview-menu{display:block}.sidebar-menu .treeview-menu{display:none;list-style:none;padding:0;margin:0;padding-left:5px}.sidebar-menu .treeview-menu .treeview-menu{padding-left:20px}.sidebar-menu .treeview-menu>li{margin:0}.sidebar-menu .treeview-menu>li>a{padding:5px 5px 5px 15px;display:block;font-size:14px}.sidebar-menu .treeview-menu>li>a>.fa,.sidebar-menu .treeview-menu>li>a>.glyphicon,.sidebar-menu .treeview-menu>li>a>.ion{width:20px}.sidebar-menu .treeview-menu>li>a>.fa-angle-down,.sidebar-menu .treeview-menu>li>a>.fa-angle-left,.sidebar-menu .treeview-menu>li>a>.pull-right-container>.fa-angle-down,.sidebar-menu .treeview-menu>li>a>.pull-right-container>.fa-angle-left{width:auto}@media (min-width:768px){.sidebar-mini.sidebar-collapse .content-wrapper,.sidebar-mini.sidebar-collapse .main-footer,.sidebar-mini.sidebar-collapse .right-side{margin-left:50px!important;z-index:840}.sidebar-mini.sidebar-collapse .main-sidebar{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);width:50px!important;z-index:850}.sidebar-mini.sidebar-collapse .sidebar-menu>li{position:relative}.sidebar-mini.sidebar-collapse .sidebar-menu>li>a{margin-right:0}.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>span{border-top-right-radius:4px}.sidebar-mini.sidebar-collapse .sidebar-menu>li:not(.treeview)>a>span{border-bottom-right-radius:4px}.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{padding-top:5px;padding-bottom:5px;border-bottom-right-radius:4px}.sidebar-mini.sidebar-collapse .sidebar-menu>li:hover>.treeview-menu,.sidebar-mini.sidebar-collapse .sidebar-menu>li:hover>a>span:not(.pull-right){display:block!important;position:absolute;width:180px;left:50px}.sidebar-mini.sidebar-collapse .sidebar-menu>li:hover>a>span{top:0;margin-left:-3px;padding:12px 5px 12px 20px;background-color:inherit}.sidebar-mini.sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container{position:relative!important;float:right;width:auto!important;left:180px!important;top:-22px!important;z-index:900}.sidebar-mini.sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container>.label:not(:first-of-type){display:none}.sidebar-mini.sidebar-collapse .sidebar-menu>li:hover>.treeview-menu{top:44px;margin-left:0}.sidebar-mini.sidebar-collapse .main-sidebar .user-panel>.info,.sidebar-mini.sidebar-collapse .sidebar-form,.sidebar-mini.sidebar-collapse .sidebar-menu li.header,.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu,.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>.pull-right,.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>span{display:none!important;-webkit-transform:translateZ(0)}.sidebar-mini.sidebar-collapse .main-header .logo{width:50px}.sidebar-mini.sidebar-collapse .main-header .logo>.logo-mini{display:block;margin-left:-15px;margin-right:-15px;font-size:18px}.sidebar-mini.sidebar-collapse .main-header .logo>.logo-lg{display:none}.sidebar-mini.sidebar-collapse .main-header .navbar{margin-left:50px}}.main-sidebar .user-panel,.sidebar-menu,.sidebar-menu>li.header{white-space:nowrap;overflow:hidden}.sidebar-menu:hover{overflow:visible}.sidebar-form,.sidebar-menu>li.header{overflow:hidden;text-overflow:clip}.sidebar-menu li>a{position:relative}.sidebar-menu li>a>.pull-right-container{position:absolute;right:10px;top:50%;margin-top:-7px}.control-sidebar-bg{position:fixed;z-index:1000;bottom:0}.control-sidebar,.control-sidebar-bg{top:0;right:-230px;width:230px;-webkit-transition:right .3s ease-in-out;-o-transition:right .3s ease-in-out;transition:right .3s ease-in-out}.control-sidebar{position:absolute;padding-top:50px;z-index:1010}@media (max-width:768px){.control-sidebar{padding-top:100px}}.control-sidebar>.tab-content{padding:10px 15px}.control-sidebar.control-sidebar-open,.control-sidebar.control-sidebar-open+.control-sidebar-bg{right:0}.control-sidebar-open .control-sidebar,.control-sidebar-open .control-sidebar-bg{right:0}@media (min-width:768px){.control-sidebar-open .content-wrapper,.control-sidebar-open .main-footer,.control-sidebar-open .right-side{margin-right:230px}}.nav-tabs.control-sidebar-tabs>li:first-of-type>a,.nav-tabs.control-sidebar-tabs>li:first-of-type>a:focus,.nav-tabs.control-sidebar-tabs>li:first-of-type>a:hover{border-left-width:0}.nav-tabs.control-sidebar-tabs>li>a{border-radius:0}.nav-tabs.control-sidebar-tabs>li>a,.nav-tabs.control-sidebar-tabs>li>a:hover{border-top:none;border-right:none;border-left:1px solid transparent;border-bottom:1px solid transparent}.nav-tabs.control-sidebar-tabs>li>a .icon{font-size:16px}.nav-tabs.control-sidebar-tabs>li.active>a,.nav-tabs.control-sidebar-tabs>li.active>a:active,.nav-tabs.control-sidebar-tabs>li.active>a:focus,.nav-tabs.control-sidebar-tabs>li.active>a:hover{border-top:none;border-right:none;border-bottom:none}@media (max-width:768px){.nav-tabs.control-sidebar-tabs{display:table}.nav-tabs.control-sidebar-tabs>li{display:table-cell}}.control-sidebar-heading{font-weight:400;font-size:16px;padding:10px 0;margin-bottom:10px}.control-sidebar-subheading{display:block;font-weight:400;font-size:14px}.control-sidebar-menu{list-style:none;padding:0;margin:0 -15px}.control-sidebar-menu>li>a{display:block;padding:10px 15px}.control-sidebar-menu>li>a:after,.control-sidebar-menu>li>a:before{content:" ";display:table}.control-sidebar-menu>li>a:after{clear:both}.control-sidebar-menu>li>a>.control-sidebar-subheading{margin-top:0}.control-sidebar-menu .menu-icon{float:left;width:35px;height:35px;border-radius:50%;text-align:center;line-height:35px}.control-sidebar-menu .menu-info{margin-left:45px;margin-top:3px}.control-sidebar-menu .menu-info>.control-sidebar-subheading{margin:0}.control-sidebar-menu .menu-info>p{margin:0;font-size:11px}.control-sidebar-menu .progress{margin:0}.control-sidebar-dark{color:#b8c7ce}.control-sidebar-dark,.control-sidebar-dark+.control-sidebar-bg{background:#222d32}.control-sidebar-dark .nav-tabs.control-sidebar-tabs{border-bottom:#1c2529}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a{background:#181f23;color:#b8c7ce}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover{border-left-color:#141a1d;border-bottom-color:#141a1d}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:active,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover{background:#1c2529}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover{color:#fff}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:active,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:hover{background:#222d32;color:#fff}.control-sidebar-dark .control-sidebar-heading,.control-sidebar-dark .control-sidebar-subheading{color:#fff}.control-sidebar-dark .control-sidebar-menu>li>a:hover{background:#1e282c}.control-sidebar-dark .control-sidebar-menu>li>a .menu-info>p{color:#b8c7ce}.control-sidebar-light{color:#5e5e5e}.control-sidebar-light,.control-sidebar-light+.control-sidebar-bg{background:#f9fafc;border-left:1px solid #d2d6de}.control-sidebar-light .nav-tabs.control-sidebar-tabs{border-bottom:#d2d6de}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a{background:#e8ecf4;color:#444}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:hover{border-left-color:#d2d6de;border-bottom-color:#d2d6de}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:active,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:hover{background:#eff1f7}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:active,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:hover{background:#f9fafc;color:#111}.control-sidebar-light .control-sidebar-heading,.control-sidebar-light .control-sidebar-subheading{color:#111}.control-sidebar-light .control-sidebar-menu{margin-left:-14px}.control-sidebar-light .control-sidebar-menu>li>a:hover{background:#f4f4f5}.control-sidebar-light .control-sidebar-menu>li>a .menu-info>p{color:#5e5e5e}.dropdown-menu{box-shadow:none;border-color:#eee}.dropdown-menu>li>a{color:#777}.dropdown-menu>li>a>.fa,.dropdown-menu>li>a>.glyphicon,.dropdown-menu>li>a>.ion{margin-right:10px}.dropdown-menu>li>a:hover{background-color:#e1e3e9;color:#333}.dropdown-menu>.divider{background-color:#eee}.navbar-nav>.messages-menu>.dropdown-menu,.navbar-nav>.notifications-menu>.dropdown-menu,.navbar-nav>.tasks-menu>.dropdown-menu{width:280px;padding:0;margin:0;top:100%}.navbar-nav>.messages-menu>.dropdown-menu>li,.navbar-nav>.notifications-menu>.dropdown-menu>li,.navbar-nav>.tasks-menu>.dropdown-menu>li{position:relative}.navbar-nav>.messages-menu>.dropdown-menu>li.header,.navbar-nav>.notifications-menu>.dropdown-menu>li.header,.navbar-nav>.tasks-menu>.dropdown-menu>li.header{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;background-color:#fff;padding:7px 10px;border-bottom:1px solid #f4f4f4;color:#444;font-size:14px}.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a,.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a,.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px;font-size:12px;background-color:#fff;padding:7px 10px;border-bottom:1px solid #eee;color:#444!important;text-align:center}@media (max-width:991px){.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a,.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a,.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a{background:#fff!important;color:#444!important}}.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a:hover,.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a:hover,.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a:hover{text-decoration:none;font-weight:400}.navbar-nav>.messages-menu>.dropdown-menu>li .menu,.navbar-nav>.notifications-menu>.dropdown-menu>li .menu,.navbar-nav>.tasks-menu>.dropdown-menu>li .menu{max-height:200px;margin:0;padding:0;list-style:none;overflow-x:hidden}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a,.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a,.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a{display:block;white-space:nowrap;border-bottom:1px solid #f4f4f4}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:hover,.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a:hover,.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a:hover{background:#f4f4f4;text-decoration:none}.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a{color:#444;overflow:hidden;text-overflow:ellipsis;padding:10px}.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.fa,.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.glyphicon,.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.ion{width:20px}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a{margin:0;padding:10px 10px}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>div>img{margin:auto 10px auto auto;width:40px;height:40px}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>h4{padding:0;margin:0 0 0 45px;color:#444;font-size:15px;position:relative}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>h4>small{color:#999;font-size:10px;position:absolute;top:0;right:0}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>p{margin:0 0 0 45px;font-size:12px;color:#888}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:after,.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:before{content:" ";display:table}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:after{clear:both}.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a{padding:10px}.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a>h3{font-size:14px;padding:0;margin:0 0 10px 0;color:#666}.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a>.progress{padding:0;margin:0}.navbar-nav>.user-menu>.dropdown-menu{border-top-right-radius:0;border-top-left-radius:0;padding:1px 0 0 0;border-top-width:0;width:280px}.navbar-nav>.user-menu>.dropdown-menu,.navbar-nav>.user-menu>.dropdown-menu>.user-body{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header{height:175px;padding:10px;text-align:center}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>img{z-index:5;height:90px;width:90px;border:3px solid;border-color:transparent;border-color:rgba(255,255,255,.2)}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p{z-index:5;color:#fff;color:rgba(255,255,255,.8);font-size:17px;margin-top:10px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p>small{display:block;font-size:12px}.navbar-nav>.user-menu>.dropdown-menu>.user-body{padding:15px;border-bottom:1px solid #f4f4f4;border-top:1px solid #ddd}.navbar-nav>.user-menu>.dropdown-menu>.user-body:after,.navbar-nav>.user-menu>.dropdown-menu>.user-body:before{content:" ";display:table}.navbar-nav>.user-menu>.dropdown-menu>.user-body:after{clear:both}.navbar-nav>.user-menu>.dropdown-menu>.user-body a{color:#444!important}@media (max-width:991px){.navbar-nav>.user-menu>.dropdown-menu>.user-body a{background:#fff!important;color:#444!important}}.navbar-nav>.user-menu>.dropdown-menu>.user-footer{background-color:#f9f9f9;padding:10px}.navbar-nav>.user-menu>.dropdown-menu>.user-footer:after,.navbar-nav>.user-menu>.dropdown-menu>.user-footer:before{content:" ";display:table}.navbar-nav>.user-menu>.dropdown-menu>.user-footer:after{clear:both}.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default{color:#666}@media (max-width:991px){.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:hover{background-color:#f9f9f9}}.navbar-nav>.user-menu .user-image{float:left;width:25px;height:25px;border-radius:50%;margin-right:10px;margin-top:-2px}@media (max-width:767px){.navbar-nav>.user-menu .user-image{float:none;margin-right:0;margin-top:-8px;line-height:10px}}.open:not(.dropup)>.animated-dropdown-menu{backface-visibility:visible!important;-webkit-animation:flipInX .7s both;-o-animation:flipInX .7s both;animation:flipInX .7s both}@keyframes flipInX{0%{transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{transform:perspective(400px)}}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px)}}.navbar-custom-menu>.navbar-nav>li{position:relative}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:0;left:auto}@media (max-width:991px){.navbar-custom-menu>.navbar-nav{float:right}.navbar-custom-menu>.navbar-nav>li{position:static}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:5%;left:auto;border:1px solid #ddd;background:#fff}}.form-control{border-radius:0;box-shadow:none;border-color:#d2d6de}.form-control:focus{border-color:#3c8dbc;box-shadow:none}.form-control:-ms-input-placeholder,.form-control::-moz-placeholder,.form-control::-webkit-input-placeholder{color:#bbb;opacity:1}.form-control:not(select){-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group.has-success label{color:#00a65a}.form-group.has-success .form-control,.form-group.has-success .input-group-addon{border-color:#00a65a;box-shadow:none}.form-group.has-success .help-block{color:#00a65a}.form-group.has-warning label{color:#f39c12}.form-group.has-warning .form-control,.form-group.has-warning .input-group-addon{border-color:#f39c12;box-shadow:none}.form-group.has-warning .help-block{color:#f39c12}.form-group.has-error label{color:#dd4b39}.form-group.has-error .form-control,.form-group.has-error .input-group-addon{border-color:#dd4b39;box-shadow:none}.form-group.has-error .help-block{color:#dd4b39}.input-group .input-group-addon{border-radius:0;border-color:#d2d6de;background-color:#fff}.btn-group-vertical .btn.btn-flat:first-of-type,.btn-group-vertical .btn.btn-flat:last-of-type{border-radius:0}.icheck>label{padding-left:0}.form-control-feedback.fa{line-height:34px}.form-group-lg .form-control+.form-control-feedback.fa,.input-group-lg+.form-control-feedback.fa,.input-lg+.form-control-feedback.fa{line-height:46px}.form-group-sm .form-control+.form-control-feedback.fa,.input-group-sm+.form-control-feedback.fa,.input-sm+.form-control-feedback.fa{line-height:30px}.progress,.progress>.progress-bar{-webkit-box-shadow:none;box-shadow:none}.progress,.progress .progress-bar,.progress>.progress-bar,.progress>.progress-bar .progress-bar{border-radius:1px}.progress-sm,.progress.sm{height:10px}.progress-sm,.progress-sm .progress-bar,.progress.sm,.progress.sm .progress-bar{border-radius:1px}.progress-xs,.progress.xs{height:7px}.progress-xs,.progress-xs .progress-bar,.progress.xs,.progress.xs .progress-bar{border-radius:1px}.progress-xxs,.progress.xxs{height:3px}.progress-xxs,.progress-xxs .progress-bar,.progress.xxs,.progress.xxs .progress-bar{border-radius:1px}.progress.vertical{position:relative;width:30px;height:200px;display:inline-block;margin-right:10px}.progress.vertical>.progress-bar{width:100%;position:absolute;bottom:0}.progress.vertical.progress-sm,.progress.vertical.sm{width:20px}.progress.vertical.progress-xs,.progress.vertical.xs{width:10px}.progress.vertical.progress-xxs,.progress.vertical.xxs{width:3px}.progress-group .progress-text{font-weight:600}.progress-group .progress-number{float:right}.table tr>td .progress{margin:0}.progress-bar-light-blue,.progress-bar-primary{background-color:#3c8dbc}.progress-striped .progress-bar-light-blue,.progress-striped .progress-bar-primary{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-green,.progress-bar-success{background-color:#00a65a}.progress-striped .progress-bar-green,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-aqua,.progress-bar-info{background-color:#00c0ef}.progress-striped .progress-bar-aqua,.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning,.progress-bar-yellow{background-color:#f39c12}.progress-striped .progress-bar-warning,.progress-striped .progress-bar-yellow{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger,.progress-bar-red{background-color:#dd4b39}.progress-striped .progress-bar-danger,.progress-striped .progress-bar-red{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.small-box{border-radius:2px;position:relative;display:block;margin-bottom:20px;box-shadow:0 1px 1px rgba(0,0,0,.1)}.small-box>.inner{padding:10px}.small-box>.small-box-footer{position:relative;text-align:center;padding:3px 0;color:#fff;color:rgba(255,255,255,.8);display:block;z-index:10;background:rgba(0,0,0,.1);text-decoration:none}.small-box>.small-box-footer:hover{color:#fff;background:rgba(0,0,0,.15)}.small-box h3{font-size:38px;font-weight:700;margin:0 0 10px 0;white-space:nowrap;padding:0}.small-box p{font-size:15px}.small-box p>small{display:block;color:#f9f9f9;font-size:13px;margin-top:5px}.small-box h3,.small-box p{z-index:5}.small-box .icon{-webkit-transition:all .3s linear;-o-transition:all .3s linear;transition:all .3s linear;position:absolute;top:-10px;right:10px;z-index:0;font-size:90px;color:rgba(0,0,0,.15)}.small-box:hover{text-decoration:none;color:#f9f9f9}.small-box:hover .icon{font-size:95px}@media (max-width:767px){.small-box{text-align:center}.small-box .icon{display:none}.small-box p{font-size:12px}}.box{position:relative;border-radius:3px;background:#fff;border-top:3px solid #d2d6de;margin-bottom:20px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.1)}.box.box-primary{border-top-color:#3c8dbc}.box.box-info{border-top-color:#00c0ef}.box.box-danger{border-top-color:#dd4b39}.box.box-warning{border-top-color:#f39c12}.box.box-success{border-top-color:#00a65a}.box.box-default{border-top-color:#d2d6de}.box.collapsed-box .box-body,.box.collapsed-box .box-footer{display:none}.box .nav-stacked>li{border-bottom:1px solid #f4f4f4;margin:0}.box .nav-stacked>li:last-of-type{border-bottom:none}.box.height-control .box-body{max-height:300px;overflow:auto}.box .border-right{border-right:1px solid #f4f4f4}.box .border-left{border-left:1px solid #f4f4f4}.box.box-solid{border-top:0}.box.box-solid>.box-header .btn.btn-default{background:0 0}.box.box-solid>.box-header .btn:hover,.box.box-solid>.box-header a:hover{background:rgba(0,0,0,.1)}.box.box-solid.box-default{border:1px solid #d2d6de}.box.box-solid.box-default>.box-header{color:#444;background:#d2d6de;background-color:#d2d6de}.box.box-solid.box-default>.box-header .btn,.box.box-solid.box-default>.box-header a{color:#444}.box.box-solid.box-primary{border:1px solid #3c8dbc}.box.box-solid.box-primary>.box-header{color:#fff;background:#3c8dbc;background-color:#3c8dbc}.box.box-solid.box-primary>.box-header .btn,.box.box-solid.box-primary>.box-header a{color:#fff}.box.box-solid.box-info{border:1px solid #00c0ef}.box.box-solid.box-info>.box-header{color:#fff;background:#00c0ef;background-color:#00c0ef}.box.box-solid.box-info>.box-header .btn,.box.box-solid.box-info>.box-header a{color:#fff}.box.box-solid.box-danger{border:1px solid #dd4b39}.box.box-solid.box-danger>.box-header{color:#fff;background:#dd4b39;background-color:#dd4b39}.box.box-solid.box-danger>.box-header .btn,.box.box-solid.box-danger>.box-header a{color:#fff}.box.box-solid.box-warning{border:1px solid #f39c12}.box.box-solid.box-warning>.box-header{color:#fff;background:#f39c12;background-color:#f39c12}.box.box-solid.box-warning>.box-header .btn,.box.box-solid.box-warning>.box-header a{color:#fff}.box.box-solid.box-success{border:1px solid #00a65a}.box.box-solid.box-success>.box-header{color:#fff;background:#00a65a;background-color:#00a65a}.box.box-solid.box-success>.box-header .btn,.box.box-solid.box-success>.box-header a{color:#fff}.box.box-solid>.box-header>.box-tools .btn{border:0;box-shadow:none}.box.box-solid[class*=bg]>.box-header{color:#fff}.box .box-group>.box{margin-bottom:5px}.box .knob-label{text-align:center;color:#333;font-weight:100;font-size:12px;margin-bottom:.3em}.box>.loading-img,.box>.overlay,.overlay-wrapper>.loading-img,.overlay-wrapper>.overlay{position:absolute;top:0;left:0;width:100%;height:100%}.box .overlay,.overlay-wrapper .overlay{z-index:50;background:rgba(255,255,255,.7);border-radius:3px}.box .overlay>.fa,.overlay-wrapper .overlay>.fa{position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-15px;color:#000;font-size:30px}.box .overlay.dark,.overlay-wrapper .overlay.dark{background:rgba(0,0,0,.5)}.box-body:after,.box-body:before,.box-footer:after,.box-footer:before,.box-header:after,.box-header:before{content:" ";display:table}.box-body:after,.box-footer:after,.box-header:after{clear:both}.box-header{color:#444;display:block;padding:10px;position:relative}.box-header.with-border{border-bottom:1px solid #f4f4f4}.collapsed-box .box-header.with-border{border-bottom:none}.box-header .box-title,.box-header>.fa,.box-header>.glyphicon,.box-header>.ion{display:inline-block;font-size:18px;margin:0;line-height:1}.box-header>.fa,.box-header>.glyphicon,.box-header>.ion{margin-right:5px}.box-header>.box-tools{position:absolute;right:10px;top:5px}.box-header>.box-tools [data-toggle=tooltip]{position:relative}.box-header>.box-tools.pull-right .dropdown-menu{right:0;left:auto}.box-header>.box-tools .dropdown-menu>li>a{color:#444!important}.btn-box-tool{padding:5px;font-size:12px;background:0 0;color:#97a0b3}.btn-box-tool:hover,.open .btn-box-tool{color:#606c84}.btn-box-tool.btn:active{box-shadow:none}.box-body{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;padding:10px}.no-header .box-body{border-top-right-radius:3px;border-top-left-radius:3px}.box-body>.table{margin-bottom:0}.box-body .fc{margin-top:5px}.box-body .full-width-chart{margin:-19px}.box-body.no-padding .full-width-chart{margin:-9px}.box-body .box-pane{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:3px}.box-body .box-pane-right{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0}.box-footer{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-top:1px solid #f4f4f4;padding:10px;background-color:#fff}.chart-legend{margin:10px 0}@media (max-width:991px){.chart-legend>li{float:left;margin-right:10px}}.box-comments{background:#f7f7f7}.box-comments .box-comment{padding:8px 0;border-bottom:1px solid #eee}.box-comments .box-comment:after,.box-comments .box-comment:before{content:" ";display:table}.box-comments .box-comment:after{clear:both}.box-comments .box-comment:last-of-type{border-bottom:0}.box-comments .box-comment:first-of-type{padding-top:0}.box-comments .box-comment img{float:left}.box-comments .comment-text{margin-left:40px;color:#555}.box-comments .username{color:#444;display:block;font-weight:600}.box-comments .text-muted{font-weight:400;font-size:12px}.todo-list{margin:0;padding:0;list-style:none;overflow:auto}.todo-list>li{border-radius:2px;padding:10px;background:#f4f4f4;margin-bottom:2px;border-left:2px solid #e6e7e8;color:#444}.todo-list>li:last-of-type{margin-bottom:0}.todo-list>li>input[type=checkbox]{margin:0 10px 0 5px}.todo-list>li .text{display:inline-block;margin-left:5px;font-weight:600}.todo-list>li .label{margin-left:10px;font-size:9px}.todo-list>li .tools{display:none;float:right;color:#dd4b39}.todo-list>li .tools>.fa,.todo-list>li .tools>.glyphicon,.todo-list>li .tools>.ion{margin-right:5px;cursor:pointer}.todo-list>li:hover .tools{display:inline-block}.todo-list>li.done{color:#999}.todo-list>li.done .text{text-decoration:line-through;font-weight:500}.todo-list>li.done .label{background:#d2d6de!important}.todo-list .danger{border-left-color:#dd4b39}.todo-list .warning{border-left-color:#f39c12}.todo-list .info{border-left-color:#00c0ef}.todo-list .success{border-left-color:#00a65a}.todo-list .primary{border-left-color:#3c8dbc}.todo-list .handle{display:inline-block;cursor:move;margin:0 5px}.chat{padding:5px 20px 5px 10px}.chat .item{margin-bottom:10px}.chat .item:after,.chat .item:before{content:" ";display:table}.chat .item:after{clear:both}.chat .item>img{width:40px;height:40px;border:2px solid transparent;border-radius:50%}.chat .item>.online{border:2px solid #00a65a}.chat .item>.offline{border:2px solid #dd4b39}.chat .item>.message{margin-left:55px;margin-top:-40px}.chat .item>.message>.name{display:block;font-weight:600}.chat .item>.attachment{border-radius:3px;background:#f4f4f4;margin-left:65px;margin-right:15px;padding:10px}.chat .item>.attachment>h4{margin:0 0 5px 0;font-weight:600;font-size:14px}.chat .item>.attachment>.filename,.chat .item>.attachment>p{font-weight:600;font-size:13px;font-style:italic;margin:0}.chat .item>.attachment:after,.chat .item>.attachment:before{content:" ";display:table}.chat .item>.attachment:after{clear:both}.box-input{max-width:200px}.modal .panel-body{color:#444}.info-box{display:block;min-height:90px;background:#fff;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.1);border-radius:2px;margin-bottom:15px}.info-box small{font-size:14px}.info-box .progress{background:rgba(0,0,0,.2);margin:5px -10px 5px -10px;height:2px}.info-box .progress,.info-box .progress .progress-bar{border-radius:0}.info-box .progress .progress-bar{background:#fff}.info-box-icon{border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px;display:block;float:left;height:90px;width:90px;text-align:center;font-size:45px;line-height:90px;background:rgba(0,0,0,.2)}.info-box-icon>img{max-width:100%}.info-box-content{padding:5px 10px;margin-left:90px}.info-box-number{display:block;font-weight:700;font-size:18px}.info-box-text,.progress-description{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-box-text{text-transform:uppercase}.info-box-more{display:block}.progress-description{margin:0}.timeline{position:relative;margin:0 0 30px 0;padding:0;list-style:none}.timeline:before{content:'';position:absolute;top:0;bottom:0;width:4px;background:#ddd;left:31px;margin:0;border-radius:2px}.timeline>li{position:relative;margin-right:10px;margin-bottom:15px}.timeline>li:after,.timeline>li:before{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li>.timeline-item{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);border-radius:3px;margin-top:0;background:#fff;color:#444;margin-left:60px;margin-right:15px;padding:0;position:relative}.timeline>li>.timeline-item>.time{color:#999;float:right;padding:10px;font-size:12px}.timeline>li>.timeline-item>.timeline-header{margin:0;color:#555;border-bottom:1px solid #f4f4f4;padding:10px;font-size:16px;line-height:1.1}.timeline>li>.timeline-item>.timeline-header>a{font-weight:600}.timeline>li>.timeline-item>.timeline-body,.timeline>li>.timeline-item>.timeline-footer{padding:10px}.timeline>li>.fa,.timeline>li>.glyphicon,.timeline>li>.ion{width:30px;height:30px;font-size:15px;line-height:30px;position:absolute;color:#666;background:#d2d6de;border-radius:50%;text-align:center;left:18px;top:0}.timeline>.time-label>span{font-weight:600;padding:5px;display:inline-block;background-color:#fff;border-radius:4px}.timeline-inverse>li>.timeline-item{background:#f0f0f0;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none}.timeline-inverse>li>.timeline-item>.timeline-header{border-bottom-color:#ddd}.btn{border-radius:3px;-webkit-box-shadow:none;box-shadow:none;border:1px solid transparent}.btn.uppercase{text-transform:uppercase}.btn.btn-flat{border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-width:1px}.btn:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);-moz-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:focus{outline:0}.btn.btn-file{position:relative;overflow:hidden}.btn.btn-file>input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;opacity:0;outline:0;background:#fff;cursor:inherit;display:block}.btn-default{background-color:#f4f4f4;color:#444;border-color:#ddd}.btn-default.hover,.btn-default:active,.btn-default:hover{background-color:#e7e7e7}.btn-primary{background-color:#3c8dbc;border-color:#367fa9}.btn-primary.hover,.btn-primary:active,.btn-primary:hover{background-color:#367fa9}.btn-success{background-color:#00a65a;border-color:#008d4c}.btn-success.hover,.btn-success:active,.btn-success:hover{background-color:#008d4c}.btn-info{background-color:#00c0ef;border-color:#00acd6}.btn-info.hover,.btn-info:active,.btn-info:hover{background-color:#00acd6}.btn-danger{background-color:#dd4b39;border-color:#d73925}.btn-danger.hover,.btn-danger:active,.btn-danger:hover{background-color:#d73925}.btn-warning{background-color:#f39c12;border-color:#e08e0b}.btn-warning.hover,.btn-warning:active,.btn-warning:hover{background-color:#e08e0b}.btn-outline{border:1px solid #fff;background:0 0;color:#fff}.btn-outline:active,.btn-outline:focus,.btn-outline:hover{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.7)}.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn[class*=bg-]:hover{-webkit-box-shadow:inset 0 0 100px rgba(0,0,0,.2);box-shadow:inset 0 0 100px rgba(0,0,0,.2)}.btn-app{border-radius:3px;position:relative;padding:15px 5px;margin:0 0 10px 10px;min-width:80px;height:60px;text-align:center;color:#666;border:1px solid #ddd;background-color:#f4f4f4;font-size:12px}.btn-app>.fa,.btn-app>.glyphicon,.btn-app>.ion{font-size:20px;display:block}.btn-app:hover{background:#f4f4f4;color:#444;border-color:#aaa}.btn-app:active,.btn-app:focus{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);-moz-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-app>.badge{position:absolute;top:-3px;right:-10px;font-size:10px;font-weight:400}.callout{border-radius:3px;margin:0 0 20px 0;padding:15px 30px 15px 15px;border-left:5px solid #eee}.callout a{color:#fff;text-decoration:underline}.callout a:hover{color:#eee}.callout h4{margin-top:0;font-weight:600}.callout p:last-child{margin-bottom:0}.callout .highlight,.callout code{background-color:#fff}.callout.callout-danger{border-color:#c23321}.callout.callout-warning{border-color:#c87f0a}.callout.callout-info{border-color:#0097bc}.callout.callout-success{border-color:#00733e}.alert{border-radius:3px}.alert h4{font-weight:600}.alert .icon{margin-right:10px}.alert .close{color:#000;opacity:.2}.alert .close:hover{opacity:.5}.alert a{color:#fff;text-decoration:underline}.alert-success{border-color:#008d4c}.alert-danger,.alert-error{border-color:#d73925}.alert-warning{border-color:#e08e0b}.alert-info{border-color:#00acd6}.nav>li>a:active,.nav>li>a:focus,.nav>li>a:hover{color:#444;background:#f7f7f7}.nav-pills>li>a{border-radius:0;border-top:3px solid transparent;color:#444}.nav-pills>li>a>.fa,.nav-pills>li>a>.glyphicon,.nav-pills>li>a>.ion{margin-right:5px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{border-top-color:#3c8dbc}.nav-pills>li.active>a{font-weight:600}.nav-stacked>li>a{border-radius:0;border-top:0;border-left:3px solid transparent;color:#444}.nav-stacked>li.active>a,.nav-stacked>li.active>a:hover{background:0 0;color:#444;border-top:0;border-left-color:#3c8dbc}.nav-stacked>li.header{border-bottom:1px solid #ddd;color:#777;margin-bottom:10px;padding:5px 10px;text-transform:uppercase}.nav-tabs-custom{margin-bottom:20px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.1);border-radius:3px}.nav-tabs-custom>.nav-tabs{margin:0;border-bottom-color:#f4f4f4;border-top-right-radius:3px;border-top-left-radius:3px}.nav-tabs-custom>.nav-tabs>li{border-top:3px solid transparent;margin-bottom:-2px;margin-right:5px}.nav-tabs-custom>.nav-tabs>li>a{color:#444;border-radius:0}.nav-tabs-custom>.nav-tabs>li>a.text-muted{color:#999}.nav-tabs-custom>.nav-tabs>li>a,.nav-tabs-custom>.nav-tabs>li>a:hover{background:0 0;margin:0}.nav-tabs-custom>.nav-tabs>li>a:hover{color:#999}.nav-tabs-custom>.nav-tabs>li:not(.active)>a:active,.nav-tabs-custom>.nav-tabs>li:not(.active)>a:focus,.nav-tabs-custom>.nav-tabs>li:not(.active)>a:hover{border-color:transparent}.nav-tabs-custom>.nav-tabs>li.active{border-top-color:#3c8dbc}.nav-tabs-custom>.nav-tabs>li.active:hover>a,.nav-tabs-custom>.nav-tabs>li.active>a{background-color:#fff;color:#444}.nav-tabs-custom>.nav-tabs>li.active>a{border-top-color:transparent;border-left-color:#f4f4f4;border-right-color:#f4f4f4}.nav-tabs-custom>.nav-tabs>li:first-of-type{margin-left:0}.nav-tabs-custom>.nav-tabs>li:first-of-type.active>a{border-left-color:transparent}.nav-tabs-custom>.nav-tabs.pull-right{float:none!important}.nav-tabs-custom>.nav-tabs.pull-right>li{float:right}.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type{margin-right:0}.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type>a{border-left-width:1px}.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type.active>a{border-left-color:#f4f4f4;border-right-color:transparent}.nav-tabs-custom>.nav-tabs>li.header{line-height:35px;padding:0 10px;font-size:20px;color:#444}.nav-tabs-custom>.nav-tabs>li.header>.fa,.nav-tabs-custom>.nav-tabs>li.header>.glyphicon,.nav-tabs-custom>.nav-tabs>li.header>.ion{margin-right:5px}.nav-tabs-custom>.tab-content{background:#fff;padding:10px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.nav-tabs-custom .dropdown.open>a:active,.nav-tabs-custom .dropdown.open>a:focus{background:0 0;color:#999}.nav-tabs-custom.tab-primary>.nav-tabs>li.active{border-top-color:#3c8dbc}.nav-tabs-custom.tab-info>.nav-tabs>li.active{border-top-color:#00c0ef}.nav-tabs-custom.tab-danger>.nav-tabs>li.active{border-top-color:#dd4b39}.nav-tabs-custom.tab-warning>.nav-tabs>li.active{border-top-color:#f39c12}.nav-tabs-custom.tab-success>.nav-tabs>li.active{border-top-color:#00a65a}.nav-tabs-custom.tab-default>.nav-tabs>li.active{border-top-color:#d2d6de}.pagination>li>a{background:#fafafa;color:#666}.pagination.pagination-flat>li>a{border-radius:0!important}.products-list{list-style:none;margin:0;padding:0}.products-list>.item{border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);padding:10px 0;background:#fff}.products-list>.item:after,.products-list>.item:before{content:" ";display:table}.products-list>.item:after{clear:both}.products-list .product-img{float:left}.products-list .product-img img{width:50px;height:50px}.products-list .product-info{margin-left:60px}.products-list .product-title{font-weight:600}.products-list .product-description{display:block;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.product-list-in-box>.item{-webkit-box-shadow:none;box-shadow:none;border-radius:0;border-bottom:1px solid #f4f4f4}.product-list-in-box>.item:last-of-type{border-bottom-width:0}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #f4f4f4}.table>thead>tr>th{border-bottom:2px solid #f4f4f4}.table tr td .progress{margin-top:5px}.table-bordered{border:1px solid #f4f4f4}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #f4f4f4}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table.no-border,.table.no-border td,.table.no-border th{border:0}table.text-center,table.text-center td,table.text-center th{text-align:center}.table.align th{text-align:left}.table.align td{text-align:right}.label-default{background-color:#d2d6de;color:#444}.direct-chat .box-body{border-bottom-right-radius:0;border-bottom-left-radius:0;position:relative;overflow-x:hidden;padding:0}.direct-chat.chat-pane-open .direct-chat-contacts{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.direct-chat-messages{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);padding:10px;height:250px;overflow:auto}.direct-chat-msg,.direct-chat-text{display:block}.direct-chat-msg{margin-bottom:10px}.direct-chat-msg:after,.direct-chat-msg:before{content:" ";display:table}.direct-chat-msg:after{clear:both}.direct-chat-contacts,.direct-chat-messages{-webkit-transition:-webkit-transform .5s ease-in-out;-moz-transition:-moz-transform .5s ease-in-out;-o-transition:-o-transform .5s ease-in-out;transition:transform .5s ease-in-out}.direct-chat-text{border-radius:5px;position:relative;padding:5px 10px;background:#d2d6de;border:1px solid #d2d6de;margin:5px 0 0 50px;color:#444}.direct-chat-text:after,.direct-chat-text:before{position:absolute;right:100%;top:15px;border:solid transparent;border-right-color:#d2d6de;content:' ';height:0;width:0;pointer-events:none}.direct-chat-text:after{border-width:5px;margin-top:-5px}.direct-chat-text:before{border-width:6px;margin-top:-6px}.right .direct-chat-text{margin-right:50px;margin-left:0}.right .direct-chat-text:after,.right .direct-chat-text:before{right:auto;left:100%;border-right-color:transparent;border-left-color:#d2d6de}.direct-chat-img{border-radius:50%;float:left;width:40px;height:40px}.right .direct-chat-img{float:right}.direct-chat-info{display:block;margin-bottom:2px;font-size:12px}.direct-chat-name{font-weight:600}.direct-chat-timestamp{color:#999}.direct-chat-contacts-open .direct-chat-contacts{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.direct-chat-contacts{-webkit-transform:translate(101%,0);-ms-transform:translate(101%,0);-o-transform:translate(101%,0);transform:translate(101%,0);position:absolute;top:0;bottom:0;height:250px;width:100%;background:#222d32;color:#fff;overflow:auto}.contacts-list>li{border-bottom:1px solid rgba(0,0,0,.2);padding:10px;margin:0}.contacts-list>li:after,.contacts-list>li:before{content:" ";display:table}.contacts-list>li:after{clear:both}.contacts-list>li:last-of-type{border-bottom:none}.contacts-list-img{border-radius:50%;width:40px;float:left}.contacts-list-info{margin-left:45px;color:#fff}.contacts-list-name,.contacts-list-status{display:block}.contacts-list-name{font-weight:600}.contacts-list-status{font-size:12px}.contacts-list-date{color:#aaa;font-weight:400}.contacts-list-msg{color:#999}.direct-chat-danger .right>.direct-chat-text{background:#dd4b39;border-color:#dd4b39;color:#fff}.direct-chat-danger .right>.direct-chat-text:after,.direct-chat-danger .right>.direct-chat-text:before{border-left-color:#dd4b39}.direct-chat-primary .right>.direct-chat-text{background:#3c8dbc;border-color:#3c8dbc;color:#fff}.direct-chat-primary .right>.direct-chat-text:after,.direct-chat-primary .right>.direct-chat-text:before{border-left-color:#3c8dbc}.direct-chat-warning .right>.direct-chat-text{background:#f39c12;border-color:#f39c12;color:#fff}.direct-chat-warning .right>.direct-chat-text:after,.direct-chat-warning .right>.direct-chat-text:before{border-left-color:#f39c12}.direct-chat-info .right>.direct-chat-text{background:#00c0ef;border-color:#00c0ef;color:#fff}.direct-chat-info .right>.direct-chat-text:after,.direct-chat-info .right>.direct-chat-text:before{border-left-color:#00c0ef}.direct-chat-success .right>.direct-chat-text{background:#00a65a;border-color:#00a65a;color:#fff}.direct-chat-success .right>.direct-chat-text:after,.direct-chat-success .right>.direct-chat-text:before{border-left-color:#00a65a}.users-list>li{width:25%;float:left;padding:10px;text-align:center}.users-list>li img{border-radius:50%;max-width:100%;height:auto}.users-list>li>a:hover,.users-list>li>a:hover .users-list-name{color:#999}.users-list-date,.users-list-name{display:block}.users-list-name{font-weight:600;color:#444;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.users-list-date{color:#999;font-size:12px}.carousel-control.left,.carousel-control.right{background-image:none}.carousel-control>.fa{font-size:40px;position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-20px}.modal{background:rgba(0,0,0,.3)}.modal-content{border-radius:0;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.125);box-shadow:0 2px 3px rgba(0,0,0,.125);border:0}@media (min-width:768px){.modal-content{-webkit-box-shadow:0 2px 3px rgba(0,0,0,.125);box-shadow:0 2px 3px rgba(0,0,0,.125)}}.modal-header{border-bottom-color:#f4f4f4}.modal-footer{border-top-color:#f4f4f4}.modal-primary .modal-footer,.modal-primary .modal-header{border-color:#307095}.modal-warning .modal-footer,.modal-warning .modal-header{border-color:#c87f0a}.modal-info .modal-footer,.modal-info .modal-header{border-color:#0097bc}.modal-success .modal-footer,.modal-success .modal-header{border-color:#00733e}.modal-danger .modal-footer,.modal-danger .modal-header{border-color:#c23321}.box-widget{border:none;position:relative}.widget-user .widget-user-header{padding:20px;height:120px;border-top-right-radius:3px;border-top-left-radius:3px}.widget-user .widget-user-username{margin-top:0;margin-bottom:5px;font-size:25px;font-weight:300;text-shadow:0 1px 1px rgba(0,0,0,.2)}.widget-user .widget-user-desc{margin-top:0}.widget-user .widget-user-image{position:absolute;top:65px;left:50%;margin-left:-45px}.widget-user .widget-user-image>img{width:90px;height:auto;border:3px solid #fff}.widget-user .box-footer{padding-top:30px}.widget-user-2 .widget-user-header{padding:20px;border-top-right-radius:3px;border-top-left-radius:3px}.widget-user-2 .widget-user-username{margin-top:5px;margin-bottom:5px;font-size:25px;font-weight:300}.widget-user-2 .widget-user-desc{margin-top:0}.widget-user-2 .widget-user-desc,.widget-user-2 .widget-user-username{margin-left:75px}.widget-user-2 .widget-user-image>img{width:65px;height:auto;float:left}.mailbox-messages>.table{margin:0}.mailbox-controls{padding:5px}.mailbox-controls.with-border{border-bottom:1px solid #f4f4f4}.mailbox-read-info{border-bottom:1px solid #f4f4f4;padding:10px}.mailbox-read-info h3{font-size:20px;margin:0}.mailbox-read-info h5{margin:0;padding:5px 0 0 0}.mailbox-read-time{color:#999;font-size:13px}.mailbox-read-message{padding:10px}.mailbox-attachments li{float:left;width:200px;border:1px solid #eee;margin-bottom:10px;margin-right:10px}.mailbox-attachment-name{font-weight:700;color:#666}.mailbox-attachment-icon,.mailbox-attachment-info,.mailbox-attachment-size{display:block}.mailbox-attachment-info{padding:10px;background:#f4f4f4}.mailbox-attachment-size{color:#999;font-size:12px}.mailbox-attachment-icon{text-align:center;font-size:65px;color:#666;padding:20px 10px}.mailbox-attachment-icon.has-img{padding:0}.mailbox-attachment-icon.has-img>img{max-width:100%;height:auto}.lockscreen{background:#d2d6de}.lockscreen-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300}.lockscreen-logo a{color:#444}.lockscreen-wrapper{max-width:400px;margin:0 auto;margin-top:10%}.lockscreen .lockscreen-name{text-align:center;font-weight:600}.lockscreen-item{border-radius:4px;padding:0;background:#fff;position:relative;margin:10px auto 30px auto;width:290px}.lockscreen-image{border-radius:50%;position:absolute;left:-10px;top:-25px;background:#fff;padding:5px;z-index:10}.lockscreen-image>img{border-radius:50%;width:70px;height:70px}.lockscreen-credentials{margin-left:70px}.lockscreen-credentials .form-control{border:0}.lockscreen-credentials .btn{background-color:#fff;border:0;padding:0 10px}.lockscreen-footer{margin-top:10px}.login-logo,.register-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300}.login-logo a,.register-logo a{color:#444}.login-page,.register-page{background:#d2d6de}.login-box,.register-box{width:360px;margin:7% auto}@media (max-width:768px){.login-box,.register-box{width:90%;margin-top:20px}}.login-box-body,.register-box-body{background:#fff;padding:20px;border-top:0;color:#666}.login-box-body .form-control-feedback,.register-box-body .form-control-feedback{color:#777}.login-box-msg,.register-box-msg{margin:0;text-align:center;padding:0 20px 20px 20px}.social-auth-links{margin:10px 0}.error-page{width:600px;margin:20px auto 0 auto}@media (max-width:991px){.error-page{width:100%}}.error-page>.headline{float:left;font-size:100px;font-weight:300}@media (max-width:991px){.error-page>.headline{float:none;text-align:center}}.error-page>.error-content{margin-left:190px;display:block}@media (max-width:991px){.error-page>.error-content{margin-left:0}}.error-page>.error-content>h3{font-weight:300;font-size:25px}@media (max-width:991px){.error-page>.error-content>h3{text-align:center}}.invoice{position:relative;background:#fff;border:1px solid #f4f4f4;padding:20px;margin:10px 25px}.invoice-title{margin-top:0}.profile-user-img{margin:0 auto;width:100px;padding:3px;border:3px solid #d2d6de}.profile-username{font-size:21px;margin-top:5px}.post{border-bottom:1px solid #d2d6de;margin-bottom:15px;padding-bottom:15px;color:#666}.post:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.post .user-block{margin-bottom:15px}.btn-social{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-social>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,.2)}.btn-social.btn-lg{padding-left:61px}.btn-social.btn-lg>:first-child{line-height:45px;width:45px;font-size:1.8em}.btn-social.btn-sm{padding-left:38px}.btn-social.btn-sm>:first-child{line-height:28px;width:28px;font-size:1.4em}.btn-social.btn-xs{padding-left:30px}.btn-social.btn-xs>:first-child{line-height:20px;width:20px;font-size:1.2em}.btn-social-icon{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:34px;width:34px;padding:0}.btn-social-icon>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,.2)}.btn-social-icon.btn-lg{padding-left:61px}.btn-social-icon.btn-lg>:first-child{line-height:45px;width:45px;font-size:1.8em}.btn-social-icon.btn-sm{padding-left:38px}.btn-social-icon.btn-sm>:first-child{line-height:28px;width:28px;font-size:1.4em}.btn-social-icon.btn-xs{padding-left:30px}.btn-social-icon.btn-xs>:first-child{line-height:20px;width:20px;font-size:1.2em}.btn-social-icon>:first-child{border:none;text-align:center;width:100%}.btn-social-icon.btn-lg{height:45px;width:45px;padding-left:0;padding-right:0}.btn-social-icon.btn-sm{height:30px;width:30px;padding-left:0;padding-right:0}.btn-social-icon.btn-xs{height:22px;width:22px;padding-left:0;padding-right:0}.btn-adn{color:#fff;background-color:#d87a68;border-color:rgba(0,0,0,.2)}.btn-adn.focus,.btn-adn:focus{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,.2)}.btn-adn:hover{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,.2)}.btn-adn.active,.btn-adn:active,.open>.dropdown-toggle.btn-adn{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,.2)}.btn-adn.active,.btn-adn:active,.open>.dropdown-toggle.btn-adn{background-image:none}.btn-adn .badge{color:#d87a68;background-color:#fff}.btn-bitbucket{color:#fff;background-color:#205081;border-color:rgba(0,0,0,.2)}.btn-bitbucket.focus,.btn-bitbucket:focus{color:#fff;background-color:#163758;border-color:rgba(0,0,0,.2)}.btn-bitbucket:hover{color:#fff;background-color:#163758;border-color:rgba(0,0,0,.2)}.btn-bitbucket.active,.btn-bitbucket:active,.open>.dropdown-toggle.btn-bitbucket{color:#fff;background-color:#163758;border-color:rgba(0,0,0,.2)}.btn-bitbucket.active,.btn-bitbucket:active,.open>.dropdown-toggle.btn-bitbucket{background-image:none}.btn-bitbucket .badge{color:#205081;background-color:#fff}.btn-dropbox{color:#fff;background-color:#1087dd;border-color:rgba(0,0,0,.2)}.btn-dropbox.focus,.btn-dropbox:focus{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,.2)}.btn-dropbox:hover{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,.2)}.btn-dropbox.active,.btn-dropbox:active,.open>.dropdown-toggle.btn-dropbox{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,.2)}.btn-dropbox.active,.btn-dropbox:active,.open>.dropdown-toggle.btn-dropbox{background-image:none}.btn-dropbox .badge{color:#1087dd;background-color:#fff}.btn-facebook{color:#fff;background-color:#3b5998;border-color:rgba(0,0,0,.2)}.btn-facebook.focus,.btn-facebook:focus{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,.2)}.btn-facebook:hover{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,.2)}.btn-facebook.active,.btn-facebook:active,.open>.dropdown-toggle.btn-facebook{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,.2)}.btn-facebook.active,.btn-facebook:active,.open>.dropdown-toggle.btn-facebook{background-image:none}.btn-facebook .badge{color:#3b5998;background-color:#fff}.btn-flickr{color:#fff;background-color:#ff0084;border-color:rgba(0,0,0,.2)}.btn-flickr.focus,.btn-flickr:focus{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,.2)}.btn-flickr:hover{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,.2)}.btn-flickr.active,.btn-flickr:active,.open>.dropdown-toggle.btn-flickr{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,.2)}.btn-flickr.active,.btn-flickr:active,.open>.dropdown-toggle.btn-flickr{background-image:none}.btn-flickr .badge{color:#ff0084;background-color:#fff}.btn-foursquare{color:#fff;background-color:#f94877;border-color:rgba(0,0,0,.2)}.btn-foursquare.focus,.btn-foursquare:focus{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,.2)}.btn-foursquare:hover{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,.2)}.btn-foursquare.active,.btn-foursquare:active,.open>.dropdown-toggle.btn-foursquare{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,.2)}.btn-foursquare.active,.btn-foursquare:active,.open>.dropdown-toggle.btn-foursquare{background-image:none}.btn-foursquare .badge{color:#f94877;background-color:#fff}.btn-github{color:#fff;background-color:#444;border-color:rgba(0,0,0,.2)}.btn-github.focus,.btn-github:focus{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,.2)}.btn-github:hover{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,.2)}.btn-github.active,.btn-github:active,.open>.dropdown-toggle.btn-github{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,.2)}.btn-github.active,.btn-github:active,.open>.dropdown-toggle.btn-github{background-image:none}.btn-github .badge{color:#444;background-color:#fff}.btn-google{color:#fff;background-color:#dd4b39;border-color:rgba(0,0,0,.2)}.btn-google.focus,.btn-google:focus{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,.2)}.btn-google:hover{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,.2)}.btn-google.active,.btn-google:active,.open>.dropdown-toggle.btn-google{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,.2)}.btn-google.active,.btn-google:active,.open>.dropdown-toggle.btn-google{background-image:none}.btn-google .badge{color:#dd4b39;background-color:#fff}.btn-instagram{color:#fff;background-color:#3f729b;border-color:rgba(0,0,0,.2)}.btn-instagram.focus,.btn-instagram:focus{color:#fff;background-color:#305777;border-color:rgba(0,0,0,.2)}.btn-instagram:hover{color:#fff;background-color:#305777;border-color:rgba(0,0,0,.2)}.btn-instagram.active,.btn-instagram:active,.open>.dropdown-toggle.btn-instagram{color:#fff;background-color:#305777;border-color:rgba(0,0,0,.2)}.btn-instagram.active,.btn-instagram:active,.open>.dropdown-toggle.btn-instagram{background-image:none}.btn-instagram .badge{color:#3f729b;background-color:#fff}.btn-linkedin{color:#fff;background-color:#007bb6;border-color:rgba(0,0,0,.2)}.btn-linkedin.focus,.btn-linkedin:focus{color:#fff;background-color:#005983;border-color:rgba(0,0,0,.2)}.btn-linkedin:hover{color:#fff;background-color:#005983;border-color:rgba(0,0,0,.2)}.btn-linkedin.active,.btn-linkedin:active,.open>.dropdown-toggle.btn-linkedin{color:#fff;background-color:#005983;border-color:rgba(0,0,0,.2)}.btn-linkedin.active,.btn-linkedin:active,.open>.dropdown-toggle.btn-linkedin{background-image:none}.btn-linkedin .badge{color:#007bb6;background-color:#fff}.btn-microsoft{color:#fff;background-color:#2672ec;border-color:rgba(0,0,0,.2)}.btn-microsoft.focus,.btn-microsoft:focus{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,.2)}.btn-microsoft:hover{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,.2)}.btn-microsoft.active,.btn-microsoft:active,.open>.dropdown-toggle.btn-microsoft{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,.2)}.btn-microsoft.active,.btn-microsoft:active,.open>.dropdown-toggle.btn-microsoft{background-image:none}.btn-microsoft .badge{color:#2672ec;background-color:#fff}.btn-openid{color:#fff;background-color:#f7931e;border-color:rgba(0,0,0,.2)}.btn-openid.focus,.btn-openid:focus{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,.2)}.btn-openid:hover{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,.2)}.btn-openid.active,.btn-openid:active,.open>.dropdown-toggle.btn-openid{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,.2)}.btn-openid.active,.btn-openid:active,.open>.dropdown-toggle.btn-openid{background-image:none}.btn-openid .badge{color:#f7931e;background-color:#fff}.btn-pinterest{color:#fff;background-color:#cb2027;border-color:rgba(0,0,0,.2)}.btn-pinterest.focus,.btn-pinterest:focus{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,.2)}.btn-pinterest:hover{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,.2)}.btn-pinterest.active,.btn-pinterest:active,.open>.dropdown-toggle.btn-pinterest{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,.2)}.btn-pinterest.active,.btn-pinterest:active,.open>.dropdown-toggle.btn-pinterest{background-image:none}.btn-pinterest .badge{color:#cb2027;background-color:#fff}.btn-reddit{color:#000;background-color:#eff7ff;border-color:rgba(0,0,0,.2)}.btn-reddit.focus,.btn-reddit:focus{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,.2)}.btn-reddit:hover{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,.2)}.btn-reddit.active,.btn-reddit:active,.open>.dropdown-toggle.btn-reddit{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,.2)}.btn-reddit.active,.btn-reddit:active,.open>.dropdown-toggle.btn-reddit{background-image:none}.btn-reddit .badge{color:#eff7ff;background-color:#000}.btn-soundcloud{color:#fff;background-color:#f50;border-color:rgba(0,0,0,.2)}.btn-soundcloud.focus,.btn-soundcloud:focus{color:#fff;background-color:#c40;border-color:rgba(0,0,0,.2)}.btn-soundcloud:hover{color:#fff;background-color:#c40;border-color:rgba(0,0,0,.2)}.btn-soundcloud.active,.btn-soundcloud:active,.open>.dropdown-toggle.btn-soundcloud{color:#fff;background-color:#c40;border-color:rgba(0,0,0,.2)}.btn-soundcloud.active,.btn-soundcloud:active,.open>.dropdown-toggle.btn-soundcloud{background-image:none}.btn-soundcloud .badge{color:#f50;background-color:#fff}.btn-tumblr{color:#fff;background-color:#2c4762;border-color:rgba(0,0,0,.2)}.btn-tumblr.focus,.btn-tumblr:focus{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,.2)}.btn-tumblr:hover{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,.2)}.btn-tumblr.active,.btn-tumblr:active,.open>.dropdown-toggle.btn-tumblr{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,.2)}.btn-tumblr.active,.btn-tumblr:active,.open>.dropdown-toggle.btn-tumblr{background-image:none}.btn-tumblr .badge{color:#2c4762;background-color:#fff}.btn-twitter{color:#fff;background-color:#55acee;border-color:rgba(0,0,0,.2)}.btn-twitter.focus,.btn-twitter:focus{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,.2)}.btn-twitter:hover{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,.2)}.btn-twitter.active,.btn-twitter:active,.open>.dropdown-toggle.btn-twitter{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,.2)}.btn-twitter.active,.btn-twitter:active,.open>.dropdown-toggle.btn-twitter{background-image:none}.btn-twitter .badge{color:#55acee;background-color:#fff}.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:rgba(0,0,0,.2)}.btn-vimeo.focus,.btn-vimeo:focus{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,.2)}.btn-vimeo:hover{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,.2)}.btn-vimeo.active,.btn-vimeo:active,.open>.dropdown-toggle.btn-vimeo{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,.2)}.btn-vimeo.active,.btn-vimeo:active,.open>.dropdown-toggle.btn-vimeo{background-image:none}.btn-vimeo .badge{color:#1ab7ea;background-color:#fff}.btn-vk{color:#fff;background-color:#587ea3;border-color:rgba(0,0,0,.2)}.btn-vk.focus,.btn-vk:focus{color:#fff;background-color:#466482;border-color:rgba(0,0,0,.2)}.btn-vk:hover{color:#fff;background-color:#466482;border-color:rgba(0,0,0,.2)}.btn-vk.active,.btn-vk:active,.open>.dropdown-toggle.btn-vk{color:#fff;background-color:#466482;border-color:rgba(0,0,0,.2)}.btn-vk.active,.btn-vk:active,.open>.dropdown-toggle.btn-vk{background-image:none}.btn-vk .badge{color:#587ea3;background-color:#fff}.btn-yahoo{color:#fff;background-color:#720e9e;border-color:rgba(0,0,0,.2)}.btn-yahoo.focus,.btn-yahoo:focus{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,.2)}.btn-yahoo:hover{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,.2)}.btn-yahoo.active,.btn-yahoo:active,.open>.dropdown-toggle.btn-yahoo{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,.2)}.btn-yahoo.active,.btn-yahoo:active,.open>.dropdown-toggle.btn-yahoo{background-image:none}.btn-yahoo .badge{color:#720e9e;background-color:#fff}.fc-button{background:#f4f4f4;background-image:none;color:#444;border-color:#ddd;border-bottom-color:#ddd}.fc-button.hover,.fc-button:active,.fc-button:hover{background-color:#e9e9e9}.fc-header-title h2{font-size:15px;line-height:1.6em;color:#666;margin-left:10px}.fc-header-right{padding-right:10px}.fc-header-left{padding-left:10px}.fc-widget-header{background:#fafafa}.fc-grid{width:100%;border:0}.fc-widget-content:first-of-type,.fc-widget-header:first-of-type{border-left:0;border-right:0}.fc-widget-content:last-of-type,.fc-widget-header:last-of-type{border-right:0}.fc-toolbar{padding:10px;margin:0}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px}.fc-color-picker{list-style:none;margin:0;padding:0}.fc-color-picker>li{float:left;font-size:30px;margin-right:5px;line-height:30px}.fc-color-picker>li .fa{-webkit-transition:-webkit-transform linear .3s;-moz-transition:-moz-transform linear .3s;-o-transition:-o-transform linear .3s;transition:transform linear .3s}.fc-color-picker>li .fa:hover{-webkit-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}#add-new-event{-webkit-transition:all linear .3s;-o-transition:all linear .3s;transition:all linear .3s}.external-event{padding:5px 10px;font-weight:700;margin-bottom:4px;box-shadow:0 1px 1px rgba(0,0,0,.1);text-shadow:0 1px 1px rgba(0,0,0,.1);border-radius:3px;cursor:move}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,.2)}.select2-container--default.select2-container--focus,.select2-container--default:active,.select2-container--default:focus,.select2-selection.select2-container--focus,.select2-selection:active,.select2-selection:focus{outline:0}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;padding:6px 12px;height:34px}.select2-container--default.select2-container--open{border-color:#3c8dbc}.select2-dropdown{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#3c8dbc;color:#fff}.select2-results__option{padding:6px 12px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0;height:auto;margin-top:-4px}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:6px;padding-left:20px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:28px;right:3px}.select2-container--default .select2-selection--single .select2-selection__arrow b{margin-top:0}.select2-dropdown .select2-search__field,.select2-search--inline .select2-search__field{border:1px solid #d2d6de}.select2-dropdown .select2-search__field:focus,.select2-search--inline .select2-search__field:focus{outline:0;border:1px solid #3c8dbc}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[aria-selected=true]:hover{color:#444}.select2-container--default .select2-selection--multiple{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-selection--multiple:focus{border-color:#3c8dbc}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#d2d6de}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc;border-color:#367fa9;padding:1px 10px;color:#fff}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-right:5px;color:rgba(255,255,255,.7)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-selection--single .select2-selection__rendered{padding-right:10px}.pad{padding:10px}.margin{margin:10px}.margin-bottom{margin-bottom:20px}.margin-bottom-none{margin-bottom:0}.margin-r-5{margin-right:5px}.inline{display:inline}.description-block{display:block;margin:10px 0;text-align:center}.description-block.margin-bottom{margin-bottom:25px}.description-block>.description-header{margin:0;padding:0;font-weight:600;font-size:16px}.description-block>.description-text{text-transform:uppercase}.alert-danger,.alert-error,.alert-info,.alert-success,.alert-warning,.bg-aqua,.bg-aqua-active,.bg-black,.bg-black-active,.bg-blue,.bg-blue-active,.bg-fuchsia,.bg-fuchsia-active,.bg-green,.bg-green-active,.bg-light-blue,.bg-light-blue-active,.bg-lime,.bg-lime-active,.bg-maroon,.bg-maroon-active,.bg-navy,.bg-navy-active,.bg-olive,.bg-olive-active,.bg-orange,.bg-orange-active,.bg-purple,.bg-purple-active,.bg-red,.bg-red-active,.bg-teal,.bg-teal-active,.bg-yellow,.bg-yellow-active,.callout.callout-danger,.callout.callout-info,.callout.callout-success,.callout.callout-warning,.label-danger,.label-info,.label-primary,.label-success,.label-warning,.modal-danger .modal-body,.modal-danger .modal-footer,.modal-danger .modal-header,.modal-info .modal-body,.modal-info .modal-footer,.modal-info .modal-header,.modal-primary .modal-body,.modal-primary .modal-footer,.modal-primary .modal-header,.modal-success .modal-body,.modal-success .modal-footer,.modal-success .modal-header,.modal-warning .modal-body,.modal-warning .modal-footer,.modal-warning .modal-header{color:#fff!important}.bg-gray{color:#000;background-color:#d2d6de!important}.bg-gray-light{background-color:#f7f7f7}.bg-black{background-color:#111!important}.alert-danger,.alert-error,.bg-red,.callout.callout-danger,.label-danger,.modal-danger .modal-body{background-color:#dd4b39!important}.alert-warning,.bg-yellow,.callout.callout-warning,.label-warning,.modal-warning .modal-body{background-color:#f39c12!important}.alert-info,.bg-aqua,.callout.callout-info,.label-info,.modal-info .modal-body{background-color:#00c0ef!important}.bg-blue{background-color:#0073b7!important}.bg-light-blue,.label-primary,.modal-primary .modal-body{background-color:#3c8dbc!important}.alert-success,.bg-green,.callout.callout-success,.label-success,.modal-success .modal-body{background-color:#00a65a!important}.bg-navy{background-color:#001f3f!important}.bg-teal{background-color:#39cccc!important}.bg-olive{background-color:#3d9970!important}.bg-lime{background-color:#01ff70!important}.bg-orange{background-color:#ff851b!important}.bg-fuchsia{background-color:#f012be!important}.bg-purple{background-color:#605ca8!important}.bg-maroon{background-color:#d81b60!important}.bg-gray-active{color:#000;background-color:#b5bbc8!important}.bg-black-active{background-color:#000!important}.bg-red-active,.modal-danger .modal-footer,.modal-danger .modal-header{background-color:#d33724!important}.bg-yellow-active,.modal-warning .modal-footer,.modal-warning .modal-header{background-color:#db8b0b!important}.bg-aqua-active,.modal-info .modal-footer,.modal-info .modal-header{background-color:#00a7d0!important}.bg-blue-active{background-color:#005384!important}.bg-light-blue-active,.modal-primary .modal-footer,.modal-primary .modal-header{background-color:#357ca5!important}.bg-green-active,.modal-success .modal-footer,.modal-success .modal-header{background-color:#008d4c!important}.bg-navy-active{background-color:#001a35!important}.bg-teal-active{background-color:#30bbbb!important}.bg-olive-active{background-color:#368763!important}.bg-lime-active{background-color:#00e765!important}.bg-orange-active{background-color:#ff7701!important}.bg-fuchsia-active{background-color:#db0ead!important}.bg-purple-active{background-color:#555299!important}.bg-maroon-active{background-color:#ca195a!important}[class^=bg-].disabled{opacity:.65}.text-red{color:#dd4b39!important}.text-yellow{color:#f39c12!important}.text-aqua{color:#00c0ef!important}.text-blue{color:#0073b7!important}.text-black{color:#111!important}.text-light-blue{color:#3c8dbc!important}.text-green{color:#00a65a!important}.text-gray{color:#d2d6de!important}.text-navy{color:#001f3f!important}.text-teal{color:#39cccc!important}.text-olive{color:#3d9970!important}.text-lime{color:#01ff70!important}.text-orange{color:#ff851b!important}.text-fuchsia{color:#f012be!important}.text-purple{color:#605ca8!important}.text-maroon{color:#d81b60!important}.link-muted{color:#7a869d}.link-muted:focus,.link-muted:hover{color:#606c84}.link-black{color:#666}.link-black:focus,.link-black:hover{color:#999}.hide{display:none!important}.no-border{border:0!important}.no-padding{padding:0!important}.no-margin{margin:0!important}.no-shadow{box-shadow:none!important}.chart-legend,.contacts-list,.list-unstyled,.mailbox-attachments,.users-list{list-style:none;margin:0;padding:0}.list-group-unbordered>.list-group-item{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0}.flat{border-radius:0!important}.text-bold,.text-bold.table td,.text-bold.table th{font-weight:700}.text-sm{font-size:12px}.jqstooltip{padding:5px!important;width:auto!important;height:auto!important}.bg-teal-gradient{background:#39cccc!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#39cccc),color-stop(1,#7adddd))!important;background:-ms-linear-gradient(bottom,#39cccc,#7adddd)!important;background:-moz-linear-gradient(center bottom,#39cccc 0,#7adddd 100%)!important;background:-o-linear-gradient(#7adddd,#39cccc)!important;color:#fff}.bg-light-blue-gradient{background:#3c8dbc!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#3c8dbc),color-stop(1,#67a8ce))!important;background:-ms-linear-gradient(bottom,#3c8dbc,#67a8ce)!important;background:-moz-linear-gradient(center bottom,#3c8dbc 0,#67a8ce 100%)!important;background:-o-linear-gradient(#67a8ce,#3c8dbc)!important;color:#fff}.bg-blue-gradient{background:#0073b7!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#0073b7),color-stop(1,#0089db))!important;background:-ms-linear-gradient(bottom,#0073b7,#0089db)!important;background:-moz-linear-gradient(center bottom,#0073b7 0,#0089db 100%)!important;background:-o-linear-gradient(#0089db,#0073b7)!important;color:#fff}.bg-aqua-gradient{background:#00c0ef!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#00c0ef),color-stop(1,#14d1ff))!important;background:-ms-linear-gradient(bottom,#00c0ef,#14d1ff)!important;background:-moz-linear-gradient(center bottom,#00c0ef 0,#14d1ff 100%)!important;background:-o-linear-gradient(#14d1ff,#00c0ef)!important;color:#fff}.bg-yellow-gradient{background:#f39c12!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#f39c12),color-stop(1,#f7bc60))!important;background:-ms-linear-gradient(bottom,#f39c12,#f7bc60)!important;background:-moz-linear-gradient(center bottom,#f39c12 0,#f7bc60 100%)!important;background:-o-linear-gradient(#f7bc60,#f39c12)!important;color:#fff}.bg-purple-gradient{background:#605ca8!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#605ca8),color-stop(1,#9491c4))!important;background:-ms-linear-gradient(bottom,#605ca8,#9491c4)!important;background:-moz-linear-gradient(center bottom,#605ca8 0,#9491c4 100%)!important;background:-o-linear-gradient(#9491c4,#605ca8)!important;color:#fff}.bg-green-gradient{background:#00a65a!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#00a65a),color-stop(1,#00ca6d))!important;background:-ms-linear-gradient(bottom,#00a65a,#00ca6d)!important;background:-moz-linear-gradient(center bottom,#00a65a 0,#00ca6d 100%)!important;background:-o-linear-gradient(#00ca6d,#00a65a)!important;color:#fff}.bg-red-gradient{background:#dd4b39!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#dd4b39),color-stop(1,#e47365))!important;background:-ms-linear-gradient(bottom,#dd4b39,#e47365)!important;background:-moz-linear-gradient(center bottom,#dd4b39 0,#e47365 100%)!important;background:-o-linear-gradient(#e47365,#dd4b39)!important;color:#fff}.bg-black-gradient{background:#111!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#111),color-stop(1,#2b2b2b))!important;background:-ms-linear-gradient(bottom,#111,#2b2b2b)!important;background:-moz-linear-gradient(center bottom,#111 0,#2b2b2b 100%)!important;background:-o-linear-gradient(#2b2b2b,#111)!important;color:#fff}.bg-maroon-gradient{background:#d81b60!important;background:-webkit-gradient(linear,left bottom,left top,color-stop(0,#d81b60),color-stop(1,#e73f7c))!important;background:-ms-linear-gradient(bottom,#d81b60,#e73f7c)!important;background:-moz-linear-gradient(center bottom,#d81b60 0,#e73f7c 100%)!important;background:-o-linear-gradient(#e73f7c,#d81b60)!important;color:#fff}.description-block .description-icon{font-size:16px}.no-pad-top{padding-top:0}.position-static{position:static!important}.list-header{font-size:15px;padding:10px 4px;font-weight:700;color:#666}.list-seperator{height:1px;background:#f4f4f4;margin:15px 0 9px 0}.list-link>a{padding:4px;color:#777}.list-link>a:hover{color:#222}.font-light{font-weight:300}.user-block:after,.user-block:before{content:" ";display:table}.user-block:after{clear:both}.user-block img{width:40px;height:40px;float:left}.user-block .comment,.user-block .description,.user-block .username{display:block;margin-left:50px}.user-block .username{font-size:16px;font-weight:600}.user-block .description{color:#999;font-size:13px}.user-block.user-block-sm .comment,.user-block.user-block-sm .description,.user-block.user-block-sm .username{margin-left:40px}.user-block.user-block-sm .username{font-size:14px}.box-comments .box-comment img,.img-lg,.img-md,.img-sm,.user-block.user-block-sm img{float:left}.box-comments .box-comment img,.img-sm,.user-block.user-block-sm img{width:30px!important;height:30px!important}.img-sm+.img-push{margin-left:40px}.img-md{width:60px;height:60px}.img-md+.img-push{margin-left:70px}.img-lg{width:100px;height:100px}.img-lg+.img-push{margin-left:110px}.img-bordered{border:3px solid #d2d6de;padding:3px}.img-bordered-sm{border:2px solid #d2d6de;padding:2px}.attachment-block{border:1px solid #f4f4f4;padding:5px;margin-bottom:10px;background:#f7f7f7}.attachment-block .attachment-img{max-width:100px;max-height:100px;height:auto;float:left}.attachment-block .attachment-pushed{margin-left:110px}.attachment-block .attachment-heading{margin:0}.attachment-block .attachment-text{color:#555}.connectedSortable{min-height:100px}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sort-highlight{background:#f4f4f4;border:1px dashed #ddd;margin-bottom:10px}.full-opacity-hover{opacity:.65}.full-opacity-hover:hover{opacity:1}.chart{position:relative;overflow:hidden;width:100%}.chart canvas,.chart svg{width:100%!important}@media print{.content-header,.left-side,.main-header,.main-sidebar,.no-print{display:none!important}.content-wrapper,.main-footer,.right-side{margin-left:0!important;min-height:0!important;-webkit-transform:translate(0,0)!important;-ms-transform:translate(0,0)!important;-o-transform:translate(0,0)!important;transform:translate(0,0)!important}.fixed .content-wrapper,.fixed .right-side{padding-top:0!important}.invoice{width:100%;border:0;margin:0;padding:0}.invoice-col{float:left;width:33.3333333%}.table-responsive{overflow:auto}.table-responsive>.table tr td,.table-responsive>.table tr th{white-space:normal!important}} shinydashboard/inst/AdminLTE/fonts/ 0000755 0001762 0000144 00000000000 15001455546 016764 5 ustar ligges users shinydashboard/inst/AdminLTE/fonts/Source_Sans_Pro_400.ttf 0000644 0001762 0000144 00000104370 15001455546 023137 0 ustar ligges users GDEFDr nh @GPOSÔ½ãy n¨ pGSUBñgÖW ˆ àOS/2Z´”[ e, `cmapó0ùµ eŒ æcvt
™ ú i4 (fpgmYœ7 gt sgaspÿÿ n` glyf#)”ˆ ]ìheadþ³â a 6hhea£¡ e $hmtx¦¨&: