diff --git a/.Rbuildignore b/.Rbuildignore index 349d6839..66645d0d 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,6 +1,7 @@ ^.*\.Rproj$ ^\.Rproj\.user$ ^tools$ +^srcjs$ ^tests-manual$ ^\.travis\.yml$ ^appveyor\.yml$ diff --git a/DESCRIPTION b/DESCRIPTION index e8780704..66d83901 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -18,4 +18,4 @@ Imports: shiny (>= 0.12.1), htmltools (>= 0.2.6) BugReports: https://github.com/rstudio/shinydashboard -RoxygenNote: 5.0.1 +RoxygenNote: 6.0.1 diff --git a/NEWS.md b/NEWS.md index 1c9352fb..a6802ecd 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,8 +1,33 @@ -shinydashboard 0.5.3.9000 +shinydashboard 0.6 ========================= +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/pull/199/commits/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/pull/199/commits/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/pull/199/commits/ea915038ae2126f48c15e3aac41782a22b16c506)). More updates to Gruntfile and structure. (commit [4e80616](https://github.com/rstudio/shinydashboard/pull/199/commits/4e80616c5b3aa0dc73022dc815288b5ba7c35be0)) + +* Better shown/hidden mechanic for Shiny inputs inside collapsible `menuItem`s. (commit [6901b90](https://github.com/rstudio/shinydashboard/pull/199/commits/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/pull/199/commits/25725a67ce3dd841786dd82b0e46624c6a7d4722)) + +* Added manual tests for bookmarking and the shown/hidden events that happen on the sidebar. (commit [9e3e55d](https://github.com/rstudio/shinydashboard/pull/199/commits/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/pull/199/commits/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)). @@ -15,10 +40,14 @@ shinydashboard 0.5.3.9000 * 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) -* 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) - * 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/pull/199/commits/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 diff --git a/R/dashboardPage.R b/R/dashboardPage.R index 40e78fea..e35c9eca 100644 --- a/R/dashboardPage.R +++ b/R/dashboardPage.R @@ -57,9 +57,9 @@ dashboardPage <- function(header, sidebar, body, title = NULL, body ) - # if the sidebar has the class "start-collapsed", it means that the user set - # the `collapsed` argument of `dashboardSidebar` to TRUE - collapsed <- "start-collapsed" %in% strsplit(sidebar$attribs$class, " ")[[1]] + # 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( diff --git a/R/dashboardSidebar.R b/R/dashboardSidebar.R index 338a1be2..1f6be3fc 100644 --- a/R/dashboardSidebar.R +++ b/R/dashboardSidebar.R @@ -117,12 +117,20 @@ dashboardSidebar <- function(..., disable = FALSE, width = NULL, collapsed = FAL ')))) } + # 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 (also as a class) to the `dashboardPage()` function - tags$aside(class = paste("main-sidebar", if (collapsed) "start-collapsed"), - custom_css, + # just passed through (as the `data-collapsed` attribute) to the + # `dashboardPage()` function + tags$aside( + class = "main-sidebar", `data-collapsed` = dataValueString, custom_css, tags$section( class = "sidebar", `data-disable` = if (disable) 1 else NULL, @@ -236,6 +244,13 @@ sidebarSearchForm <- function(textId, buttonId, label = "Search...", #' @param selected If \code{TRUE}, this \code{menuItem} or \code{menuSubItem} #' will start selected. If no item have \code{selected=TRUE}, then the first #' \code{menuItem} will start selected. +#' @param expandedName A unique name given to each \code{menuItem} that serves +#' to indicate which one (if any) is currently expanded. (This is only applicable +#' to \code{menuItem}s that have children and it is mostly only useful for +#' bookmarking state.) +#' @param startExpanded Should this \code{menuItem} be expanded on app startup? +#' (This is only applicable to \code{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 \code{\link{menuSubItem}}s. #' @param .list An optional list containing items to put in the menu Same as the #' \code{...} arguments, but in list format. This can be useful when working @@ -263,7 +278,9 @@ sidebarMenu <- function(..., id = NULL, .list = NULL) { # 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) { - if (length(item$children) == 0) { + + # in the cases that the children of menuItems are NOT menuSubItems + if (is.atomic(item) || length(item$children) == 0) { return(item) } @@ -274,6 +291,7 @@ sidebarMenu <- function(..., id = NULL, .list = NULL) { # 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 @@ -328,18 +346,25 @@ sidebarMenu <- function(..., id = NULL, .list = NULL) { 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(id = id, class = "sidebar-menu", items)) + 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) { + 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") @@ -394,6 +419,18 @@ menuItem <- function(text, ..., icon = NULL, badgeLabel = NULL, badgeColor = "gr ) } + # 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, @@ -403,7 +440,11 @@ menuItem <- function(text, ..., icon = NULL, badgeLabel = NULL, badgeColor = "gr # 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 = "treeview-menu", subItems)) + 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)) ) } diff --git a/R/deps.R b/R/deps.R index c5276df4..8376d43d 100644 --- a/R/deps.R +++ b/R/deps.R @@ -13,9 +13,11 @@ appendDependencies <- function(x, value) { 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") } @@ -28,7 +30,7 @@ addDeps <- function(x) { htmlDependency("shinydashboard", as.character(utils::packageVersion("shinydashboard")), c(file = system.file(package = "shinydashboard")), - script = "shinydashboard.js", + script = shinydashboard_js, stylesheet = "shinydashboard.css" ) ) diff --git a/R/utils.R b/R/utils.R index 4f56b558..5f7563ab 100644 --- a/R/utils.R +++ b/R/utils.R @@ -198,3 +198,24 @@ tagMatches <- function(item, ..., id = NULL, name = NULL, class = NULL) { 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` +} diff --git a/inst/AdminLTE/AdminLTE.min.css b/inst/AdminLTE/AdminLTE.min.css index b8bacd08..f1056e5e 100644 --- a/inst/AdminLTE/AdminLTE.min.css +++ b/inst/AdminLTE/AdminLTE.min.css @@ -4,4 +4,4 @@ * Website: Almsaeed Studio * License: Open source - MIT * Please visit http://opensource.org/licenses/MIT for more information -!*/.layout-boxed body,.layout-boxed html,body,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) 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}.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;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;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}.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}@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 0 0 5px;margin:0}.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-open .control-sidebar,.control-sidebar-open .control-sidebar-bg,.control-sidebar.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-radius:4px 4px 0 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-radius:0 0 4px 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}.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;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;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;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}.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}.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}.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}.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}.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}.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-radius:0 0 3px 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-radius:0 0 0 3px}.box-body .box-pane-right{border-radius:0 0 3px}.box-footer{border-radius:0 0 3px 3px;border-top:1px solid #f4f4f4;padding:10px;background-color:#fff}@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 .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;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;height:2px}.info-box .progress,.info-box .progress .progress-bar{border-radius:0}.info-box .progress .progress-bar{background:#fff}.info-box-icon{border-radius:2px 0 0 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;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;filter:alpha(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;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;filter:alpha(opacity=20)}.alert .close:hover{opacity:.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}.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,.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}.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:10% auto 0}.lockscreen .lockscreen-name{text-align:center;font-weight:600}.lockscreen-item{border-radius:4px;padding:0;background:#fff;position:relative;margin:10px auto 30px;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}.social-auth-links{margin:10px 0}.error-page{width:600px;margin:20px auto 0}@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;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;line-height:34px;font-size:1.6em}.btn-social-icon.btn-lg>:first-child{line-height:45px;width:45px;font-size:1.8em}.btn-social-icon.btn-sm>:first-child{line-height:28px;width:28px;font-size:1.4em}.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.active,.btn-adn.focus,.btn-adn:active,.btn-adn:focus,.btn-adn:hover,.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.active,.btn-bitbucket.focus,.btn-bitbucket:active,.btn-bitbucket:focus,.btn-bitbucket:hover,.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.active,.btn-dropbox.focus,.btn-dropbox:active,.btn-dropbox:focus,.btn-dropbox:hover,.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.active,.btn-facebook.focus,.btn-facebook:active,.btn-facebook:focus,.btn-facebook:hover,.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.active,.btn-flickr.focus,.btn-flickr:active,.btn-flickr:focus,.btn-flickr:hover,.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.active,.btn-foursquare.focus,.btn-foursquare:active,.btn-foursquare:focus,.btn-foursquare:hover,.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.active,.btn-github.focus,.btn-github:active,.btn-github:focus,.btn-github:hover,.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.active,.btn-google.focus,.btn-google:active,.btn-google:focus,.btn-google:hover,.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.active,.btn-instagram.focus,.btn-instagram:active,.btn-instagram:focus,.btn-instagram:hover,.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.active,.btn-linkedin.focus,.btn-linkedin:active,.btn-linkedin:focus,.btn-linkedin:hover,.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.active,.btn-microsoft.focus,.btn-microsoft:active,.btn-microsoft:focus,.btn-microsoft:hover,.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.active,.btn-openid.focus,.btn-openid:active,.btn-openid:focus,.btn-openid:hover,.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.active,.btn-pinterest.focus,.btn-pinterest:active,.btn-pinterest:focus,.btn-pinterest:hover,.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.active,.btn-reddit.focus,.btn-reddit:active,.btn-reddit:focus,.btn-reddit:hover,.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.active,.btn-soundcloud.focus,.btn-soundcloud:active,.btn-soundcloud:focus,.btn-soundcloud:hover,.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.active,.btn-tumblr.focus,.btn-tumblr:active,.btn-tumblr:focus,.btn-tumblr:hover,.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.active,.btn-twitter.focus,.btn-twitter:active,.btn-twitter:focus,.btn-twitter:hover,.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.active,.btn-vimeo.focus,.btn-vimeo:active,.btn-vimeo:focus,.btn-vimeo:hover,.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.active,.btn-vk.focus,.btn-vk:active,.btn-vk:focus,.btn-vk:hover,.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.active,.btn-yahoo.focus,.btn-yahoo:active,.btn-yahoo:focus,.btn-yahoo:hover,.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;color:#444;border-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;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;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:#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;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:#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;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:700;color:#666}.list-seperator{height:1px;background:#f4f4f4;margin:15px 0 9px}.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;filter:alpha(opacity=65)}.full-opacity-hover:hover{opacity:1;filter:alpha(opacity=100)}.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}} \ No newline at end of file +!*/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}} \ No newline at end of file diff --git a/inst/AdminLTE/_all-skins.min.css b/inst/AdminLTE/_all-skins.min.css index cfc4277d..ec314886 100644 --- a/inst/AdminLTE/_all-skins.min.css +++ b/inst/AdminLTE/_all-skins.min.css @@ -1 +1 @@ -.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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 0}.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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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}.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-radius:2px 0 0 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-radius:0 2px 2px 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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 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: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}.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-radius:2px 0 0 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-radius:0 2px 2px 0}@media (min-width:768px){.skin-purple-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}} \ No newline at end of file +.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}} \ No newline at end of file diff --git a/inst/AdminLTE/app.js b/inst/AdminLTE/app.js old mode 100755 new mode 100644 index 90f82bb2..4df01176 --- a/inst/AdminLTE/app.js +++ b/inst/AdminLTE/app.js @@ -1,3 +1,6 @@ +//--------------------------------------------------------------------- +// Source file: ../srcjs/AdminLTE/app.js + /*! AdminLTE app.js * ================ * Main JS application file for AdminLTE v2. This file @@ -424,6 +427,12 @@ function _init() { //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 @@ -780,3 +789,5 @@ function _init() { }); }; }(jQuery)); + +//# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/inst/AdminLTE/app.js.map b/inst/AdminLTE/app.js.map new file mode 100644 index 00000000..eecfaa73 --- /dev/null +++ b/inst/AdminLTE/app.js.map @@ -0,0 +1 @@ +{"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"]} \ No newline at end of file diff --git a/inst/AdminLTE/app.min.js b/inst/AdminLTE/app.min.js index a46917a2..377d604c 100644 --- a/inst/AdminLTE/app.min.js +++ b/inst/AdminLTE/app.min.js @@ -1,2 +1,2 @@ -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);"undefined"!=typeof f&&f.height()>e&&$(".content-wrapper, .right-side").css("min-height",f.height())}},fixSidebar:function(){return $("body").hasClass("fixed")?("undefined"==typeof $.fn.slimScroll&&window.console&&window.console.error("Error: the fixed layout requires the slimscroll plugin!"),void($.AdminLTE.options.sidebarSlimScroll&&"undefined"!=typeof $.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"})))):void("undefined"!=typeof $.fn.slimScroll&&$(".sidebar").slimScroll({destroy:!0}).height("auto"))}},$.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");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),d=$(b.toggleBtnSelector);d.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 e=$(".control-sidebar-bg");a._fix(e),$("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){var b=a.parents(".box").first();b.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&&"undefined"!=typeof $.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(){var a=$(this).parents(".direct-chat").first();a.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),f=b.find(e.trigger).first();f.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(){"undefined"!=typeof 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); +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);"undefined"!=typeof f&&f.height()>e&&$(".content-wrapper, .right-side").css("min-height",f.height())}},fixSidebar:function(){return $("body").hasClass("fixed")?("undefined"==typeof $.fn.slimScroll&&window.console&&window.console.error("Error: the fixed layout requires the slimscroll plugin!"),void($.AdminLTE.options.sidebarSlimScroll&&"undefined"!=typeof $.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"})))):void("undefined"!=typeof $.fn.slimScroll&&$(".sidebar").slimScroll({destroy:!0}).height("auto"))}},$.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),d=$(b.toggleBtnSelector);d.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 e=$(".control-sidebar-bg");a._fix(e),$("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){var b=a.parents(".box").first();b.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&&"undefined"!=typeof $.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(){var a=$(this).parents(".direct-chat").first();a.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),f=b.find(e.trigger).first();f.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(){"undefined"!=typeof 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 \ No newline at end of file diff --git a/inst/AdminLTE/app.min.js.map b/inst/AdminLTE/app.min.js.map index a7f33619..93c78bbf 100644 --- a/inst/AdminLTE/app.min.js.map +++ b/inst/AdminLTE/app.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["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","console","error","sidebarSlimScroll","destroy","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","slideDown","o","sidebar","btn","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","rBtn","load","activateBox","toggleBox","button","removeBox","todolist","onCheck","ele","onUncheck","iCheck"],"mappings":"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","file":"app.min.js"} \ No newline at end of file +{"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","console","error","sidebarSlimScroll","destroy","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","btn","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","rBtn","load","activateBox","toggleBox","button","removeBox","todolist","onCheck","ele","onUncheck","iCheck"],"mappings":"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","file":"app.min.js"} \ No newline at end of file diff --git a/inst/shinydashboard.js b/inst/shinydashboard.js index c9b6db1d..b526dec4 100644 --- a/inst/shinydashboard.js +++ b/inst/shinydashboard.js @@ -1,161 +1,284 @@ -/* jshint browser:true, jquery:true, indent:2 */ -/* global Shiny */ +//--------------------------------------------------------------------- +// Source file: ../srcjs/_start.js $(function() { - // 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() { - var $this = $(this); - var $sidebarMenu = $this.closest("ul.sidebar-menu"); - - // Find all tab links under sidebar-menu - var $tablinks = $sidebarMenu.find("a[data-toggle='tab']"); - - // If any other items are active, deactivate them - $tablinks.not($this).parent("li").removeClass("active"); - - // Trigger event for the tabItemInputBinding - $sidebarMenu.trigger('change.tabItemInputBinding'); - }; - - $(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 = $("ul.sidebar-menu").find("a").filter("[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) { - $startTab.tab("show"); + +//--------------------------------------------------------------------- +// 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) { + $startTab.tab("show"); + return; + } + + // If we got this far, just activate the first tab. + if (! $tablinks.parent("li").hasClass("active") ) { + $tablinks.first().tab("show"); + $(".sidebarMenuSelectedTabItem").attr("data-value", + $tablinks.first().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(); +} + +// Whenever the sidebar expand/collapse button is clicked: +$(document).on("click", ".sidebar-toggle", 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.toggleValue($obj); + $obj.trigger('change'); +}); + +// 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; } - // If we got this far, just activate the first tab. - if (! $tablinks.parent("li").hasClass("active") ) { - $tablinks.first().tab("show"); - } - }; + var $html = $($.parseHTML(html)); + + // Convert the inner contents to HTML, and pass to renderHtml + Shiny.renderHtml($html.html(), el, dependencies); - ensureActivatedTab(); + // Extract class of wrapper, and add them to the wrapper element + el.className = 'shinydashboard-menu-output shiny-bound-output ' + + $html.attr('class'); - // Optionally disable sidebar - if ($("section.sidebar").data("disable")) { - $("body").addClass("sidebar-collapse"); - $(".navbar > .sidebar-toggle").hide(); + Shiny.initializeInputs(el); + Shiny.bindAll(el); + ensureActivatedTab(); // eslint-disable-line } +}); +Shiny.outputBindings.register(menuOutputBinding, + "shinydashboard.menuOutputBinding"); - // Trigger the resize event when the sidebar is collapsed/expanded - // (this allows images to be responsive and resize themselves) - $(document).on("click", ".sidebar-toggle", function() { - $(window).trigger("resize"); - }); - - $(document).on("click", ".treeview > a", function() { - $(this).next(".treeview-menu").trigger("shown"); - }); - - // 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; +//--------------------------------------------------------------------- +// 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'); + } +}); - var $html = $($.parseHTML(html)); +Shiny.inputBindings.register(tabItemInputBinding, 'shinydashboard.tabItemInput'); - // Convert the inner contents to HTML, and pass to renderHtml - Shiny.renderHtml($html.html(), el, dependencies); +//--------------------------------------------------------------------- +// Source file: ../srcjs/input_binding_sidebarCollapsed.js - // Extract class of wrapper, and add them to the wrapper element - el.className = 'shinydashboard-menu-output shiny-bound-output ' + - $html.attr('class'); +/* global Shiny */ - Shiny.initializeInputs(el); - Shiny.bindAll(el); - } - }); - Shiny.outputBindings.register(menuOutputBinding, - "shinydashboard.menuOutputBinding"); - - - // 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('ul.sidebar-menu'); - }, - getValue: function(el) { - var anchor = $(el).find('li:not(.treeview).active').children('a'); - if (anchor.length === 1) - return this._getTabName(anchor); - - return null; - }, - setValue: function(el, value) { - var self = this; - var anchors = $(el).find('li:not(.treeview)').children('a'); - anchors.each(function() { - if (self._getTabName($(this)) === value) { - $(this).tab('show'); - 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'); +// sidebarCollapsedInputBinding +// ------------------------------------------------------------------ +// This keeps tracks of whether the sidebar is expanded (default) +// or collapsed +var sidebarCollapsedInputBinding = new Shiny.InputBinding(); +$.extend(sidebarCollapsedInputBinding, { + find: function(scope) { + return $(scope).find('.main-sidebar').first(); + }, + getId: function(el) { + return "sidebarCollapsed"; + }, + 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) { + return $(scope).find('section.sidebar'); + }, + getId: function(el) { + return "sidebarItemExpanded"; + }, + getValue: function(el) { + var $open = $(el).find('li ul.menu-open'); + if ($open.length === 1) return $open.attr('data-expanded'); + else return null; + }, + 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 \ No newline at end of file diff --git a/inst/shinydashboard.js.map b/inst/shinydashboard.js.map new file mode 100644 index 00000000..1ac0fbb1 --- /dev/null +++ b/inst/shinydashboard.js.map @@ -0,0 +1 @@ +{"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":"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","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 $startTab.tab(\"show\");\n return;\n }\n\n // If we got this far, just activate the first tab.\n if (! $tablinks.parent(\"li\").hasClass(\"active\") ) {\n $tablinks.first().tab(\"show\");\n $(\".sidebarMenuSelectedTabItem\").attr(\"data-value\",\n $tablinks.first().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// Whenever the sidebar expand/collapse button is clicked:\n$(document).on(\"click\", \".sidebar-toggle\", 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.toggleValue($obj);\n $obj.trigger('change');\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 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 return $(scope).find('.main-sidebar').first();\n },\n getId: function(el) {\n return \"sidebarCollapsed\";\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 return $(scope).find('section.sidebar');\n },\n getId: function(el) {\n return \"sidebarItemExpanded\";\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 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"]} \ No newline at end of file diff --git a/inst/shinydashboard.min.js b/inst/shinydashboard.min.js new file mode 100644 index 00000000..57d7c5e3 --- /dev/null +++ b/inst/shinydashboard.min.js @@ -0,0 +1,4 @@ +/*! shinydashboard 0.5.3.9000 | (c) 2017-2017 RStudio, Inc. | License: GPL-2 | file LICENSE */ + +$(function(){var a=function(){var a=$(".sidebar-menu a[data-toggle='tab'],.sidebar-menu li.treeview > a");a.not($(this)).parent("li").removeClass("active");var b=$(".sidebarMenuSelectedTabItem"),c=b.data("shiny-input-binding");"undefined"!=typeof c&&(c.setValue(b,$(this).attr("data-value")),b.trigger("change"))};$(document).on("shown.bs.tab",'.sidebar-menu a[data-toggle="tab"]',a);var b=function(){var a=$(".sidebar-menu a[data-toggle='tab']"),b=a.filter("[data-start-selected='1']");return 0!==b.length?void b.tab("show"):void(a.parent("li").hasClass("active")||(a.first().tab("show"),$(".sidebarMenuSelectedTabItem").attr("data-value",a.first().attr("data-value"))))};b(),$("section.sidebar").data("disable")&&($("body").addClass("sidebar-collapse"),$(".navbar > .sidebar-toggle").hide()),$(document).on("click",".sidebar-toggle",function(){$(window).trigger("resize");var a=$(".main-sidebar.shiny-bound-input"),b=a.data("shiny-input-binding");b.toggleValue(a),a.trigger("change")}),$(document).on("click",".treeview > a",function(){var a=$(this).next();a.hasClass("menu-open")?a.trigger("hidden"):a.hasClass("treeview-menu")&&a.trigger("shown");var b=$("section.sidebar.shiny-bound-input");setTimeout(function(){b.trigger("change")},600)});var c=new Shiny.OutputBinding;$.extend(c,{find:function(a){return $(a).find(".shinydashboard-menu-output")},onValueError:function(a,b){Shiny.unbindAll(a),this.renderError(a,b)},renderValue:function(a,c){Shiny.unbindAll(a);var d,e=[];if(null!==c){"string"==typeof c?d=c:"object"==typeof c&&(d=c.html,e=c.deps);var f=$($.parseHTML(d));Shiny.renderHtml(f.html(),a,e),a.className="shinydashboard-menu-output shiny-bound-output "+f.attr("class"),Shiny.initializeInputs(a),Shiny.bindAll(a),b()}}}),Shiny.outputBindings.register(c,"shinydashboard.menuOutputBinding");var d=new Shiny.InputBinding;$.extend(d,{find:function(a){return $(a).find(".sidebarMenuSelectedTabItem")},getValue:function(a){var b=$(a).attr("data-value");return"null"===b?null:b},setValue:function(a,b){var c=this,d=$(a).parent("ul.sidebar-menu").find("li:not(.treeview)").children("a");d.each(function(){if(c._getTabName($(this))===b)return $(this).tab("show"),$(a).attr("data-value",c._getTabName($(this))),!1})},receiveMessage:function(a,b){b.hasOwnProperty("value")&&this.setValue(a,b.value)},subscribe:function(a,b){$(a).on("change.tabItemInputBinding",function(){b()})},unsubscribe:function(a){$(a).off(".tabItemInputBinding")},_getTabName:function(a){return a.attr("data-value")}}),Shiny.inputBindings.register(d,"shinydashboard.tabItemInput");var e=new Shiny.InputBinding;$.extend(e,{find:function(a){return $(a).find(".main-sidebar").first()},getId:function(a){return"sidebarCollapsed"},getValue:function(a){return"true"===$(a).attr("data-collapsed")},setValue:function(a,b){$(a).attr("data-collapsed",b)},toggleValue:function(a){var b=this.getValue(a),c=b?"false":"true";this.setValue(a,c)},receiveMessage:function(a,b){b.hasOwnProperty("value")&&this.setValue(a,b.value)},subscribe:function(a,b){$(a).on("change.sidebarCollapsedInputBinding",function(){b()})},unsubscribe:function(a){$(a).off(".sidebarCollapsedInputBinding")}}),Shiny.inputBindings.register(e,"shinydashboard.sidebarCollapsedInputBinding");var f=new Shiny.InputBinding;$.extend(f,{find:function(a){return $(a).find("section.sidebar")},getId:function(a){return"sidebarItemExpanded"},getValue:function(a){var b=$(a).find("li ul.menu-open");return 1===b.length?b.attr("data-expanded"):null},subscribe:function(a,b){$(a).on("change.sidebarmenuExpandedInputBinding",function(){b()})},unsubscribe:function(a){$(a).off(".sidebarmenuExpandedInputBinding")}}),Shiny.inputBindings.register(f,"shinydashboard.sidebarmenuExpandedInputBinding")}); +//# sourceMappingURL=shinydashboard.min.js.map \ No newline at end of file diff --git a/inst/shinydashboard.min.js.map b/inst/shinydashboard.min.js.map new file mode 100644 index 00000000..7f5e9752 --- /dev/null +++ b/inst/shinydashboard.min.js.map @@ -0,0 +1 @@ +{"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"],"names":["$","deactivateOtherTabs","$tablinks","not","this","parent","removeClass","$obj","inputBinding","data","setValue","attr","trigger","document","on","ensureActivatedTab","$startTab","filter","length","tab","hasClass","first","addClass","hide","window","toggleValue","$menu","next","setTimeout","menuOutputBinding","Shiny","OutputBinding","extend","find","scope","onValueError","el","err","unbindAll","renderError","renderValue","html","dependencies","deps","$html","parseHTML","renderHtml","className","initializeInputs","bindAll","outputBindings","register","tabItemInputBinding","InputBinding","getValue","value","self","anchors","children","each","_getTabName","receiveMessage","hasOwnProperty","subscribe","callback","unsubscribe","off","anchor","inputBindings","sidebarCollapsedInputBinding","getId","current","newVal","sidebarmenuExpandedInputBinding","$open"],"mappings":"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","file":"shinydashboard.min.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 $startTab.tab(\"show\");\n return;\n }\n\n // If we got this far, just activate the first tab.\n if (! $tablinks.parent(\"li\").hasClass(\"active\") ) {\n $tablinks.first().tab(\"show\");\n $(\".sidebarMenuSelectedTabItem\").attr(\"data-value\",\n $tablinks.first().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// Whenever the sidebar expand/collapse button is clicked:\n$(document).on(\"click\", \".sidebar-toggle\", 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.toggleValue($obj);\n $obj.trigger('change');\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 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 return $(scope).find('.main-sidebar').first();\n },\n getId: function(el) {\n return \"sidebarCollapsed\";\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 return $(scope).find('section.sidebar');\n },\n getId: function(el) {\n return \"sidebarItemExpanded\";\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 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"]} \ No newline at end of file diff --git a/man/box.Rd b/man/box.Rd index 9626aaf0..d1a0b9f3 100644 --- a/man/box.Rd +++ b/man/box.Rd @@ -171,4 +171,3 @@ shinyApp( Other boxes: \code{\link{infoBox}}, \code{\link{tabBox}}, \code{\link{valueBox}} } - diff --git a/man/dashboardBody.Rd b/man/dashboardBody.Rd index 91162ecb..532e6461 100644 --- a/man/dashboardBody.Rd +++ b/man/dashboardBody.Rd @@ -16,4 +16,3 @@ pattern is for the main body to contain \code{\link{tabItems}}. \seealso{ \code{\link{tabItems}}, \code{\link{box}}, \code{\link{valueBox}}. } - diff --git a/man/dashboardHeader.Rd b/man/dashboardHeader.Rd index 02cf4bd0..c31a01cb 100644 --- a/man/dashboardHeader.Rd +++ b/man/dashboardHeader.Rd @@ -100,4 +100,3 @@ shinyApp( \seealso{ \code{\link{dropdownMenu}} } - diff --git a/man/dashboardPage.Rd b/man/dashboardPage.Rd index d8b8969a..2e29f3e0 100644 --- a/man/dashboardPage.Rd +++ b/man/dashboardPage.Rd @@ -43,4 +43,3 @@ shinyApp( \code{\link{dashboardHeader}}, \code{\link{dashboardSidebar}}, \code{\link{dashboardBody}}. } - diff --git a/man/dashboardSidebar.Rd b/man/dashboardSidebar.Rd index 4fcc1e6a..20aa54ed 100644 --- a/man/dashboardSidebar.Rd +++ b/man/dashboardSidebar.Rd @@ -72,4 +72,3 @@ shinyApp( \seealso{ \code{\link{sidebarMenu}} } - diff --git a/man/dropdownMenu.Rd b/man/dropdownMenu.Rd index 960985e4..2307cd01 100644 --- a/man/dropdownMenu.Rd +++ b/man/dropdownMenu.Rd @@ -42,4 +42,3 @@ Create a dropdown menu to place in a dashboard header \seealso{ \code{\link{dashboardHeader}} for example usage. } - diff --git a/man/dropdownMenuOutput.Rd b/man/dropdownMenuOutput.Rd index dfe460a9..a8cf541a 100644 --- a/man/dropdownMenuOutput.Rd +++ b/man/dropdownMenuOutput.Rd @@ -21,4 +21,3 @@ Other menu outputs: \code{\link{menuItemOutput}}, \code{\link{menuOutput}}, \code{\link{renderMenu}}, \code{\link{sidebarMenuOutput}} } - diff --git a/man/infoBox.Rd b/man/infoBox.Rd index e2695477..eb9aaf38 100644 --- a/man/infoBox.Rd +++ b/man/infoBox.Rd @@ -45,4 +45,3 @@ boxes are meant to be placed in the main body of a dashboard. Other boxes: \code{\link{box}}, \code{\link{tabBox}}, \code{\link{valueBox}} } - diff --git a/man/menuItemOutput.Rd b/man/menuItemOutput.Rd index b2bf5776..cd981ca6 100644 --- a/man/menuItemOutput.Rd +++ b/man/menuItemOutput.Rd @@ -21,4 +21,3 @@ Other menu outputs: \code{\link{dropdownMenuOutput}}, \code{\link{menuOutput}}, \code{\link{renderMenu}}, \code{\link{sidebarMenuOutput}} } - diff --git a/man/menuOutput.Rd b/man/menuOutput.Rd index ab37fa3e..4868a606 100644 --- a/man/menuOutput.Rd +++ b/man/menuOutput.Rd @@ -28,4 +28,3 @@ Other menu outputs: \code{\link{dropdownMenuOutput}}, \code{\link{menuItemOutput}}, \code{\link{renderMenu}}, \code{\link{sidebarMenuOutput}} } - diff --git a/man/messageItem.Rd b/man/messageItem.Rd index 4f049405..0a54071f 100644 --- a/man/messageItem.Rd +++ b/man/messageItem.Rd @@ -30,4 +30,3 @@ Create a message item to place in a dropdown message menu Other menu items: \code{\link{notificationItem}}, \code{\link{taskItem}} } - diff --git a/man/notificationItem.Rd b/man/notificationItem.Rd index 43f08b33..3095571f 100644 --- a/man/notificationItem.Rd +++ b/man/notificationItem.Rd @@ -26,4 +26,3 @@ Create a notification item to place in a dropdown notification menu Other menu items: \code{\link{messageItem}}, \code{\link{taskItem}} } - diff --git a/man/renderDropdownMenu.Rd b/man/renderDropdownMenu.Rd index d0212477..74737c6e 100644 --- a/man/renderDropdownMenu.Rd +++ b/man/renderDropdownMenu.Rd @@ -18,4 +18,3 @@ is useful if you want to save an expression in a variable.} \description{ This is the server-side function for creating a dynamic dropdown menu. } - diff --git a/man/renderMenu.Rd b/man/renderMenu.Rd index 98ace611..caef628e 100644 --- a/man/renderMenu.Rd +++ b/man/renderMenu.Rd @@ -102,4 +102,3 @@ Other menu outputs: \code{\link{dropdownMenuOutput}}, \code{\link{menuItemOutput}}, \code{\link{menuOutput}}, \code{\link{sidebarMenuOutput}} } - diff --git a/man/renderValueBox.Rd b/man/renderValueBox.Rd index c29ee10d..0eb5ab66 100644 --- a/man/renderValueBox.Rd +++ b/man/renderValueBox.Rd @@ -1,8 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/valueBoxOutput.R \name{renderValueBox} -\alias{renderInfoBox} \alias{renderValueBox} +\alias{renderInfoBox} \title{Create an info or value box output (server side)} \usage{ renderValueBox(expr, env = parent.frame(), quoted = FALSE) @@ -62,4 +62,3 @@ shinyApp(ui, server) \seealso{ \code{\link{valueBoxOutput}} for the corresponding UI-side function. } - diff --git a/man/shinydashboard.Rd b/man/shinydashboard.Rd index 500fbf81..6fb3314e 100644 --- a/man/shinydashboard.Rd +++ b/man/shinydashboard.Rd @@ -8,4 +8,3 @@ \description{ shinydashboard } - diff --git a/man/sidebarMenu.Rd b/man/sidebarMenu.Rd index b7524ecf..cb85f30e 100644 --- a/man/sidebarMenu.Rd +++ b/man/sidebarMenu.Rd @@ -1,15 +1,17 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/dashboardSidebar.R \name{sidebarMenu} +\alias{sidebarMenu} \alias{menuItem} \alias{menuSubItem} -\alias{sidebarMenu} \title{Create a dashboard sidebar menu and menu items.} \usage{ sidebarMenu(..., id = NULL, .list = NULL) menuItem(text, ..., icon = NULL, badgeLabel = NULL, badgeColor = "green", - tabName = NULL, href = NULL, newtab = TRUE, selected = NULL) + tabName = NULL, href = NULL, newtab = TRUE, selected = NULL, + expandedName = as.character(gsub("[[:space:]]", "", text)), + startExpanded = FALSE) menuSubItem(text, tabName = NULL, href = NULL, newtab = TRUE, icon = shiny::icon("angle-double-right"), selected = NULL) @@ -49,6 +51,15 @@ browser tab?} \item{selected}{If \code{TRUE}, this \code{menuItem} or \code{menuSubItem} will start selected. If no item have \code{selected=TRUE}, then the first \code{menuItem} will start selected.} + +\item{expandedName}{A unique name given to each \code{menuItem} that serves +to indicate which one (if any) is currently expanded. (This is only applicable +to \code{menuItem}s that have children and it is mostly only useful for +bookmarking state.)} + +\item{startExpanded}{Should this \code{menuItem} be expanded on app startup? +(This is only applicable to \code{menuItem}s that have children, and only +one of these can be expanded at any given time).} } \description{ A \code{dashboardSidebar} can contain a \code{sidebarMenu}. A @@ -82,4 +93,3 @@ colored oval containing text. Other sidebar items: \code{\link{sidebarSearchForm}}, \code{\link{sidebarUserPanel}} } - diff --git a/man/sidebarMenuOutput.Rd b/man/sidebarMenuOutput.Rd index 5bee9719..71b35f99 100644 --- a/man/sidebarMenuOutput.Rd +++ b/man/sidebarMenuOutput.Rd @@ -21,4 +21,3 @@ Other menu outputs: \code{\link{dropdownMenuOutput}}, \code{\link{menuItemOutput}}, \code{\link{menuOutput}}, \code{\link{renderMenu}} } - diff --git a/man/sidebarSearchForm.Rd b/man/sidebarSearchForm.Rd index 7e9019de..0231f7b1 100644 --- a/man/sidebarSearchForm.Rd +++ b/man/sidebarSearchForm.Rd @@ -26,4 +26,3 @@ A search form consists of a text input field and a search button. Other sidebar items: \code{\link{sidebarMenu}}, \code{\link{sidebarUserPanel}} } - diff --git a/man/sidebarUserPanel.Rd b/man/sidebarUserPanel.Rd index dd98349d..13c2f5aa 100644 --- a/man/sidebarUserPanel.Rd +++ b/man/sidebarUserPanel.Rd @@ -24,4 +24,3 @@ A panel displaying user information in a sidebar Other sidebar items: \code{\link{sidebarMenu}}, \code{\link{sidebarSearchForm}} } - diff --git a/man/tabBox.Rd b/man/tabBox.Rd index 853efc71..eae27eed 100644 --- a/man/tabBox.Rd +++ b/man/tabBox.Rd @@ -87,4 +87,3 @@ shinyApp( Other boxes: \code{\link{box}}, \code{\link{infoBox}}, \code{\link{valueBox}} } - diff --git a/man/tabItem.Rd b/man/tabItem.Rd index b3d423db..e7bcada1 100644 --- a/man/tabItem.Rd +++ b/man/tabItem.Rd @@ -19,4 +19,3 @@ One tab to put inside a tab items container \code{\link{menuItem}}, \code{\link{menuSubItem}}, \code{\link{tabItems}}. See \code{\link{sidebarMenu}} for a usage example. } - diff --git a/man/tabItems.Rd b/man/tabItems.Rd index 42924995..0b2fe4dc 100644 --- a/man/tabItems.Rd +++ b/man/tabItems.Rd @@ -17,4 +17,3 @@ A container for tab items \code{\link{menuItem}}, \code{\link{menuSubItem}}, \code{\link{tabItem}}. See \code{\link{sidebarMenu}} for a usage example. } - diff --git a/man/tagAssert.Rd b/man/tagAssert.Rd index 93f94c82..14b55bef 100644 --- a/man/tagAssert.Rd +++ b/man/tagAssert.Rd @@ -22,4 +22,3 @@ contents.} Assert that a tag has specified properties } \keyword{internal} - diff --git a/man/taskItem.Rd b/man/taskItem.Rd index 477ef11b..c4a78b72 100644 --- a/man/taskItem.Rd +++ b/man/taskItem.Rd @@ -25,4 +25,3 @@ Create a task item to place in a dropdown task menu Other menu items: \code{\link{messageItem}}, \code{\link{notificationItem}} } - diff --git a/man/updateTabItems.Rd b/man/updateTabItems.Rd index 555e84d6..c264fa55 100644 --- a/man/updateTabItems.Rd +++ b/man/updateTabItems.Rd @@ -58,4 +58,3 @@ server <- function(input, output, session) { shinyApp(ui, server) } } - diff --git a/man/validColors.Rd b/man/validColors.Rd index f4e69ba3..2bb839b8 100644 --- a/man/validColors.Rd +++ b/man/validColors.Rd @@ -28,4 +28,3 @@ listed below. } } \keyword{internal} - diff --git a/man/validStatuses.Rd b/man/validStatuses.Rd index 60760c80..011cae18 100644 --- a/man/validStatuses.Rd +++ b/man/validStatuses.Rd @@ -19,4 +19,3 @@ generally appear as follows: } } \keyword{internal} - diff --git a/man/valueBox.Rd b/man/valueBox.Rd index a79faf03..d8ca53b2 100644 --- a/man/valueBox.Rd +++ b/man/valueBox.Rd @@ -36,4 +36,3 @@ to be placed in the main body of a dashboard. Other boxes: \code{\link{box}}, \code{\link{infoBox}}, \code{\link{tabBox}} } - diff --git a/man/valueBoxOutput.Rd b/man/valueBoxOutput.Rd index efada325..6f8e56ba 100644 --- a/man/valueBoxOutput.Rd +++ b/man/valueBoxOutput.Rd @@ -1,8 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/valueBoxOutput.R \name{valueBoxOutput} -\alias{infoBoxOutput} \alias{valueBoxOutput} +\alias{infoBoxOutput} \title{Create an info or value box output (client side)} \usage{ valueBoxOutput(outputId, width = 4) @@ -26,4 +26,3 @@ This is the UI-side function for creating a dynamic \code{\link{valueBox}} or \code{\link{renderValueBox}} for the corresponding server-side function and examples. } - diff --git a/inst/AdminLTE/README-shiny-mods.md b/srcjs/AdminLTE/README-shiny-mods.md similarity index 51% rename from inst/AdminLTE/README-shiny-mods.md rename to srcjs/AdminLTE/README-shiny-mods.md index 5998d463..5c6a6d34 100644 --- a/inst/AdminLTE/README-shiny-mods.md +++ b/srcjs/AdminLTE/README-shiny-mods.md @@ -3,3 +3,14 @@ This branch of AdminLTE contains the following changes from the stock version, t * The box collapse function triggers 'shown' and 'hidden' events, so that Shiny knows when outputs are visible or not. See https://github.com/rstudio/shinydashboard/issues/42 for a test app (must re-apply commit 73f6027 when updating to newer version of Admin LTE). * In AdminLTE.css, the fonts are fetched from the local host, instead of from Google fonts (must re-apply commits e9e63d1 and 9ccb12d when updating to newer version of Admin LTE). + +* Add the following code chunk to app.js (see commit c3a0c59): + +```js +var shinyOutput = checkElement.find('.shiny-bound-output'); +if (shinyOutput.length !== 0 && shinyOutput.first().html().length === 0) { + shinyOutput.first().html('
'); +} +``` + +This is inserted in the event listener for clicks on the sidebar menu items (right before app.js does a `slideDown()` on the clicked menuItem). The point is to enter a blank line (if there is no other content) inside the outputs, so the `slideDown()` animation looks reasonable. diff --git a/srcjs/AdminLTE/app.js b/srcjs/AdminLTE/app.js new file mode 100755 index 00000000..7fbcf579 --- /dev/null +++ b/srcjs/AdminLTE/app.js @@ -0,0 +1,788 @@ +/*! 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)); diff --git a/srcjs/_end.js b/srcjs/_end.js new file mode 100644 index 00000000..27b8217c --- /dev/null +++ b/srcjs/_end.js @@ -0,0 +1 @@ +}); diff --git a/srcjs/_start.js b/srcjs/_start.js new file mode 100644 index 00000000..46be8e14 --- /dev/null +++ b/srcjs/_start.js @@ -0,0 +1 @@ +$(function() { diff --git a/srcjs/input_binding_sidebarCollapsed.js b/srcjs/input_binding_sidebarCollapsed.js new file mode 100644 index 00000000..6d7c7b79 --- /dev/null +++ b/srcjs/input_binding_sidebarCollapsed.js @@ -0,0 +1,40 @@ +/* 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) { + return $(scope).find('.main-sidebar').first(); + }, + getId: function(el) { + return "sidebarCollapsed"; + }, + 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'); diff --git a/srcjs/input_binding_sidebarmenuExpanded.js b/srcjs/input_binding_sidebarmenuExpanded.js new file mode 100644 index 00000000..edaaf51d --- /dev/null +++ b/srcjs/input_binding_sidebarmenuExpanded.js @@ -0,0 +1,29 @@ +/* global Shiny */ + +// sidebarmenuExpandedInputBinding +// ------------------------------------------------------------------ +// This keeps tracks of what menuItem (if any) is expanded +var sidebarmenuExpandedInputBinding = new Shiny.InputBinding(); +$.extend(sidebarmenuExpandedInputBinding, { + find: function(scope) { + return $(scope).find('section.sidebar'); + }, + getId: function(el) { + return "sidebarItemExpanded"; + }, + getValue: function(el) { + var $open = $(el).find('li ul.menu-open'); + if ($open.length === 1) return $open.attr('data-expanded'); + else return null; + }, + subscribe: function(el, callback) { + $(el).on('change.sidebarmenuExpandedInputBinding', function() { + callback(); + }); + }, + unsubscribe: function(el) { + $(el).off('.sidebarmenuExpandedInputBinding'); + } +}); +Shiny.inputBindings.register(sidebarmenuExpandedInputBinding, + 'shinydashboard.sidebarmenuExpandedInputBinding'); diff --git a/srcjs/input_binding_tabItem.js b/srcjs/input_binding_tabItem.js new file mode 100644 index 00000000..3aa8cbaa --- /dev/null +++ b/srcjs/input_binding_tabItem.js @@ -0,0 +1,48 @@ +/* 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'); diff --git a/srcjs/output_binding_menu.js b/srcjs/output_binding_menu.js new file mode 100644 index 00000000..3d5175a2 --- /dev/null +++ b/srcjs/output_binding_menu.js @@ -0,0 +1,46 @@ +/* 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); + ensureActivatedTab(); // eslint-disable-line + } +}); +Shiny.outputBindings.register(menuOutputBinding, + "shinydashboard.menuOutputBinding"); diff --git a/srcjs/sidebar.js b/srcjs/sidebar.js new file mode 100644 index 00000000..306e9716 --- /dev/null +++ b/srcjs/sidebar.js @@ -0,0 +1,35 @@ +// 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(); +} + +// Whenever the sidebar expand/collapse button is clicked: +$(document).on("click", ".sidebar-toggle", 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.toggleValue($obj); + $obj.trigger('change'); +}); + +// 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); +}); diff --git a/srcjs/tabs.js b/srcjs/tabs.js new file mode 100644 index 00000000..4b6570b0 --- /dev/null +++ b/srcjs/tabs.js @@ -0,0 +1,51 @@ +// 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) { + $startTab.tab("show"); + return; + } + + // If we got this far, just activate the first tab. + if (! $tablinks.parent("li").hasClass("active") ) { + $tablinks.first().tab("show"); + $(".sidebarMenuSelectedTabItem").attr("data-value", + $tablinks.first().attr("data-value")); + } +}; + +ensureActivatedTab(); diff --git a/tests-manual/dynamic-sidebar-bookmarking.R b/tests-manual/dynamic-sidebar-bookmarking.R new file mode 100644 index 00000000..4404aa49 --- /dev/null +++ b/tests-manual/dynamic-sidebar-bookmarking.R @@ -0,0 +1,120 @@ +# Run this app (with "live" URL bookmarking) to make sure that the sidebar state +# (collapsed/expanded state of the sidebar itself; selected menuItem and; if +# applicable, the expanded menuItem) + +library(shinydashboard) +library(shiny) +library(threejs) + +options(shiny.launch.browser=F, shiny.minified=F, shiny.port = 4601) + +ui <- function(request) { + dashboardPage( + dashboardHeader(title = "Testing dynamic sidebar bookmarking"), + dashboardSidebar( + uiOutput("sidebarControls"), + sidebarMenuOutput("menu") + ), + dashboardBody( + tabItems( + tabItem("front", + h3("Click through the different tabs to see different content") + ), + tabItem("models1", + h3("Here's a linear model"), + verbatimTextOutput("models1") + ), + tabItem("models2", + h3("Here's a logistic regression"), + verbatimTextOutput("models2") + ), + tabItem("plots1", + h3("Here's a 2D plot"), + plotOutput("plots1") + ), + tabItem("plots2", + h3("Here's a 3D plot"), + scatterplotThreeOutput('plots2') + ), + tabItem("tables", + h3("Here's a table"), + tableOutput("tbl") + ) + ) + ) + ) +} + + +server <- function(input, output, session) { + output$menu <- renderMenu({ + sidebarMenu(id = "smenu", + menuItem("Frontpage", tabName = "front"), + menuItem("Models", + menuSubItem("Linear model", "models1"), + menuSubItem("Logistic regression", "models2") + ), + menuItem("Plots", + helpText("This is help text"), + menuSubItem("Scatterplot", "plots1"), + menuSubItem("3D graph", "plots2") + ), + menuItem("Tables", tabName = "tables") + ) + }) + output$sidebarControls <- renderUI({ + req(input$smenu) + if (input$smenu %in% c("models1", "models2", "plots1")) { + tagList( + selectInput("xaxis", "X axis", names(mtcars), selected = input$xaxis), + selectInput("yaxis", "Y axis", names(mtcars), selected = input$yaxis) + ) + } else if (input$smenu == "plots2") { + tagList( + selectInput("xaxis", "X axis", names(mtcars), selected = input$xaxis), + selectInput("yaxis", "Y axis", names(mtcars), selected = input$yaxis), + selectInput("zaxis", "Z axis", names(mtcars), selected = input$zaxis) + ) + } else NULL + }) + + formula <- reactive({ + req(input$yaxis, input$xaxis) + as.formula(paste(input$yaxis, input$xaxis, sep = " ~ ")) + }) + + output$models1 <- renderPrint({ + summary(glm(formula(), data = mtcars), family = "linear") + }) + + output$models2 <- renderPrint({ + summary(glm(formula(), data = mtcars), family = "binomial") + }) + + output$plots1 <- renderPlot({ + plot(formula(), data = mtcars) + }) + + output$plots2 <- renderScatterplotThree({ + x <- mtcars[[input$xaxis]] + y <- mtcars[[input$yaxis]] + z <- mtcars[[input$zaxis]] + scatterplot3js(x, y, z) + }) + + output$tbl <- renderTable({ + mtcars + }) + + observe({ + reactiveValuesToList(input) + session$doBookmark() + }) + onBookmarked(function(url) { + updateQueryString(url) + }) + +} + +enableBookmarking("url") +shinyApp(ui, server) diff --git a/tests-manual/sidebar-bookmarking.R b/tests-manual/sidebar-bookmarking.R new file mode 100644 index 00000000..8604e7fd --- /dev/null +++ b/tests-manual/sidebar-bookmarking.R @@ -0,0 +1,115 @@ +# Run this app (with "live" URL bookmarking) to make sure that the sidebar state +# (collapsed/expanded state of the sidebar itself; selected menuItem and; if +# applicable, the expanded menuItem) + +library(shinydashboard) +library(shiny) +library(threejs) + +options(shiny.launch.browser=F, shiny.minified=F, shiny.port = 4601) + +ui <- function(request) { + dashboardPage( + dashboardHeader(title = "Testing sidebar bookmarkability"), + dashboardSidebar( + uiOutput("sidebarControls"), + sidebarMenu(id = "smenu", + menuItem(strong("Frontpage"), tabName = "front"), + menuItem("Models", + menuSubItem("Linear model", "models1"), + menuSubItem("Logistic regression", "models2") + ), + menuItem("Plots", + helpText("This is help text"), + menuSubItem("Scatterplot", "plots1"), + menuSubItem("3D graph", "plots2") + ), + menuItem("Tables", tabName = "tables") + ) + ), + dashboardBody( + tabItems( + tabItem("front", + h3("Click through the different tabs to see different content") + ), + tabItem("models1", + h3("Here's a linear model"), + verbatimTextOutput("models1") + ), + tabItem("models2", + h3("Here's a logistic regression"), + verbatimTextOutput("models2") + ), + tabItem("plots1", + h3("Here's a 2D plot"), + plotOutput("plots1") + ), + tabItem("plots2", + h3("Here's a 3D plot"), + scatterplotThreeOutput('plots2') + ), + tabItem("tables", + h3("Here's a table"), + tableOutput("tbl") + ) + ) + ) + ) +} +server <- function(input, output, session) { + output$sidebarControls <- renderUI({ + req(input$smenu) + if (input$smenu %in% c("models1", "models2", "plots1")) { + tagList( + selectInput("xaxis", "X axis", names(mtcars), selected = input$xaxis), + selectInput("yaxis", "Y axis", names(mtcars), selected = input$yaxis) + ) + } else if (input$smenu == "plots2") { + tagList( + selectInput("xaxis", "X axis", names(mtcars), selected = input$xaxis), + selectInput("yaxis", "Y axis", names(mtcars), selected = input$yaxis), + selectInput("zaxis", "Z axis", names(mtcars), selected = input$zaxis) + ) + } else NULL + }) + + formula <- reactive({ + req(input$yaxis, input$xaxis) + as.formula(paste(input$yaxis, input$xaxis, sep = " ~ ")) + }) + + output$models1 <- renderPrint({ + summary(glm(formula(), data = mtcars), family = "linear") + }) + + output$models2 <- renderPrint({ + summary(glm(formula(), data = mtcars), family = "binomial") + }) + + output$plots1 <- renderPlot({ + plot(formula(), data = mtcars) + }) + + output$plots2 <- renderScatterplotThree({ + x <- mtcars[[input$xaxis]] + y <- mtcars[[input$yaxis]] + z <- mtcars[[input$zaxis]] + scatterplot3js(x, y, z) + }) + + output$tbl <- renderTable({ + mtcars + }) + + observe({ + reactiveValuesToList(input) + session$doBookmark() + }) + onBookmarked(function(url) { + updateQueryString(url) + }) + +} + +enableBookmarking("url") +shinyApp(ui, server) diff --git a/tests-manual/trigger-shown-sidebar.R b/tests-manual/trigger-shown-sidebar.R new file mode 100644 index 00000000..f7a2c24d --- /dev/null +++ b/tests-manual/trigger-shown-sidebar.R @@ -0,0 +1,39 @@ +# Run this app to test that Shiny outputs that are initally hidden inside +# menuItems become visible ( trigger("shown) ) after we expand the respective +# menuItem. + +library(shiny) +library(shinydashboard) + +options(shiny.launch.browser=F, shiny.minified=F, shiny.port = 9000) + +ui <- function(req) { + dashboardPage( + dashboardHeader(), + dashboardSidebar( + sidebarMenu(id = "smenu", + menuItem("Menu Item 1", tabName = "tab1", "text1", menuSubItem("name", tabName = "tabName")), + menuItem("Menu Item 2", tabName = "tab2", textOutput("text2"), startExpanded = FALSE, + expandedName = "expanded") + ) + ), + dashboardBody( + tabItems(tabItem("tabName", h3("This is the only content"))) + ) + ) +} + +server <- function(input, output, session) { + output$text2 <- renderText("text2") + + observe({ + reactiveValuesToList(input) + session$doBookmark() + }) + onBookmarked(function(url) { + updateQueryString(url) + }) +} + +enableBookmarking("url") +shinyApp(ui = ui, server = server) diff --git a/tools/Gruntfile.js b/tools/Gruntfile.js index 663ddda2..0e9d239a 100644 --- a/tools/Gruntfile.js +++ b/tools/Gruntfile.js @@ -1,43 +1,124 @@ module.exports = function(grunt) { - var srcdir = '../inst/'; + var srcdirjs = '../srcjs/'; + var srcdircss = '../inst/'; + var destdirjs = '../inst/'; + var destdircss = '../inst/'; grunt.initConfig({ pkg: pkgInfo(), + + clean: { + options: { force: true }, + src: [ + destdirjs + "shinydashboard.js", + destdirjs + "shinydashboard.js.map", + destdirjs + "shinydashboard.min.js", + destdirjs + "shinydashboard.min.js.map", + destdirjs + "AdminLTE/app.js", + destdirjs + "AdminLTE/app.js.map", + destdirjs + "AdminLTE/app.min.js", + destdirjs + "AdminLTE/app.min.js.map", + destdircss + "AdminLTE/AdminLTE.min.css", + destdircss + "AdminLTE/_all-skins.min.css", + ] + }, + + concat: { + options: { + process: function(src, filepath) { + return '//---------------------------------------------------------------------\n' + + '// Source file: ' + filepath + '\n\n' + src; + }, + sourceMap: true + }, + shinydashboard: { + src: [ + srcdirjs + '_start.js', + srcdirjs + 'tabs.js', + srcdirjs + 'sidebar.js', + srcdirjs + 'output_binding_menu.js', + srcdirjs + 'input_binding_tabItem.js', + srcdirjs + 'input_binding_sidebarCollapsed.js', + srcdirjs + 'input_binding_sidebarmenuExpanded.js', + srcdirjs + '_end.js' + ], + dest: destdirjs + 'shinydashboard.js' + }, + adminlte: { + src: [ + srcdirjs + 'AdminLTE/app.js' + ], + dest: destdirjs + 'AdminLTE/app.js' + } + }, + uglify: { + shinydashboard: { + options: { + banner: '/*! <%= pkg.name %> <%= pkg.version %> | ' + + '(c) 2017-<%= grunt.template.today("yyyy") %> RStudio, Inc. | ' + + 'License: <%= pkg.license %> */\n', + sourceMap: true, + // Base the .min.js sourcemap off of the .js sourcemap created by concat + sourceMapIn: destdirjs + 'shinydashboard.js.map', + sourceMapIncludeSources: true + }, + src: destdirjs + 'shinydashboard.js', + dest: destdirjs + 'shinydashboard.min.js' + }, adminlte: { options: { sourceMap: true }, - src: srcdir + '/AdminLTE/app.js', - dest: srcdir + '/AdminLTE/app.min.js' + src: srcdirjs + 'AdminLTE/app.js', + dest: destdirjs + 'AdminLTE/app.min.js' } }, cssmin: { adminlte: { - src: srcdir + '/AdminLTE/AdminLTE.css', - dest: srcdir + '/AdminLTE/AdminLTE.min.css' + src: srcdircss + 'AdminLTE/AdminLTE.css', + dest: destdircss + 'AdminLTE/AdminLTE.min.css' }, adminlte_themes: { - src: srcdir + '/AdminLTE/_all-skins.css', - dest: srcdir + '/AdminLTE/_all-skins.min.css' + src: srcdircss + 'AdminLTE/_all-skins.css', + dest: destdircss + 'AdminLTE/_all-skins.min.css' } }, - jshint: { + eslint: { options: { - force: true // Don't abort if there are JSHint warnings + extends: 'eslint:recommended', + rules: { + "consistent-return": 1, + "dot-location": [1, "property"], + "eqeqeq": 1, + "no-undef": 1, + "no-unused-vars": [1, {"args": "none"}], + "guard-for-in": 1, + "semi": [1, "always"] + }, + envs: [ + "browser", + "jquery" + ], + globals: ["strftime"] }, - shinydashboard: { - src: srcdir + '/shinydashboard.js', - } + shinydashboard: [ + srcdirjs + 'tabs.js', + srcdirjs + 'sidebar.js', + srcdirjs + 'output_binding_menu.js', + srcdirjs + 'input_binding_tabItem.js', + srcdirjs + 'input_binding_sidebarCollapsed.js', + srcdirjs + 'input_binding_sidebarmenuExpanded.js' + ] }, watch: { shinydashboard: { - files: '<%= jshint.shinydashboard.src %>', - tasks: ['newer:jshint:shinydashboard'] + files: '<%= concat.shinydashboard.src %>', + tasks: ['newer:concat:shinydashboard', 'newer:uglify:shinydashboard', 'newer:jshint:shinydashboard'] }, adminlte: { files: ['<%= uglify.adminlte.src %>', '<%= cssmin.adminlte.src %>'], @@ -46,17 +127,19 @@ module.exports = function(grunt) { } }); - grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); - grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-eslint'); grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-newer'); - - grunt.registerTask('default', ['newer:uglify', 'newer:cssmin', 'newer:jshint']); + grunt.registerTask('default', ['newer:concat', 'newer:eslint', 'newer:uglify', 'newer:cssmin']); + // --------------------------------------------------------------------------- + // Utility functions + // --------------------------------------------------------------------------- // Return an object which merges information from package.json and the // DESCRIPTION file. @@ -88,4 +171,3 @@ module.exports = function(grunt) { return txt; } }; - diff --git a/tools/package.json b/tools/package.json index 6729673f..4f08c6af 100644 --- a/tools/package.json +++ b/tools/package.json @@ -1,10 +1,12 @@ { "devDependencies": { "grunt": "^1.0.1", + "grunt-contrib-concat": "^1.0.1", "grunt-contrib-cssmin": "^2.0.0", "grunt-contrib-jshint": "^1.1.0", "grunt-contrib-uglify": "^2.1.0", "grunt-contrib-watch": "^1.0.0", + "grunt-eslint": "^19.0.0", "grunt-newer": "^1.2.0" } } diff --git a/tools/updateAdminLTE.R b/tools/updateAdminLTE.R index e26b5ca2..92dcf5f1 100755 --- a/tools/updateAdminLTE.R +++ b/tools/updateAdminLTE.R @@ -23,6 +23,6 @@ srcdir <- file.path(dirname(thisFile()), "../../AdminLTE/dist") destdir <- file.path(dirname(thisFile()), "../inst/AdminLTE") -file.copy(file.path(srcdir, "/js/app.js"), destdir, overwrite = TRUE) +file.copy(file.path(srcdir, "/js/app.js"), "../srcjs/AdminLTE", overwrite = TRUE) file.copy(file.path(srcdir, "/css/AdminLTE.css"), destdir, overwrite = TRUE) file.copy(file.path(srcdir, "/css/skins/_all-skins.css"), destdir, overwrite = TRUE) diff --git a/tools/yarn.lock b/tools/yarn.lock index 5aaa8e49..d807e9fb 100644 --- a/tools/yarn.lock +++ b/tools/yarn.lock @@ -6,6 +6,31 @@ abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +ajv-keywords@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0: + version "4.11.5" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.5.tgz#b6ee74657b993a01dce44b7944d56f485828d5bd" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -14,6 +39,10 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -32,6 +61,20 @@ array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + async@^1.5.0, async@^1.5.2, async@~1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -40,6 +83,14 @@ async@~0.2.6: version "0.2.10" resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" +babel-code-frame@^6.16.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -88,6 +139,16 @@ bytes@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -110,7 +171,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^1.0.0, chalk@^1.1.1, chalk@~1.1.1: +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -120,12 +181,26 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@~1.1.1: strip-ansi "^3.0.0" supports-color "^2.0.0" +circular-json@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + clean-css@~4.0.3: version "4.0.7" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.7.tgz#d8fa8b4d87a125f38fa3d64afc59abfc68ba7790" dependencies: source-map "0.5.x" +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + cli@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/cli/-/cli-1.0.1.tgz#22817534f24bfa4950c34d532d48ecbc621b8c14" @@ -141,6 +216,14 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + coffee-script@~1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" @@ -153,7 +236,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.1: +concat-stream@^1.4.1, concat-stream@^1.5.2: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -181,6 +264,12 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -192,7 +281,7 @@ dateformat@~1.0.12: get-stdin "^4.0.1" meow "^3.3.0" -debug@~2.2.0: +debug@^2.1.1, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -202,6 +291,10 @@ decamelize@^1.0.0, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -209,10 +302,29 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + dom-serializer@0: version "0.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" @@ -259,35 +371,190 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" +es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.15" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-symbol "^3.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint@^3.0.0: + version "3.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.18.0.tgz#647e985c4ae71502d20ac62c109f66d5104c8a4b" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.5.2" + debug "^2.1.1" + doctrine "^2.0.0" + escope "^3.6.0" + espree "^3.4.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" + dependencies: + acorn "4.0.4" + acorn-jsx "^3.0.0" + esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +esquery@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + dependencies: + estraverse "~4.1.0" + object-assign "^4.0.1" + +estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estraverse@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + eventemitter2@~0.4.13: version "0.4.14" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + exit@0.1.2, exit@0.1.x, exit@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + faye-websocket@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" dependencies: websocket-driver ">=0.5.1" -figures@^1.0.1: +figures@^1.0.1, figures@^1.3.5: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: escape-string-regexp "^1.0.5" object-assign "^4.1.0" +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -301,6 +568,15 @@ findup-sync@~0.3.0: dependencies: glob "~5.0.0" +flat-cache@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" @@ -319,6 +595,16 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -327,9 +613,9 @@ getobject@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" -glob@^7.0.5, glob@~7.0.0: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@~7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -338,9 +624,9 @@ glob@^7.0.5, glob@~7.0.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.1, glob@~7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" +glob@^7.0.5, glob@~7.0.0: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -359,6 +645,21 @@ glob@~5.0.0: once "^1.3.0" path-is-absolute "^1.0.0" +globals@^9.14.0: + version "9.16.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + globule@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" @@ -380,6 +681,13 @@ grunt-cli@~1.2.0: nopt "~3.0.6" resolve "~1.1.0" +grunt-contrib-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz#61509863084e871d7e86de48c015259ed97745bd" + dependencies: + chalk "^1.0.0" + source-map "^0.5.3" + grunt-contrib-cssmin@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/grunt-contrib-cssmin/-/grunt-contrib-cssmin-2.0.0.tgz#3bc8e8c8865c819159cc2779f82fcf833473345b" @@ -415,6 +723,13 @@ grunt-contrib-watch@^1.0.0: lodash "^3.10.1" tiny-lr "^0.2.1" +grunt-eslint@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/grunt-eslint/-/grunt-eslint-19.0.0.tgz#bb74c379061599cec1f66169def2a89d862d861b" + dependencies: + chalk "^1.0.0" + eslint "^3.0.0" + grunt-known-options@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" @@ -522,6 +837,14 @@ iconv-lite@~0.4.13: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +ignore@^3.2.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.6.tgz#26e8da0644be0bb4cb39516f6c79f0e0f4ffe48c" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -539,6 +862,28 @@ inherits@2, inherits@^2.0.3, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -559,6 +904,51 @@ is-finite@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-my-json-valid@^2.10.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -567,7 +957,7 @@ isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" -isarray@~1.0.0: +isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -575,7 +965,11 @@ isexe@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" -js-yaml@~3.5.2: +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + +js-yaml@^3.5.1, js-yaml@~3.5.2: version "3.5.5" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" dependencies: @@ -595,6 +989,20 @@ jshint@~2.9.4: shelljs "0.3.x" strip-json-comments "1.0.x" +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + kind-of@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" @@ -605,6 +1013,13 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + livereload-js@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2" @@ -627,7 +1042,7 @@ lodash@^3.10.1, lodash@~3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@~4.16.4: +lodash@^4.0.0, lodash@^4.3.0, lodash@~4.16.4: version "4.16.6" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" @@ -694,14 +1109,32 @@ mime-types@~2.1.13: dependencies: brace-expansion "^1.0.0" +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + minimist@^1.1.3: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + nopt@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -749,6 +1182,25 @@ once@^1.3.0: dependencies: wrappy "1" +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -773,6 +1225,10 @@ path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -795,6 +1251,14 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + pretty-bytes@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" @@ -806,6 +1270,10 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + qs@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz#a9f31142af468cb72b25b30136ba2456834916be" @@ -858,6 +1326,20 @@ readable-stream@^2.2.2: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -875,17 +1357,35 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -resolve@~1.1.0: +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve@^1.1.6, resolve@~1.1.0: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" dependencies: align-text "^0.1.1" -rimraf@^2.5.2: +rimraf@^2.2.8, rimraf@^2.5.2: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: @@ -895,6 +1395,16 @@ rimraf@~2.2.8: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + "semver@2 || 3 || 4 || 5": version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -903,11 +1413,23 @@ shelljs@0.3.x: version "0.3.0" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1" +shelljs@^0.7.5: + version "0.7.7" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" -source-map@0.5.x, source-map@~0.5.1: +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +source-map@0.5.x, source-map@^0.5.3, source-map@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -933,6 +1455,21 @@ statuses@1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" + string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -949,6 +1486,10 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" @@ -959,10 +1500,33 @@ strip-json-comments@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + tiny-lr@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.2.1.tgz#b3fdba802e5d56a33c2f6f10794b32e477ac729d" @@ -978,6 +1542,16 @@ trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + type-is@~1.6.10: version "1.6.14" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" @@ -1014,6 +1588,12 @@ uri-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-1.0.0.tgz#9747f018358933c31de0fccfd82d138e67262e32" +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -1049,10 +1629,24 @@ wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"