├── lib
├── lte-rails.rb
└── lte
│ ├── rails.rb
│ └── rails
│ ├── version.rb
│ └── engine.rb
├── vendor
└── assets
│ └── stylesheets
│ ├── lte-rails.less
│ └── AdminLTE
│ ├── invoice.less
│ ├── carousel.less
│ ├── skins
│ ├── _all-skins.less
│ ├── skin-red-light.less
│ ├── skin-red.less
│ ├── skin-green-light.less
│ ├── skin-green.less
│ ├── skin-purple-light.less
│ ├── skin-purple.less
│ ├── skin-yellow-light.less
│ ├── skin-yellow.less
│ ├── skin-blue.less
│ ├── skin-blue-light.less
│ ├── skin-black-light.less
│ └── skin-black.less
│ ├── labels.less
│ ├── profile.less
│ ├── .csslintrc
│ ├── users-list.less
│ ├── alerts.less
│ ├── 404_500_errors.less
│ ├── login_and_register.less
│ ├── products.less
│ ├── callout.less
│ ├── print.less
│ ├── table.less
│ ├── info-box.less
│ ├── lockscreen.less
│ ├── mailbox.less
│ ├── modal.less
│ ├── social-widgets.less
│ ├── small-box.less
│ ├── AdminLTE.less
│ ├── fullcalendar.less
│ ├── progress-bars.less
│ ├── forms.less
│ ├── timeline.less
│ ├── select2.less
│ ├── sidebar.less
│ ├── variables.less
│ ├── core.less
│ ├── bootstrap-social.less
│ ├── buttons.less
│ ├── direct-chat.less
│ ├── sidebar-mini.less
│ ├── navs.less
│ ├── header.less
│ ├── control-sidebar.less
│ ├── mixins.less
│ ├── dropdown.less
│ ├── boxes.less
│ └── miscellaneous.less
├── .gitmodules
├── Gemfile
├── README.md
├── .gitignore
├── LICENSE
├── Rakefile
├── lte-rails.gemspec
└── Gemfile.lock
/lib/lte-rails.rb:
--------------------------------------------------------------------------------
1 | require 'lte/rails'
2 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/lte-rails.less:
--------------------------------------------------------------------------------
1 | @import "AdminLTE/AdminLTE.less";
2 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "AdminLTE"]
2 | path = AdminLTE
3 | url = git@github.com:almasaeed2010/AdminLTE.git
4 |
--------------------------------------------------------------------------------
/lib/lte/rails.rb:
--------------------------------------------------------------------------------
1 | require 'lte/rails/engine'
2 | require 'lte/rails/version'
3 |
4 | module Lte
5 | module Rails
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gem 'less-rails-bootstrap', github: 'nicke/less-rails-bootstrap'
4 |
5 | # Specify gem's dependencies in lte-rails.gemspec
6 | gemspec
7 |
--------------------------------------------------------------------------------
/lib/lte/rails/version.rb:
--------------------------------------------------------------------------------
1 | module Lte
2 | module Rails
3 | # NOTE: this needs to be changed in the Makefile at the same time!
4 | VERSION = "0.1.0"
5 | ADMIN_LTE_VERSION = "2.3.5"
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/invoice.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Page: Invoice
3 | * -------------
4 | */
5 |
6 | .invoice {
7 | position: relative;
8 | background: #fff;
9 | border: 1px solid #f4f4f4;
10 | padding: 20px;
11 | margin: 10px 25px;
12 | }
13 |
14 | .invoice-title {
15 | margin-top: 0;
16 | }
17 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/carousel.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Carousel
3 | * -------------------
4 | */
5 | .carousel-control {
6 | &.left,
7 | &.right {
8 | background-image: none;
9 | }
10 | > .fa {
11 | font-size: 40px;
12 | position: absolute;
13 | top: 50%;
14 | z-index: 5;
15 | display: inline-block;
16 | margin-top: -20px;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/lib/lte/rails/engine.rb:
--------------------------------------------------------------------------------
1 | module Lte
2 | module Rails
3 | class Engine < ::Rails::Engine
4 | #initializer 'admin-lte-rails.setup',
5 | # :after => 'less-rails.after.load_config_initializers',
6 | # :group => :all do |app|
7 | # if defined?(Less)
8 | # app.config.less.paths << File.join(config.root, 'vendor', 'toolkit')
9 | # end
10 | # end
11 | end
12 | end
13 | end
14 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/_all-skins.less:
--------------------------------------------------------------------------------
1 | //All skins in one file
2 | @import "skin-blue.less";
3 | @import "skin-blue-light.less";
4 | @import "skin-black.less";
5 | @import "skin-black-light.less";
6 | @import "skin-green.less";
7 | @import "skin-green-light.less";
8 | @import "skin-red.less";
9 | @import "skin-red-light.less";
10 | @import "skin-yellow.less";
11 | @import "skin-yellow-light.less";
12 | @import "skin-purple.less";
13 | @import "skin-purple-light.less";
14 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/labels.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Label
3 | * ----------------
4 | */
5 | .label-default {
6 | background-color: @gray;
7 | color: #444;
8 | }
9 |
10 | .label-danger {
11 | &:extend(.bg-red);
12 | }
13 |
14 | .label-info {
15 | &:extend(.bg-aqua);
16 | }
17 |
18 | .label-warning {
19 | &:extend(.bg-yellow);
20 | }
21 |
22 | .label-primary {
23 | &:extend(.bg-light-blue);
24 | }
25 |
26 | .label-success {
27 | &:extend(.bg-green);
28 | }
29 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/profile.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Page: Profile
3 | * -------------
4 | */
5 |
6 | .profile-user-img {
7 | margin: 0 auto;
8 | width: 100px;
9 | padding: 3px;
10 | border: 3px solid @gray;
11 | }
12 |
13 | .profile-username {
14 | font-size: 21px;
15 | margin-top: 5px;
16 | }
17 |
18 | .post {
19 | border-bottom: 1px solid @gray;
20 | margin-bottom: 15px;
21 | padding-bottom: 15px;
22 | color: #666;
23 | &:last-of-type {
24 | border-bottom: 0;
25 | margin-bottom: 0;
26 | padding-bottom: 0;
27 | }
28 | .user-block {
29 | margin-bottom: 15px;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/.csslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "adjoining-classes": false,
3 | "box-sizing": false,
4 | "box-model": false,
5 | "compatible-vendor-prefixes": false,
6 | "floats": false,
7 | "font-sizes": false,
8 | "gradients": false,
9 | "important": false,
10 | "known-properties": false,
11 | "outline-none": false,
12 | "qualified-headings": false,
13 | "regex-selectors": false,
14 | "shorthand": false,
15 | "text-indent": false,
16 | "unique-headings": false,
17 | "universal-selector": false,
18 | "unqualified-attributes": false,
19 | "ids": false,
20 | "fallback-colors": false,
21 | "vendor-prefix": false,
22 | "import": false
23 | }
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AdminLTE gem for Rails
2 |
3 | This is a gem for using the [AdminLTE](https://github.com/almasaeed2010/AdminLTE) template within a Rails project.
4 |
5 | This gem is currently using AvminLTE v2.3.5.
6 |
7 | To use, add this to your Gemfile:
8 | ```
9 | gem 'lte-rails'
10 | ```
11 |
12 | and add this (changing the skin name to anything you want or adding more) to your application.css:
13 |
14 | ```
15 | *= require lte-rails
16 | *= require AdminLTE/skins/skin-blue
17 | ```
18 |
19 | # Notes
20 |
21 | This gem uses the main AdminLTE github repo to re-generate the gem from them by dynamically patching so that the assets work properly within the Rails environment.
22 |
23 | This gem is not supporting the Javascript parts, yet.
24 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/users-list.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Users List
3 | * ---------------------
4 | */
5 | .users-list {
6 | &:extend(.list-unstyled);
7 | > li {
8 | width: 25%;
9 | float: left;
10 | padding: 10px;
11 | text-align: center;
12 | img {
13 | .border-radius(50%);
14 | max-width: 100%;
15 | height: auto;
16 | }
17 | > a:hover {
18 | &,
19 | .users-list-name {
20 | color: #999;
21 | }
22 | }
23 | }
24 | }
25 |
26 | .users-list-name,
27 | .users-list-date {
28 | display: block;
29 | }
30 |
31 | .users-list-name {
32 | font-weight: 600;
33 | color: #444;
34 | overflow: hidden;
35 | white-space: nowrap;
36 | text-overflow: ellipsis;
37 | }
38 |
39 | .users-list-date {
40 | color: #999;
41 | font-size: 12px;
42 | }
43 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.rbc
2 | capybara-*.html
3 | .rspec
4 | /log
5 | /tmp
6 | /db/*.sqlite3
7 | /db/*.sqlite3-journal
8 | /public/system
9 | /coverage/
10 | /spec/tmp
11 | **.orig
12 | rerun.txt
13 | pickle-email-*.html
14 |
15 | # TODO Comment out these rules if you are OK with secrets being uploaded to the repo
16 | config/initializers/secret_token.rb
17 | config/secrets.yml
18 |
19 | ## Environment normalisation:
20 | /.bundle
21 | /vendor/bundle
22 |
23 | # these should all be checked in to normalise the environment:
24 | # Gemfile.lock, .ruby-version, .ruby-gemset
25 |
26 | *.gem
27 |
28 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
29 | .rvmrc
30 |
31 | # if using bower-rails ignore default bower_components path bower.json files
32 | /vendor/assets/bower_components
33 | *.bowerrc
34 | bower.json
35 |
36 | # Ignore pow environment settings
37 | .powenv
38 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/alerts.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: alert
3 | * ----------------
4 | */
5 |
6 | .alert {
7 | .border-radius(3px);
8 | h4 {
9 | font-weight: 600;
10 | }
11 | .icon {
12 | margin-right: 10px;
13 | }
14 | .close {
15 | color: #000;
16 | .opacity(.2);
17 | &:hover {
18 | .opacity(.5);
19 | }
20 | }
21 | a {
22 | color: #fff;
23 | text-decoration: underline;
24 | }
25 | }
26 |
27 | //Alert Variants
28 | .alert-success {
29 | &:extend(.bg-green);
30 | border-color: darken(@green, 5%);
31 | }
32 |
33 | .alert-danger,
34 | .alert-error {
35 | &:extend(.bg-red);
36 | border-color: darken(@red, 5%);
37 | }
38 |
39 | .alert-warning {
40 | &:extend(.bg-yellow);
41 | border-color: darken(@yellow, 5%);
42 | }
43 |
44 | .alert-info {
45 | &:extend(.bg-aqua);
46 | border-color: darken(@aqua, 5%);
47 | }
48 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/404_500_errors.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Page: 400 and 500 error pages
3 | * ------------------------------
4 | */
5 | .error-page {
6 | width: 600px;
7 | margin: 20px auto 0 auto;
8 | @media (max-width: @screen-sm-max) {
9 | width: 100%;
10 | }
11 | //For the error number e.g: 404
12 | > .headline {
13 | float: left;
14 | font-size: 100px;
15 | font-weight: 300;
16 | @media (max-width: @screen-sm-max) {
17 | float: none;
18 | text-align: center;
19 | }
20 | }
21 | //For the message
22 | > .error-content {
23 | margin-left: 190px;
24 | @media (max-width: @screen-sm-max) {
25 | margin-left: 0;
26 | }
27 | > h3 {
28 | font-weight: 300;
29 | font-size: 25px;
30 | @media (max-width: @screen-sm-max) {
31 | text-align: center;
32 | }
33 | }
34 | display: block;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/login_and_register.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Page: Login & Register
3 | * ----------------------
4 | */
5 |
6 | .login-logo,
7 | .register-logo {
8 | font-size: 35px;
9 | text-align: center;
10 | margin-bottom: 25px;
11 | font-weight: 300;
12 | a {
13 | color: #444;
14 | }
15 | }
16 |
17 | .login-page,
18 | .register-page {
19 | background: @gray;
20 | }
21 |
22 | .login-box,
23 | .register-box {
24 | width: 360px;
25 | margin: 7% auto;
26 | @media (max-width: @screen-sm) {
27 | width: 90%;
28 | margin-top: 20px;
29 | }
30 | }
31 |
32 | .login-box-body,
33 | .register-box-body {
34 | background: #fff;
35 | padding: 20px;
36 | border-top: 0;
37 | color: #666;
38 | .form-control-feedback {
39 | color: #777;
40 | }
41 | }
42 |
43 | .login-box-msg,
44 | .register-box-msg {
45 | margin: 0;
46 | text-align: center;
47 | padding: 0 20px 20px 20px;
48 | }
49 |
50 | .social-auth-links {
51 | margin: 10px 0;
52 | }
53 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/products.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Products List
3 | * ------------------------
4 | */
5 | .products-list {
6 | list-style: none;
7 | margin: 0;
8 | padding: 0;
9 | > .item {
10 | .border-radius(@box-border-radius);
11 | .box-shadow(@box-boxshadow);
12 | .clearfix();
13 | padding: 10px 0;
14 | background: #fff;
15 | }
16 | .product-img {
17 | float: left;
18 | img {
19 | width: 50px;
20 | height: 50px;
21 | }
22 | }
23 | .product-info {
24 | margin-left: 60px;
25 | }
26 | .product-title {
27 | font-weight: 600;
28 | }
29 | .product-description {
30 | display: block;
31 | color: #999;
32 | overflow: hidden;
33 | white-space: nowrap;
34 | text-overflow: ellipsis;
35 | }
36 | }
37 |
38 | .product-list-in-box > .item {
39 | .box-shadow(none);
40 | .border-radius(0);
41 | border-bottom: 1px solid @box-border-color;
42 | &:last-of-type {
43 | border-bottom-width: 0;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/callout.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Callout
3 | * ------------------
4 | */
5 |
6 | // Base styles (regardless of theme)
7 | .callout {
8 | .border-radius(3px);
9 | margin: 0 0 20px 0;
10 | padding: 15px 30px 15px 15px;
11 | border-left: 5px solid #eee;
12 | a {
13 | color: #fff;
14 | text-decoration: underline;
15 | &:hover {
16 | color: #eee;
17 | }
18 | }
19 | h4 {
20 | margin-top: 0;
21 | font-weight: 600;
22 | }
23 | p:last-child {
24 | margin-bottom: 0;
25 | }
26 | code,
27 | .highlight {
28 | background-color: #fff;
29 | }
30 |
31 | // Themes for different contexts
32 | &.callout-danger {
33 | &:extend(.bg-red);
34 | border-color: darken(@red, 10%);
35 | }
36 | &.callout-warning {
37 | &:extend(.bg-yellow);
38 | border-color: darken(@yellow, 10%);
39 | }
40 | &.callout-info {
41 | &:extend(.bg-aqua);
42 | border-color: darken(@aqua, 10%);
43 | }
44 | &.callout-success {
45 | &:extend(.bg-green);
46 | border-color: darken(@green, 10%);
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 RacketLogger
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/print.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Misc: print
3 | * -----------
4 | */
5 | @media print {
6 | //Add to elements that you do not want to show when printing
7 | .no-print {
8 | display: none !important;
9 | }
10 |
11 | //Elements that we want to hide when printing
12 | .main-sidebar,
13 | .left-side,
14 | .main-header,
15 | .content-header {
16 | &:extend(.no-print);
17 | }
18 |
19 | //This is the only element that should appear, so let's remove the margins
20 | .content-wrapper,
21 | .right-side,
22 | .main-footer {
23 | margin-left: 0 !important;
24 | min-height: 0 !important;
25 | .translate(0, 0) !important;
26 | }
27 |
28 | .fixed .content-wrapper,
29 | .fixed .right-side {
30 | padding-top: 0 !important;
31 | }
32 |
33 | //Invoice printing
34 | .invoice {
35 | width: 100%;
36 | border: 0;
37 | margin: 0;
38 | padding: 0;
39 | }
40 |
41 | .invoice-col {
42 | float: left;
43 | width: 33.3333333%;
44 | }
45 |
46 | //Make sure table content displays properly
47 | .table-responsive {
48 | overflow: auto;
49 | > .table tr th,
50 | > .table tr td {
51 | white-space: normal !important;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/table.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Table
3 | * ----------------
4 | */
5 |
6 | .table {
7 | //Cells
8 | > thead,
9 | > tbody,
10 | > tfoot {
11 | > tr {
12 | > th,
13 | > td {
14 | border-top: 1px solid @box-border-color;
15 | }
16 | }
17 | }
18 | //thead cells
19 | > thead > tr > th {
20 | border-bottom: 2px solid @box-border-color;
21 | }
22 | //progress bars in tables
23 | tr td .progress {
24 | margin-top: 5px;
25 | }
26 | }
27 |
28 | //Bordered Table
29 | .table-bordered {
30 | border: 1px solid @box-border-color;
31 | > thead,
32 | > tbody,
33 | > tfoot {
34 | > tr {
35 | > th,
36 | > td {
37 | border: 1px solid @box-border-color;
38 | }
39 | }
40 | }
41 | > thead > tr {
42 | > th,
43 | > td {
44 | border-bottom-width: 2px;
45 | }
46 | }
47 | }
48 |
49 | .table.no-border {
50 | &,
51 | td,
52 | th {
53 | border: 0;
54 | }
55 | }
56 |
57 | /* .text-center in tables */
58 | table.text-center {
59 | &, td, th {
60 | text-align: center;
61 | }
62 | }
63 |
64 | .table.align {
65 | th {
66 | text-align: left;
67 | }
68 | td {
69 | text-align: right;
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-red-light.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Red
3 | * ---------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-red-light {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@red; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@red, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@red, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(@red);
40 | }
41 |
42 | li.user-header {
43 | background-color: @red;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-light-sidebar(@red);
54 | }
55 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-red.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Red
3 | * ---------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-red {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@red; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@red, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@red, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(darken(@red, 5%));
40 | }
41 |
42 | li.user-header {
43 | background-color: @red;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-dark-sidebar(@red);
54 | }
55 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-green-light.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Green
3 | * -----------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-green-light {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@green; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@green, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@green, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(@green);
40 | }
41 |
42 | li.user-header {
43 | background-color: @green;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-light-sidebar(@green);
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-green.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Green
3 | * -----------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-green {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@green; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@green, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@green, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(darken(@green, 5%));
40 | }
41 |
42 | li.user-header {
43 | background-color: @green;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-dark-sidebar(@green);
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-purple-light.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Purple
3 | * ------------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-purple-light {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@purple; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@purple, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@purple, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(@purple);
40 | }
41 |
42 | li.user-header {
43 | background-color: @purple;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-light-sidebar(@purple);
54 | }
55 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-purple.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Purple
3 | * ------------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-purple {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@purple; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@purple, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@purple, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(darken(@purple, 5%));
40 | }
41 |
42 | li.user-header {
43 | background-color: @purple;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-dark-sidebar(@purple);
54 | }
55 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-yellow-light.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Yellow
3 | * ------------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-yellow-light {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@yellow; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@yellow, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@yellow, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(@yellow);
40 | }
41 |
42 | li.user-header {
43 | background-color: @yellow;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-light-sidebar(@yellow);
54 | }
55 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-yellow.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Yellow
3 | * ------------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-yellow {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@yellow; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@yellow, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@yellow, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(darken(@yellow, 5%));
40 | }
41 |
42 | li.user-header {
43 | background-color: @yellow;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-dark-sidebar(@yellow);
54 | }
55 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-blue.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Blue
3 | * ----------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-blue {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@light-blue; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@light-blue, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@light-blue, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(darken(@light-blue, 5%));
40 | }
41 |
42 | li.user-header {
43 | background-color: @light-blue;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-dark-sidebar(@light-blue);
54 | }
55 |
56 | .skin-blue.layout-top-nav .main-header > .logo {
57 | .logo-variant(@light-blue);
58 | }
59 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-blue-light.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Blue
3 | * ----------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | .skin-blue-light {
11 | //Navbar
12 | .main-header {
13 | .navbar {
14 | .navbar-variant(@light-blue; #fff);
15 | .sidebar-toggle {
16 | color: #fff;
17 | &:hover {
18 | background-color: darken(@light-blue, 5%);
19 | }
20 | }
21 | @media (max-width: @screen-header-collapse) {
22 | .dropdown-menu {
23 | li {
24 | &.divider {
25 | background-color: rgba(255, 255, 255, 0.1);
26 | }
27 | a {
28 | color: #fff;
29 | &:hover {
30 | background: darken(@light-blue, 5%);
31 | }
32 | }
33 | }
34 | }
35 | }
36 | }
37 | //Logo
38 | .logo {
39 | .logo-variant(@light-blue);
40 | }
41 |
42 | li.user-header {
43 | background-color: @light-blue;
44 | }
45 | }
46 |
47 | //Content Header
48 | .content-header {
49 | background: transparent;
50 | }
51 |
52 | //Create the sidebar skin
53 | .skin-light-sidebar(@light-blue);
54 | .main-footer {
55 | border-top-color: @gray;
56 | }
57 | }
58 |
59 | .skin-blue.layout-top-nav .main-header > .logo {
60 | .logo-variant(@light-blue);
61 | }
62 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/info-box.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Info Box
3 | * -------------------
4 | */
5 | .info-box {
6 | display: block;
7 | min-height: 90px;
8 | background: #fff;
9 | width: 100%;
10 | box-shadow: @box-boxshadow;
11 | .border-radius(2px);
12 | margin-bottom: 15px;
13 | small {
14 | font-size: 14px;
15 | }
16 | .progress {
17 | background: rgba(0, 0, 0, .2);
18 | margin: 5px -10px 5px -10px;
19 | height: 2px;
20 | &,
21 | & .progress-bar {
22 | .border-radius(0);
23 | }
24 | .progress-bar {
25 | background: #fff;
26 | }
27 | }
28 | }
29 |
30 | .info-box-icon {
31 | .border-radius(2px; 0; 2px; 0);
32 | display: block;
33 | float: left;
34 | height: 90px;
35 | width: 90px;
36 | text-align: center;
37 | font-size: 45px;
38 | line-height: 90px;
39 | background: rgba(0, 0, 0, 0.2);
40 | > img {
41 | max-width: 100%;
42 | }
43 | }
44 |
45 | .info-box-content {
46 | padding: 5px 10px;
47 | margin-left: 90px;
48 | }
49 |
50 | .info-box-number {
51 | display: block;
52 | font-weight: bold;
53 | font-size: 18px;
54 | }
55 |
56 | .progress-description,
57 | .info-box-text {
58 | display: block;
59 | font-size: 14px;
60 | white-space: nowrap;
61 | overflow: hidden;
62 | text-overflow: ellipsis;
63 | }
64 |
65 | .info-box-text {
66 | text-transform: uppercase;
67 | }
68 |
69 | .info-box-more {
70 | display: block;
71 | }
72 |
73 | .progress-description {
74 | margin: 0;
75 | }
76 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/lockscreen.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Page: Lock Screen
3 | * -----------------
4 | */
5 | /* ADD THIS CLASS TO THE
TAG */
6 | .lockscreen {
7 | background: @gray;
8 | }
9 |
10 | .lockscreen-logo {
11 | font-size: 35px;
12 | text-align: center;
13 | margin-bottom: 25px;
14 | font-weight: 300;
15 | a {
16 | color: #444;
17 | }
18 | }
19 |
20 | .lockscreen-wrapper {
21 | max-width: 400px;
22 | margin: 0 auto;
23 | margin-top: 10%;
24 | }
25 |
26 | /* User name [optional] */
27 | .lockscreen .lockscreen-name {
28 | text-align: center;
29 | font-weight: 600;
30 | }
31 |
32 | /* Will contain the image and the sign in form */
33 | .lockscreen-item {
34 | .border-radius(4px);
35 | padding: 0;
36 | background: #fff;
37 | position: relative;
38 | margin: 10px auto 30px auto;
39 | width: 290px;
40 | }
41 |
42 | /* User image */
43 | .lockscreen-image {
44 | .border-radius(50%);
45 | position: absolute;
46 | left: -10px;
47 | top: -25px;
48 | background: #fff;
49 | padding: 5px;
50 | z-index: 10;
51 | > img {
52 | .border-radius(50%);
53 | width: 70px;
54 | height: 70px;
55 | }
56 | }
57 |
58 | /* Contains the password input and the login button */
59 | .lockscreen-credentials {
60 | margin-left: 70px;
61 | .form-control {
62 | border: 0;
63 | }
64 | .btn {
65 | background-color: #fff;
66 | border: 0;
67 | padding: 0 10px;
68 | }
69 | }
70 |
71 | .lockscreen-footer {
72 | margin-top: 10px;
73 | }
74 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env rake
2 | require "bundler"
3 | require "bundler/gem_tasks"
4 |
5 | VERSION = Lte::Rails::VERSION
6 |
7 | Bundler::GemHelper.install_tasks
8 |
9 | TARGET_DIR = 'vendor/assets/stylesheets'
10 | FULL_DIR = File.join(TARGET_DIR, "AdminLTE")
11 |
12 | def replace_in_file(filename, source, replacement)
13 | text = File.read(filename)
14 | repl = text.gsub(source, replacement)
15 | File.open(filename, 'w') { |f| f << repl }
16 | end
17 |
18 | desc "Bundle the gem"
19 | task :bundle => [:bundle_install, :build_files] do
20 | sh 'gem build *.gemspec'
21 | end
22 |
23 | desc "Install the gem"
24 | task :install => [:bundle] do
25 | sh 'gem install *.gem'
26 | sh 'rm *.gem'
27 | end
28 |
29 |
30 | desc "Runs bundle install"
31 | task :bundle_install do
32 | sh 'bundle install'
33 | end
34 |
35 | desc "Pushes the latest gem to rubygems"
36 | task :push_gem => [:build] do
37 | sh "gem push pkg/lte-rails-#{VERSION}.gem"
38 | end
39 |
40 | desc "Copy the stylesheets from the sources"
41 | task :build_files => [:clean] do
42 | FileUtils.cp_r "AdminLTE/build/less/", TARGET_DIR, preserve: true
43 | Dir.chdir TARGET_DIR do
44 | FileUtils.mv 'less', "AdminLTE"
45 | replace_in_file("AdminLTE/AdminLTE.less", /\.\.\/bootstrap-less\//, 'twitter/bootstrap/')
46 | Dir.glob("AdminLTE/skins/*.less").each do |f|
47 | replace_in_file(f, /\.\.\/\.\.\/bootstrap-less\//, 'twitter/bootstrap/')
48 | end
49 | end
50 | end
51 |
52 | desc "Clean the assets"
53 | task :clean do
54 | FileUtils.rm_rf FULL_DIR
55 | end
56 |
57 | task(:default).clear
58 | task :default => :bundle
59 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-black-light.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Black
3 | * -----------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | /* skin-black navbar */
11 | .skin-black-light {
12 | //Navbar & Logo
13 | .main-header {
14 | .box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05));
15 | .navbar-toggle {
16 | color: #333;
17 | }
18 | .navbar-brand {
19 | color: #333;
20 | border-right: 1px solid #eee;
21 | }
22 | .navbar {
23 | .navbar-variant(#fff; #333; #999; #fff);
24 | > .sidebar-toggle {
25 | color: #333;
26 | border-right: 1px solid #eee;
27 | }
28 | .navbar-nav {
29 | > li > a {
30 | border-right: 1px solid #eee;
31 | }
32 | }
33 | .navbar-custom-menu .navbar-nav,
34 | .navbar-right {
35 | > li {
36 | > a {
37 | border-left: 1px solid #eee;
38 | border-right-width: 0;
39 | }
40 | }
41 | }
42 | }
43 | > .logo {
44 | .logo-variant(#fff; #333);
45 | border-right: 1px solid #eee;
46 | @media (max-width: @screen-header-collapse) {
47 | .logo-variant(#222; #fff);
48 | border-right: none;
49 | }
50 | }
51 |
52 | li.user-header {
53 | background-color: #222;
54 | }
55 | }
56 |
57 | //Content Header
58 | .content-header {
59 | background: transparent;
60 | box-shadow: none;
61 | }
62 | //Create the sidebar skin
63 | .skin-light-sidebar(#fff);
64 | }
65 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/mailbox.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Page: Mailbox
3 | * -------------
4 | */
5 | .mailbox-messages {
6 | > .table {
7 | margin: 0;
8 | }
9 | }
10 |
11 | .mailbox-controls {
12 | padding: 5px;
13 | &.with-border {
14 | border-bottom: 1px solid @box-border-color;
15 | }
16 | }
17 |
18 | .mailbox-read-info {
19 | border-bottom: 1px solid @box-border-color;
20 | padding: 10px;
21 | h3 {
22 | font-size: 20px;
23 | margin: 0;
24 | }
25 | h5 {
26 | margin: 0;
27 | padding: 5px 0 0 0;
28 | }
29 | }
30 |
31 | .mailbox-read-time {
32 | color: #999;
33 | font-size: 13px;
34 | }
35 |
36 | .mailbox-read-message {
37 | padding: 10px;
38 | }
39 |
40 | .mailbox-attachments {
41 | &:extend(.list-unstyled);
42 | li {
43 | float: left;
44 | width: 200px;
45 | border: 1px solid #eee;
46 | margin-bottom: 10px;
47 | margin-right: 10px;
48 | }
49 | }
50 |
51 | .mailbox-attachment-name {
52 | font-weight: bold;
53 | color: #666;
54 | }
55 |
56 | .mailbox-attachment-icon,
57 | .mailbox-attachment-info,
58 | .mailbox-attachment-size {
59 | display: block;
60 | }
61 |
62 | .mailbox-attachment-info {
63 | padding: 10px;
64 | background: #f4f4f4;
65 | }
66 |
67 | .mailbox-attachment-size {
68 | color: #999;
69 | font-size: 12px;
70 | }
71 |
72 | .mailbox-attachment-icon {
73 | text-align: center;
74 | font-size: 65px;
75 | color: #666;
76 | padding: 20px 10px;
77 | &.has-img {
78 | padding: 0;
79 | > img {
80 | max-width: 100%;
81 | height: auto;
82 | }
83 | }
84 | }
85 |
86 | .mailbox-attachment-close {
87 | &:extend(.close);
88 | }
89 |
--------------------------------------------------------------------------------
/lte-rails.gemspec:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | require File.expand_path('../lib/lte/rails/version', __FILE__)
3 |
4 | Gem::Specification.new do |spec|
5 | spec.name = "lte-rails"
6 | spec.version = Lte::Rails::VERSION
7 | spec.authors = ["Carlos Puchol"]
8 | spec.email = ["cpg+git at racketlogger.com"]
9 |
10 | spec.summary = %q{ Provides Admin LTE assets}
11 | spec.description = %q{ This gem provides all the assets for Admin LTE for use in a rails project}
12 | spec.homepage = "https://github.com/racketlogger/admin-lte-rails"
13 | spec.license = "MIT"
14 |
15 | # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
16 | # delete this section to allow pushing this gem to any host.
17 | if spec.respond_to?(:metadata)
18 | spec.metadata['allowed_push_host'] = "https://rubygems.org"
19 | else
20 | raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
21 | end
22 |
23 | spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24 | spec.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
25 |
26 | spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27 | spec.require_path = 'lib'
28 |
29 | spec.add_development_dependency "bundler", "~> 1.10"
30 | spec.add_development_dependency "rake", "~> 10.0"
31 | spec.add_development_dependency "rspec", "~> 3"
32 |
33 | spec.add_development_dependency 'less', '~> 2.6'
34 |
35 | spec.add_runtime_dependency 'less-rails-bootstrap', '~> 3.3'
36 | spec.add_runtime_dependency 'less-rails', '~> 4.0'
37 |
38 | end
39 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/modal.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: modal
3 | * ----------------
4 | */
5 | .modal {
6 | background: rgba(0, 0, 0, .3);
7 | }
8 |
9 | .modal-content {
10 | .border-radius(0);
11 | .box-shadow(0 2px 3px rgba(0, 0, 0, .125));
12 | border: 0;
13 | @media (min-width: @screen-sm-min) {
14 | .box-shadow(0 2px 3px rgba(0, 0, 0, .125));
15 | }
16 | }
17 |
18 | .modal-header {
19 | border-bottom-color: @box-border-color;
20 | }
21 |
22 | .modal-footer {
23 | border-top-color: @box-border-color;
24 | }
25 |
26 | //Modal variants
27 | .modal-primary {
28 | .modal-body {
29 | &:extend(.bg-light-blue);
30 | }
31 | .modal-header,
32 | .modal-footer {
33 | &:extend(.bg-light-blue-active);
34 | border-color: darken(@light-blue, 10%);
35 | }
36 | }
37 |
38 | .modal-warning {
39 | .modal-body {
40 | &:extend(.bg-yellow);
41 | }
42 | .modal-header,
43 | .modal-footer {
44 | &:extend(.bg-yellow-active);
45 | border-color: darken(@yellow, 10%);
46 | }
47 | }
48 |
49 | .modal-info {
50 | .modal-body {
51 | &:extend(.bg-aqua);
52 | }
53 | .modal-header,
54 | .modal-footer {
55 | &:extend(.bg-aqua-active);
56 | border-color: darken(@aqua, 10%);
57 | }
58 | }
59 |
60 | .modal-success {
61 | .modal-body {
62 | &:extend(.bg-green);
63 | }
64 | .modal-header,
65 | .modal-footer {
66 | &:extend(.bg-green-active);
67 | border-color: darken(@green, 10%);
68 | }
69 | }
70 |
71 | .modal-danger {
72 | .modal-body {
73 | &:extend(.bg-red);
74 | }
75 | .modal-header,
76 | .modal-footer {
77 | &:extend(.bg-red-active);
78 | border-color: darken(@red, 10%);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/social-widgets.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Social Widgets
3 | * -------------------------
4 | */
5 | //General widget style
6 | .box-widget {
7 | border: none;
8 | position: relative;
9 | }
10 |
11 | //User Widget Style 1
12 | .widget-user {
13 | //User name container
14 | .widget-user-header {
15 | padding: 20px;
16 | height: 120px;
17 | .border-top-radius(@box-border-radius);
18 | }
19 | //User name
20 | .widget-user-username {
21 | margin-top: 0;
22 | margin-bottom: 5px;
23 | font-size: 25px;
24 | font-weight: 300;
25 | text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
26 | }
27 | //User single line description
28 | .widget-user-desc {
29 | margin-top: 0;
30 | }
31 | //User image container
32 | .widget-user-image {
33 | position: absolute;
34 | top: 65px;
35 | left: 50%;
36 | margin-left: -45px;
37 | > img {
38 | width: 90px;
39 | height: auto;
40 | border: 3px solid #fff;
41 | }
42 | }
43 | .box-footer {
44 | padding-top: 30px;
45 | }
46 | }
47 |
48 | //User Widget Style 2
49 | .widget-user-2 {
50 | //User name container
51 | .widget-user-header {
52 | padding: 20px;
53 | .border-top-radius(@box-border-radius);
54 | }
55 | //User name
56 | .widget-user-username {
57 | margin-top: 5px;
58 | margin-bottom: 5px;
59 | font-size: 25px;
60 | font-weight: 300;
61 | }
62 | //User single line description
63 | .widget-user-desc {
64 | margin-top: 0;
65 | }
66 | .widget-user-username,
67 | .widget-user-desc {
68 | margin-left: 75px;
69 | }
70 | //User image container
71 | .widget-user-image {
72 | > img {
73 | width: 65px;
74 | height: auto;
75 | float: left;
76 | }
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/skins/skin-black.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Skin: Black
3 | * -----------
4 | */
5 | @import "twitter/bootstrap/mixins.less";
6 | @import "twitter/bootstrap/variables.less";
7 | @import "../variables.less";
8 | @import "../mixins.less";
9 |
10 | /* skin-black navbar */
11 | .skin-black {
12 | //Navbar & Logo
13 | .main-header {
14 | .box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05));
15 | .navbar-toggle {
16 | color: #333;
17 | }
18 | .navbar-brand {
19 | color: #333;
20 | border-right: 1px solid #eee;
21 | }
22 | .navbar {
23 | .navbar-variant(#fff; #333; #999; #fff);
24 | > .sidebar-toggle {
25 | color: #333;
26 | border-right: 1px solid #eee;
27 | }
28 | .navbar-nav {
29 | > li > a {
30 | border-right: 1px solid #eee;
31 | }
32 | }
33 | .navbar-custom-menu .navbar-nav,
34 | .navbar-right {
35 | > li {
36 | > a {
37 | border-left: 1px solid #eee;
38 | border-right-width: 0;
39 | }
40 | }
41 | }
42 | }
43 | > .logo {
44 | .logo-variant(#fff; #333);
45 | border-right: 1px solid #eee;
46 | @media (max-width: @screen-header-collapse) {
47 | .logo-variant(#222; #fff);
48 | border-right: none;
49 | }
50 | }
51 |
52 | li.user-header {
53 | background-color: #222;
54 | }
55 | }
56 |
57 | //Content Header
58 | .content-header {
59 | background: transparent;
60 | box-shadow: none;
61 | }
62 | //Create the sidebar skin
63 | .skin-dark-sidebar(#fff);
64 |
65 | .pace {
66 | .pace-progress {
67 | background: #222;
68 | }
69 | .pace-activity {
70 | border-top-color: #222;
71 | border-left-color: #222;
72 | }
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/small-box.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Small Box
3 | * --------------------
4 | */
5 |
6 | .small-box {
7 | .border-radius(2px);
8 | position: relative;
9 | display: block;
10 | margin-bottom: 20px;
11 | box-shadow: @box-boxshadow;
12 | // content wrapper
13 | > .inner {
14 | padding: 10px;
15 | }
16 |
17 | > .small-box-footer {
18 | position: relative;
19 | text-align: center;
20 | padding: 3px 0;
21 | color: #fff;
22 | color: rgba(255, 255, 255, 0.8);
23 | display: block;
24 | z-index: 10;
25 | background: rgba(0, 0, 0, 0.1);
26 | text-decoration: none;
27 | &:hover {
28 | color: #fff;
29 | background: rgba(0, 0, 0, 0.15);
30 | }
31 | }
32 |
33 | h3 {
34 | font-size: 38px;
35 | font-weight: bold;
36 | margin: 0 0 10px 0;
37 | white-space: nowrap;
38 | padding: 0;
39 |
40 | }
41 |
42 | p {
43 | font-size: 15px;
44 | > small {
45 | display: block;
46 | color: #f9f9f9;
47 | font-size: 13px;
48 | margin-top: 5px;
49 | }
50 | }
51 |
52 | h3, p {
53 | z-index: 5;
54 | }
55 |
56 | // the icon
57 | .icon {
58 | .transition(all @transition-speed linear);
59 | position: absolute;
60 | top: -10px;
61 | right: 10px;
62 | z-index: 0;
63 | font-size: 90px;
64 | color: rgba(0, 0, 0, 0.15);
65 | }
66 |
67 | // Small box hover state
68 | &:hover {
69 | text-decoration: none;
70 | color: #f9f9f9;
71 | // Animate icons on small box hover
72 | .icon {
73 | font-size: 95px;
74 | }
75 | }
76 | }
77 |
78 | @media (max-width: @screen-xs-max) {
79 | // No need for icons on very small devices
80 | .small-box {
81 | text-align: center;
82 | .icon {
83 | display: none;
84 | }
85 | p {
86 | font-size: 12px;
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/AdminLTE.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * AdminLTE v2.3.5
3 | * Author: Almsaeed Studio
4 | * Website: Almsaeed Studio
5 | * License: Open source - MIT
6 | * Please visit http://opensource.org/licenses/MIT for more information
7 | !*/
8 | //google fonts
9 | @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic);
10 | //Bootstrap Variables & Mixins
11 | //The core bootstrap code have not been modified. These files
12 | //are included only for reference.
13 | @import (reference) "twitter/bootstrap/mixins.less";
14 | @import (reference) "twitter/bootstrap/variables.less";
15 | //MISC
16 | //----
17 | @import "core.less";
18 | @import "variables.less";
19 | @import "mixins.less";
20 | //COMPONENTS
21 | //-----------
22 | @import "header.less";
23 | @import "sidebar.less";
24 | @import "sidebar-mini.less";
25 | @import "control-sidebar.less";
26 | @import "dropdown.less";
27 | @import "forms.less";
28 | @import "progress-bars.less";
29 | @import "small-box.less";
30 | @import "boxes.less";
31 | @import "info-box.less";
32 | @import "timeline.less";
33 | @import "buttons.less";
34 | @import "callout.less";
35 | @import "alerts.less";
36 | @import "navs.less";
37 | @import "products.less";
38 | @import "table.less";
39 | @import "labels.less";
40 | @import "direct-chat.less";
41 | @import "users-list.less";
42 | @import "carousel.less";
43 | @import "modal.less";
44 | @import "social-widgets.less";
45 | //PAGES
46 | //------
47 | @import "mailbox.less";
48 | @import "lockscreen.less";
49 | @import "login_and_register.less";
50 | @import "404_500_errors.less";
51 | @import "invoice.less";
52 | @import "profile";
53 | //Plugins
54 | //--------
55 | @import "bootstrap-social.less";
56 | @import "fullcalendar.less";
57 | @import "select2.less";
58 | //Miscellaneous
59 | //-------------
60 | @import "miscellaneous.less";
61 | @import "print.less";
62 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/fullcalendar.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Plugin: Full Calendar
3 | * ---------------------
4 | */
5 | //Fullcalendar buttons
6 | .fc-button {
7 | background: #f4f4f4;
8 | background-image: none;
9 | color: #444;
10 | border-color: #ddd;
11 | border-bottom-color: #ddd;
12 | &:hover,
13 | &:active,
14 | &.hover {
15 | background-color: #e9e9e9;
16 | }
17 | }
18 |
19 | // Calendar title
20 | .fc-header-title h2 {
21 | font-size: 15px;
22 | line-height: 1.6em;
23 | color: #666;
24 | margin-left: 10px;
25 | }
26 |
27 | .fc-header-right {
28 | padding-right: 10px;
29 | }
30 |
31 | .fc-header-left {
32 | padding-left: 10px;
33 | }
34 |
35 | // Calendar table header cells
36 | .fc-widget-header {
37 | background: #fafafa;
38 | }
39 |
40 | .fc-grid {
41 | width: 100%;
42 | border: 0;
43 | }
44 |
45 | .fc-widget-header:first-of-type,
46 | .fc-widget-content:first-of-type {
47 | border-left: 0;
48 | border-right: 0;
49 | }
50 |
51 | .fc-widget-header:last-of-type,
52 | .fc-widget-content:last-of-type {
53 | border-right: 0;
54 | }
55 |
56 | .fc-toolbar {
57 | padding: @box-padding;
58 | margin: 0;
59 | }
60 |
61 | .fc-day-number {
62 | font-size: 20px;
63 | font-weight: 300;
64 | padding-right: 10px;
65 | }
66 |
67 | .fc-color-picker {
68 | list-style: none;
69 | margin: 0;
70 | padding: 0;
71 | > li {
72 | float: left;
73 | font-size: 30px;
74 | margin-right: 5px;
75 | line-height: 30px;
76 | .fa {
77 | .transition-transform(linear .3s);
78 | &:hover {
79 | .rotate(30deg);
80 | }
81 | }
82 | }
83 | }
84 |
85 | #add-new-event {
86 | .transition(all linear .3s);
87 | }
88 |
89 | .external-event {
90 | padding: 5px 10px;
91 | font-weight: bold;
92 | margin-bottom: 4px;
93 | box-shadow: @box-boxshadow;
94 | text-shadow: @box-boxshadow;
95 | border-radius: @box-border-radius;
96 | cursor: move;
97 | &:hover {
98 | box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.2);
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/progress-bars.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Progress Bar
3 | * -----------------------
4 | */
5 |
6 | //General CSS
7 | .progress,
8 | .progress > .progress-bar {
9 | .box-shadow(none);
10 | &, .progress-bar {
11 | .border-radius(@progress-bar-border-radius);
12 | }
13 | }
14 |
15 | /* size variation */
16 | .progress.sm,
17 | .progress-sm {
18 | height: 10px;
19 | &, .progress-bar {
20 | .border-radius(@progress-bar-sm-border-radius);
21 | }
22 | }
23 |
24 | .progress.xs,
25 | .progress-xs {
26 | height: 7px;
27 | &, .progress-bar {
28 | .border-radius(@progress-bar-xs-border-radius);
29 | }
30 | }
31 |
32 | .progress.xxs,
33 | .progress-xxs {
34 | height: 3px;
35 | &, .progress-bar {
36 | .border-radius(@progress-bar-xs-border-radius);
37 | }
38 | }
39 |
40 | /* Vertical bars */
41 | .progress.vertical {
42 | position: relative;
43 | width: 30px;
44 | height: 200px;
45 | display: inline-block;
46 | margin-right: 10px;
47 | > .progress-bar {
48 | width: 100%;
49 | position: absolute;
50 | bottom: 0;
51 | }
52 |
53 | //Sizes
54 | &.sm,
55 | &.progress-sm {
56 | width: 20px;
57 | }
58 |
59 | &.xs,
60 | &.progress-xs {
61 | width: 10px;
62 | }
63 | &.xxs,
64 | &.progress-xxs {
65 | width: 3px;
66 | }
67 | }
68 |
69 | //Progress Groups
70 | .progress-group {
71 | .progress-text {
72 | font-weight: 600;
73 | }
74 | .progress-number {
75 | float: right;
76 | }
77 | }
78 |
79 | /* Remove margins from progress bars when put in a table */
80 | .table {
81 | tr > td .progress {
82 | margin: 0;
83 | }
84 | }
85 |
86 | // Variations
87 | // -------------------------
88 | .progress-bar-light-blue,
89 | .progress-bar-primary {
90 | .progress-bar-variant(@light-blue);
91 | }
92 |
93 | .progress-bar-green,
94 | .progress-bar-success {
95 | .progress-bar-variant(@green);
96 | }
97 |
98 | .progress-bar-aqua,
99 | .progress-bar-info {
100 | .progress-bar-variant(@aqua);
101 | }
102 |
103 | .progress-bar-yellow,
104 | .progress-bar-warning {
105 | .progress-bar-variant(@yellow);
106 | }
107 |
108 | .progress-bar-red,
109 | .progress-bar-danger {
110 | .progress-bar-variant(@red);
111 | }
112 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/forms.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Form
3 | * ---------------
4 | */
5 | .form-control {
6 | .border-radius(@input-radius);
7 | box-shadow: none;
8 | border-color: @gray;
9 | &:focus {
10 | border-color: @light-blue;
11 | box-shadow: none;
12 | }
13 | &::-moz-placeholder,
14 | &:-ms-input-placeholder,
15 | &::-webkit-input-placeholder {
16 | color: #bbb;
17 | opacity: 1;
18 | }
19 |
20 | &:not(select) {
21 | -webkit-appearance: none;
22 | -moz-appearance: none;
23 | appearance: none;
24 | }
25 | }
26 |
27 | .form-group {
28 | &.has-success {
29 | label {
30 | color: @green;
31 | }
32 | .form-control {
33 | border-color: @green;
34 | box-shadow: none;
35 | }
36 | .help-block {
37 | color: @green;
38 | }
39 | }
40 |
41 | &.has-warning {
42 | label {
43 | color: @yellow;
44 | }
45 | .form-control {
46 | border-color: @yellow;
47 | box-shadow: none;
48 | }
49 | .help-block {
50 | color: @yellow;
51 | }
52 | }
53 |
54 | &.has-error {
55 | label {
56 | color: @red;
57 | }
58 | .form-control {
59 | border-color: @red;
60 | box-shadow: none;
61 | }
62 | .help-block {
63 | color: @red;
64 | }
65 | }
66 | }
67 |
68 | /* Input group */
69 | .input-group {
70 | .input-group-addon {
71 | .border-radius(@input-radius);
72 | border-color: @gray;
73 | background-color: #fff;
74 | }
75 | }
76 |
77 | /* button groups */
78 | .btn-group-vertical {
79 | .btn {
80 | &.btn-flat:first-of-type, &.btn-flat:last-of-type {
81 | .border-radius(0);
82 | }
83 | }
84 | }
85 |
86 | .icheck > label {
87 | padding-left: 0;
88 | }
89 |
90 | /* support Font Awesome icons in form-control */
91 | .form-control-feedback.fa {
92 | line-height: @input-height-base;
93 | }
94 |
95 | .input-lg + .form-control-feedback.fa,
96 | .input-group-lg + .form-control-feedback.fa,
97 | .form-group-lg .form-control + .form-control-feedback.fa {
98 | line-height: @input-height-large;
99 | }
100 |
101 | .input-sm + .form-control-feedback.fa,
102 | .input-group-sm + .form-control-feedback.fa,
103 | .form-group-sm .form-control + .form-control-feedback.fa {
104 | line-height: @input-height-small;
105 | }
106 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/timeline.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Timeline
3 | * -------------------
4 | */
5 |
6 | .timeline {
7 | position: relative;
8 | margin: 0 0 30px 0;
9 | padding: 0;
10 | list-style: none;
11 |
12 | // The line
13 | &:before {
14 | content: '';
15 | position: absolute;
16 | top: 0;
17 | bottom: 0;
18 | width: 4px;
19 | background: #ddd;
20 | left: 31px;
21 | margin: 0;
22 | .border-radius(2px);
23 | }
24 |
25 | > li {
26 | position: relative;
27 | margin-right: 10px;
28 | margin-bottom: 15px;
29 | .clearfix();
30 |
31 | // The content
32 | > .timeline-item {
33 | .box-shadow(@box-boxshadow);
34 | .border-radius(@box-border-radius);
35 | margin-top: 0;
36 | background: #fff;
37 | color: #444;
38 | margin-left: 60px;
39 | margin-right: 15px;
40 | padding: 0;
41 | position: relative;
42 |
43 | // The time and header
44 | > .time {
45 | color: #999;
46 | float: right;
47 | padding: 10px;
48 | font-size: 12px;
49 | }
50 | > .timeline-header {
51 | margin: 0;
52 | color: #555;
53 | border-bottom: 1px solid @box-border-color;
54 | padding: 10px;
55 | font-size: 16px;
56 | line-height: 1.1;
57 | > a {
58 | font-weight: 600;
59 | }
60 | }
61 | // Item body and footer
62 | > .timeline-body, > .timeline-footer {
63 | padding: 10px;
64 | }
65 |
66 | }
67 |
68 | // The icons
69 | > .fa,
70 | > .glyphicon,
71 | > .ion {
72 | width: 30px;
73 | height: 30px;
74 | font-size: 15px;
75 | line-height: 30px;
76 | position: absolute;
77 | color: #666;
78 | background: @gray;
79 | border-radius: 50%;
80 | text-align: center;
81 | left: 18px;
82 | top: 0;
83 | }
84 | }
85 |
86 | // Time label
87 | > .time-label {
88 | > span {
89 | font-weight: 600;
90 | padding: 5px;
91 | display: inline-block;
92 | background-color: #fff;
93 |
94 | .border-radius(4px);
95 | }
96 | }
97 | }
98 |
99 | .timeline-inverse {
100 | > li {
101 | > .timeline-item {
102 | background: #f0f0f0;
103 | border: 1px solid #ddd;
104 | .box-shadow(none);
105 | > .timeline-header {
106 | border-bottom-color: #ddd;
107 | }
108 | }
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GIT
2 | remote: https://github.com/nicke/less-rails-bootstrap.git
3 | revision: 365fba903cce8d2b368f55d05da64a50acea0659
4 | specs:
5 | less-rails-bootstrap (3.3.7.0)
6 | less-rails (>= 3.0)
7 |
8 | PATH
9 | remote: .
10 | specs:
11 | lte-rails (0.0.5)
12 | less-rails (~> 4.0)
13 | less-rails-bootstrap (~> 3.3)
14 |
15 | GEM
16 | remote: https://rubygems.org/
17 | specs:
18 | actionpack (5.2.2)
19 | actionview (= 5.2.2)
20 | activesupport (= 5.2.2)
21 | rack (~> 2.0)
22 | rack-test (>= 0.6.3)
23 | rails-dom-testing (~> 2.0)
24 | rails-html-sanitizer (~> 1.0, >= 1.0.2)
25 | actionview (5.2.2)
26 | activesupport (= 5.2.2)
27 | builder (~> 3.1)
28 | erubi (~> 1.4)
29 | rails-dom-testing (~> 2.0)
30 | rails-html-sanitizer (~> 1.0, >= 1.0.3)
31 | activesupport (5.2.2)
32 | concurrent-ruby (~> 1.0, >= 1.0.2)
33 | i18n (>= 0.7, < 2)
34 | minitest (~> 5.1)
35 | tzinfo (~> 1.1)
36 | builder (3.2.3)
37 | commonjs (0.2.7)
38 | concurrent-ruby (1.1.4)
39 | crass (1.0.4)
40 | diff-lcs (1.3)
41 | erubi (1.8.0)
42 | i18n (1.5.1)
43 | concurrent-ruby (~> 1.0)
44 | less (2.6.0)
45 | commonjs (~> 0.2.7)
46 | less-rails (4.0.0)
47 | actionpack (>= 4)
48 | less (~> 2.6.0)
49 | sprockets (>= 2)
50 | loofah (2.2.3)
51 | crass (~> 1.0.2)
52 | nokogiri (>= 1.5.9)
53 | mini_portile2 (2.4.0)
54 | minitest (5.11.3)
55 | nokogiri (1.10.0)
56 | mini_portile2 (~> 2.4.0)
57 | rack (2.0.6)
58 | rack-test (1.1.0)
59 | rack (>= 1.0, < 3)
60 | rails-dom-testing (2.0.3)
61 | activesupport (>= 4.2.0)
62 | nokogiri (>= 1.6)
63 | rails-html-sanitizer (1.0.4)
64 | loofah (~> 2.2, >= 2.2.2)
65 | rake (10.5.0)
66 | rspec (3.8.0)
67 | rspec-core (~> 3.8.0)
68 | rspec-expectations (~> 3.8.0)
69 | rspec-mocks (~> 3.8.0)
70 | rspec-core (3.8.0)
71 | rspec-support (~> 3.8.0)
72 | rspec-expectations (3.8.2)
73 | diff-lcs (>= 1.2.0, < 2.0)
74 | rspec-support (~> 3.8.0)
75 | rspec-mocks (3.8.0)
76 | diff-lcs (>= 1.2.0, < 2.0)
77 | rspec-support (~> 3.8.0)
78 | rspec-support (3.8.0)
79 | sprockets (3.7.2)
80 | concurrent-ruby (~> 1.0)
81 | rack (> 1, < 3)
82 | thread_safe (0.3.6)
83 | tzinfo (1.2.5)
84 | thread_safe (~> 0.1)
85 |
86 | PLATFORMS
87 | ruby
88 |
89 | DEPENDENCIES
90 | bundler (~> 1.10)
91 | less (~> 2.6)
92 | less-rails-bootstrap!
93 | lte-rails!
94 | rake (~> 10.0)
95 | rspec (~> 3)
96 |
97 | BUNDLED WITH
98 | 1.17.2
99 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/select2.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Plugin: Select2
3 | * ---------------
4 | */
5 |
6 | //Signle select
7 | .select2-container--default,
8 | .select2-selection {
9 | &.select2-container--focus,
10 | &:focus,
11 | &:active {
12 | outline: none;
13 | }
14 | .select2-selection--single {
15 | border: 1px solid @gray;
16 | border-radius: @input-radius;
17 | padding: 6px 12px;
18 | height: 34px;
19 | }
20 | }
21 |
22 | .select2-container--default.select2-container--open {
23 | border-color: @light-blue;
24 | }
25 |
26 | .select2-dropdown {
27 | border: 1px solid @gray;
28 | border-radius: @input-radius;
29 | }
30 |
31 | .select2-container--default .select2-results__option--highlighted[aria-selected] {
32 | background-color: @light-blue;
33 | color: white;
34 | }
35 |
36 | .select2-results__option {
37 | padding: 6px 12px;
38 | user-select: none;
39 | -webkit-user-select: none;
40 | }
41 |
42 | .select2-container .select2-selection--single .select2-selection__rendered {
43 | padding-left: 0;
44 | padding-right: 0;
45 | height: auto;
46 | margin-top: -4px;
47 | }
48 |
49 | .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
50 | padding-right: 6px;
51 | padding-left: 20px;
52 | }
53 |
54 | .select2-container--default .select2-selection--single .select2-selection__arrow {
55 | height: 28px;
56 | right: 3px;
57 | }
58 |
59 | .select2-container--default .select2-selection--single .select2-selection__arrow b {
60 | margin-top: 0;
61 | }
62 |
63 | .select2-dropdown,
64 | .select2-search--inline {
65 | .select2-search__field {
66 | border: 1px solid @gray;
67 | &:focus {
68 | outline: none;
69 | border: 1px solid @light-blue;
70 | }
71 | }
72 | }
73 |
74 | .select2-container--default .select2-results__option[aria-disabled=true] {
75 | color: #999;
76 | }
77 |
78 | .select2-container--default .select2-results__option[aria-selected=true] {
79 | background-color: #ddd;
80 | &,
81 | &:hover {
82 | color: #444;
83 | }
84 | }
85 |
86 | //Multiple select
87 | .select2-container--default {
88 | .select2-selection--multiple {
89 | border: 1px solid @gray;
90 | border-radius: @input-radius;
91 | &:focus {
92 | border-color: @light-blue;
93 | }
94 | }
95 | &.select2-container--focus .select2-selection--multiple {
96 | border-color: @gray;
97 | }
98 | }
99 |
100 | .select2-container--default .select2-selection--multiple .select2-selection__choice {
101 | background-color: @light-blue;
102 | border-color: darken(@light-blue, 5%);
103 | padding: 1px 10px;
104 | color: #fff;
105 | }
106 |
107 | .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
108 | margin-right: 5px;
109 | color: rgba(255, 255, 255, .7);
110 | &:hover {
111 | color: #fff;
112 | }
113 | }
114 |
115 | .select2-container .select2-selection--single .select2-selection__rendered {
116 | padding-right: 10px;
117 | }
118 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/sidebar.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Sidebar
3 | * ------------------
4 | */
5 | //Main Sidebar
6 | // ``` .left-side has been deprecated as of 2.0.0 in favor of .main-sidebar ```
7 |
8 | .main-sidebar,
9 | .left-side {
10 | position: absolute;
11 | top: 0;
12 | left: 0;
13 | padding-top: 50px;
14 | min-height: 100%;
15 | width: @sidebar-width;
16 | z-index: 810;
17 | //Using disposable variable to join statements with a comma
18 | @transition-rule: @transition-speed @transition-fn,
19 | width @transition-speed @transition-fn;
20 | .transition-transform(@transition-rule);
21 | @media (max-width: @screen-header-collapse) {
22 | padding-top: 100px;
23 | }
24 | @media (max-width: @screen-xs-max) {
25 | .translate(-@sidebar-width, 0);
26 | }
27 | .sidebar-collapse & {
28 | @media (min-width: @screen-sm) {
29 | .translate(-@sidebar-width, 0);
30 | }
31 | }
32 | .sidebar-open & {
33 | @media (max-width: @screen-xs-max) {
34 | .translate(0, 0);
35 | }
36 | }
37 | }
38 |
39 | .sidebar {
40 | padding-bottom: 10px;
41 | }
42 |
43 | // remove border from form
44 | .sidebar-form {
45 | input:focus {
46 | border-color: transparent;
47 | }
48 | }
49 |
50 | //Sidebar user panel
51 | .user-panel {
52 | position: relative;
53 | width: 100%;
54 | padding: 10px;
55 | overflow: hidden;
56 | .clearfix();
57 | > .image > img {
58 | width: 100%;
59 | max-width: 45px;
60 | height: auto;
61 | }
62 | > .info {
63 | padding: 5px 5px 5px 15px;
64 | line-height: 1;
65 | position: absolute;
66 | left: 55px;
67 | > p {
68 | font-weight: 600;
69 | margin-bottom: 9px;
70 | }
71 | > a {
72 | text-decoration: none;
73 | padding-right: 5px;
74 | margin-top: 3px;
75 | font-size: 11px;
76 | > .fa,
77 | > .ion,
78 | > .glyphicon {
79 | margin-right: 3px;
80 | }
81 | }
82 | }
83 | }
84 |
85 | // Sidebar menu
86 | .sidebar-menu {
87 | list-style: none;
88 | margin: 0;
89 | padding: 0;
90 | //First Level
91 | > li {
92 | position: relative;
93 | margin: 0;
94 | padding: 0;
95 | > a {
96 | padding: 12px 5px 12px 15px;
97 | display: block;
98 | > .fa,
99 | > .glyphicon,
100 | > .ion {
101 | width: 20px;
102 | }
103 | }
104 | .label,
105 | .badge {
106 | margin-right: 5px;
107 | }
108 | .badge {
109 | margin-top: 3px;
110 | }
111 | }
112 | li.header {
113 | padding: 10px 25px 10px 15px;
114 | font-size: 12px;
115 | }
116 | li > a > .pull-right-container > .fa-angle-left {
117 | width: auto;
118 | height: auto;
119 | padding: 0;
120 | margin-right: 10px;
121 | }
122 | li.active {
123 | > a > .pull-right-container > .fa-angle-left {
124 | .rotate(-90deg);
125 | }
126 | > .treeview-menu {
127 | display: block;
128 | }
129 | }
130 |
131 | // Tree view menu
132 | .treeview-menu {
133 | display: none;
134 | list-style: none;
135 | padding: 0;
136 | margin: 0;
137 | padding-left: 5px;
138 | .treeview-menu {
139 | padding-left: 20px;
140 | }
141 | > li {
142 | margin: 0;
143 | > a {
144 | padding: 5px 5px 5px 15px;
145 | display: block;
146 | font-size: 14px;
147 | > .fa,
148 | > .glyphicon,
149 | > .ion {
150 | width: 20px;
151 | }
152 | > .pull-right-container > .fa-angle-left,
153 | > .fa-angle-down {
154 | width: auto;
155 | }
156 | }
157 | }
158 | }
159 | }
160 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/variables.less:
--------------------------------------------------------------------------------
1 | //AdminLTE 2 Variables.less
2 | //=========================
3 |
4 | //PATHS
5 | //--------------------------------------------------------
6 |
7 | @boxed-layout-bg-image-path: "../img/boxed-bg.jpg";
8 |
9 | //COLORS
10 | //--------------------------------------------------------
11 | //Primary
12 | @light-blue: #3c8dbc;
13 | //Danger
14 | @red: #dd4b39;
15 | //Success
16 | @green: #00a65a;
17 | //Info
18 | @aqua: #00c0ef;
19 | //Warning
20 | @yellow: #f39c12;
21 | @blue: #0073b7;
22 | @navy: #001F3F;
23 | @teal: #39CCCC;
24 | @olive: #3D9970;
25 | @lime: #01FF70;
26 | @orange: #FF851B;
27 | @fuchsia: #F012BE;
28 | @purple: #605ca8;
29 | @maroon: #D81B60;
30 | @black: #111;
31 | @gray: #d2d6de;
32 |
33 | //LAYOUT
34 | //--------------------------------------------------------
35 |
36 | //Side bar and logo width
37 | @sidebar-width: 230px;
38 | //Boxed layout maximum width
39 | @boxed-layout-max-width: 1024px;
40 | //When the logo should go to the top of the screen
41 | @screen-header-collapse: @screen-xs-max;
42 |
43 | //Link colors (Aka: tags)
44 | @link-color: @light-blue;
45 | @link-hover-color: lighten(@link-color, 15%);
46 |
47 | //Body background (Affects main content background only)
48 | @body-bg: #ecf0f5;
49 |
50 | //SIDEBAR SKINS
51 | //--------------------------------------------------------
52 |
53 | //Dark sidebar
54 | @sidebar-dark-bg: #222d32;
55 | @sidebar-dark-hover-bg: darken(@sidebar-dark-bg, 2%);
56 | @sidebar-dark-color: lighten(@sidebar-dark-bg, 60%);
57 | @sidebar-dark-hover-color: #fff;
58 | @sidebar-dark-submenu-bg: lighten(@sidebar-dark-bg, 5%);
59 | @sidebar-dark-submenu-color: lighten(@sidebar-dark-submenu-bg, 40%);
60 | @sidebar-dark-submenu-hover-color: #fff;
61 |
62 | //Light sidebar
63 | @sidebar-light-bg: #f9fafc;
64 | @sidebar-light-hover-bg: lighten(#f0f0f1, 1.5%);
65 | @sidebar-light-color: #444;
66 | @sidebar-light-hover-color: #000;
67 | @sidebar-light-submenu-bg: @sidebar-light-hover-bg;
68 | @sidebar-light-submenu-color: #777;
69 | @sidebar-light-submenu-hover-color: #000;
70 |
71 | //CONTROL SIDEBAR
72 | //--------------------------------------------------------
73 | @control-sidebar-width: @sidebar-width;
74 |
75 | //BOXES
76 | //--------------------------------------------------------
77 | @box-border-color: #f4f4f4;
78 | @box-border-radius: 3px;
79 | @box-footer-bg: #fff;
80 | @box-boxshadow: 0 1px 1px rgba(0, 0, 0, .1);
81 | @box-padding: 10px;
82 |
83 | //Box variants
84 | @box-default-border-top-color: #d2d6de;
85 |
86 | //BUTTONS
87 | //--------------------------------------------------------
88 | @btn-boxshadow: none;
89 |
90 | //PROGRESS BARS
91 | //--------------------------------------------------------
92 | @progress-bar-border-radius: 1px;
93 | @progress-bar-sm-border-radius: 1px;
94 | @progress-bar-xs-border-radius: 1px;
95 |
96 | //FORMS
97 | //--------------------------------------------------------
98 | @input-radius: 0;
99 |
100 | //BUTTONS
101 | //--------------------------------------------------------
102 |
103 | //Border radius for non flat buttons
104 | @btn-border-radius: 3px;
105 |
106 | //DIRECT CHAT
107 | //--------------------------------------------------------
108 | @direct-chat-height: 250px;
109 | @direct-chat-default-msg-bg: @gray;
110 | @direct-chat-default-font-color: #444;
111 | @direct-chat-default-msg-border-color: @gray;
112 |
113 | //CHAT WIDGET
114 | //--------------------------------------------------------
115 | @attachment-border-radius: 3px;
116 |
117 | //TRANSITIONS SETTINGS
118 | //--------------------------------------------------------
119 |
120 | //Transition global options
121 | @transition-speed: .3s;
122 | @transition-fn: ease-in-out;
123 | //cubic-bezier(0.32,1.25,0.375,1.15);
124 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/core.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Core: General Layout Style
3 | * -------------------------
4 | */
5 | html,
6 | body {
7 | min-height: 100%;
8 | .layout-boxed & {
9 | height: 100%;
10 | }
11 | }
12 |
13 | body {
14 | -webkit-font-smoothing: antialiased;
15 | -moz-osx-font-smoothing: grayscale;
16 | font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
17 | font-weight: 400;
18 | overflow-x: hidden;
19 | overflow-y: auto;
20 | }
21 |
22 | /* Layout */
23 | .wrapper {
24 | .clearfix();
25 | min-height: 100%;
26 | position: relative;
27 | overflow: hidden;
28 | .layout-boxed & {
29 | max-width: 1250px;
30 | margin: 0 auto;
31 | min-height: 100%;
32 | box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
33 | position: relative;
34 | }
35 | }
36 |
37 | .layout-boxed {
38 | background: url('@{boxed-layout-bg-image-path}') repeat fixed;
39 | }
40 |
41 | /*
42 | * Content Wrapper - contains the main content
43 | * ```.right-side has been deprecated as of v2.0.0 in favor of .content-wrapper ```
44 | */
45 | .content-wrapper,
46 | .right-side,
47 | .main-footer {
48 | //Using disposable variable to join statements with a comma
49 | @transition-rule: @transition-speed @transition-fn,
50 | margin @transition-speed @transition-fn;
51 | .transition-transform(@transition-rule);
52 | margin-left: @sidebar-width;
53 | z-index: 820;
54 | //Top nav layout
55 | .layout-top-nav & {
56 | margin-left: 0;
57 | }
58 | @media (max-width: @screen-xs-max) {
59 | margin-left: 0;
60 | }
61 | //When opening the sidebar on large screens
62 | .sidebar-collapse & {
63 | @media (min-width: @screen-sm) {
64 | margin-left: 0;
65 | }
66 | }
67 | //When opening the sidebar on small screens
68 | .sidebar-open & {
69 | @media (max-width: @screen-xs-max) {
70 | .translate(@sidebar-width, 0);
71 | }
72 | }
73 | }
74 |
75 | .content-wrapper,
76 | .right-side {
77 | min-height: 100%;
78 | background-color: @body-bg;
79 | z-index: 800;
80 | }
81 |
82 | .main-footer {
83 | background: #fff;
84 | padding: 15px;
85 | color: #444;
86 | border-top: 1px solid @gray;
87 | }
88 |
89 | /* Fixed layout */
90 | .fixed {
91 | .main-header,
92 | .main-sidebar,
93 | .left-side {
94 | position: fixed;
95 | }
96 | .main-header {
97 | top: 0;
98 | right: 0;
99 | left: 0;
100 | }
101 | .content-wrapper,
102 | .right-side {
103 | padding-top: 50px;
104 | @media (max-width: @screen-header-collapse) {
105 | padding-top: 100px;
106 | }
107 | }
108 | &.layout-boxed {
109 | .wrapper {
110 | max-width: 100%;
111 | }
112 | }
113 | }
114 |
115 | body.hold-transition {
116 | .content-wrapper,
117 | .right-side,
118 | .main-footer,
119 | .main-sidebar,
120 | .left-side,
121 | .main-header .navbar,
122 | .main-header .logo {
123 | /* Fix for IE */
124 | .transition(none);
125 | }
126 | }
127 |
128 | /* Content */
129 | .content {
130 | min-height: 250px;
131 | padding: 15px;
132 | .container-fixed(@grid-gutter-width);
133 | }
134 |
135 | /* H1 - H6 font */
136 | h1,
137 | h2,
138 | h3,
139 | h4,
140 | h5,
141 | h6,
142 | .h1,
143 | .h2,
144 | .h3,
145 | .h4,
146 | .h5,
147 | .h6 {
148 | font-family: 'Source Sans Pro', sans-serif;
149 | }
150 |
151 | /* General Links */
152 | a {
153 | color: @link-color;
154 | }
155 |
156 | a:hover,
157 | a:active,
158 | a:focus {
159 | outline: none;
160 | text-decoration: none;
161 | color: @link-hover-color;
162 | }
163 |
164 | /* Page Header */
165 | .page-header {
166 | margin: 10px 0 20px 0;
167 | font-size: 22px;
168 |
169 | > small {
170 | color: #666;
171 | display: block;
172 | margin-top: 5px;
173 | }
174 | }
175 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/bootstrap-social.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Social Buttons for Bootstrap
3 | *
4 | * Copyright 2013-2015 Panayiotis Lipiridis
5 | * Licensed under the MIT License
6 | *
7 | * https://github.com/lipis/bootstrap-social
8 | */
9 |
10 | @bs-height-base: (@line-height-computed + @padding-base-vertical * 2);
11 | @bs-height-lg: (floor(@font-size-large * @line-height-base) + @padding-large-vertical * 2);
12 | @bs-height-sm: (floor(@font-size-small * 1.5) + @padding-small-vertical * 2);
13 | @bs-height-xs: (floor(@font-size-small * 1.2) + @padding-small-vertical + 1);
14 |
15 | .btn-social {
16 | position: relative;
17 | padding-left: (@bs-height-base + @padding-base-horizontal);
18 | text-align: left;
19 | white-space: nowrap;
20 | overflow: hidden;
21 | text-overflow: ellipsis;
22 | > :first-child {
23 | position: absolute;
24 | left: 0;
25 | top: 0;
26 | bottom: 0;
27 | width: @bs-height-base;
28 | line-height: (@bs-height-base + 2);
29 | font-size: 1.6em;
30 | text-align: center;
31 | border-right: 1px solid rgba(0, 0, 0, 0.2);
32 | }
33 | &.btn-lg {
34 | padding-left: (@bs-height-lg + @padding-large-horizontal);
35 | > :first-child {
36 | line-height: @bs-height-lg;
37 | width: @bs-height-lg;
38 | font-size: 1.8em;
39 | }
40 | }
41 | &.btn-sm {
42 | padding-left: (@bs-height-sm + @padding-small-horizontal);
43 | > :first-child {
44 | line-height: @bs-height-sm;
45 | width: @bs-height-sm;
46 | font-size: 1.4em;
47 | }
48 | }
49 | &.btn-xs {
50 | padding-left: (@bs-height-xs + @padding-small-horizontal);
51 | > :first-child {
52 | line-height: @bs-height-xs;
53 | width: @bs-height-xs;
54 | font-size: 1.2em;
55 | }
56 | }
57 | }
58 |
59 | .btn-social-icon {
60 | .btn-social;
61 | height: (@bs-height-base + 2);
62 | width: (@bs-height-base + 2);
63 | padding: 0;
64 | > :first-child {
65 | border: none;
66 | text-align: center;
67 | width: 100%;
68 | }
69 | &.btn-lg {
70 | height: @bs-height-lg;
71 | width: @bs-height-lg;
72 | padding-left: 0;
73 | padding-right: 0;
74 | }
75 | &.btn-sm {
76 | height: (@bs-height-sm + 2);
77 | width: (@bs-height-sm + 2);
78 | padding-left: 0;
79 | padding-right: 0;
80 | }
81 | &.btn-xs {
82 | height: (@bs-height-xs + 2);
83 | width: (@bs-height-xs + 2);
84 | padding-left: 0;
85 | padding-right: 0;
86 | }
87 | }
88 |
89 | .btn-social(@color-bg, @color: #fff) {
90 | background-color: @color-bg;
91 | .button-variant(@color, @color-bg, rgba(0, 0, 0, .2));
92 | }
93 |
94 | .btn-adn {
95 | .btn-social(#d87a68);
96 | }
97 |
98 | .btn-bitbucket {
99 | .btn-social(#205081);
100 | }
101 |
102 | .btn-dropbox {
103 | .btn-social(#1087dd);
104 | }
105 |
106 | .btn-facebook {
107 | .btn-social(#3b5998);
108 | }
109 |
110 | .btn-flickr {
111 | .btn-social(#ff0084);
112 | }
113 |
114 | .btn-foursquare {
115 | .btn-social(#f94877);
116 | }
117 |
118 | .btn-github {
119 | .btn-social(#444444);
120 | }
121 |
122 | .btn-google {
123 | .btn-social(#dd4b39);
124 | }
125 |
126 | .btn-instagram {
127 | .btn-social(#3f729b);
128 | }
129 |
130 | .btn-linkedin {
131 | .btn-social(#007bb6);
132 | }
133 |
134 | .btn-microsoft {
135 | .btn-social(#2672ec);
136 | }
137 |
138 | .btn-openid {
139 | .btn-social(#f7931e);
140 | }
141 |
142 | .btn-pinterest {
143 | .btn-social(#cb2027);
144 | }
145 |
146 | .btn-reddit {
147 | .btn-social(#eff7ff, #000);
148 | }
149 |
150 | .btn-soundcloud {
151 | .btn-social(#ff5500);
152 | }
153 |
154 | .btn-tumblr {
155 | .btn-social(#2c4762);
156 | }
157 |
158 | .btn-twitter {
159 | .btn-social(#55acee);
160 | }
161 |
162 | .btn-vimeo {
163 | .btn-social(#1ab7ea);
164 | }
165 |
166 | .btn-vk {
167 | .btn-social(#587ea3);
168 | }
169 |
170 | .btn-yahoo {
171 | .btn-social(#720e9e);
172 | }
173 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/buttons.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Button
3 | * -----------------
4 | */
5 |
6 | .btn {
7 | .border-radius(@btn-border-radius);
8 | .box-shadow(@btn-boxshadow);
9 | border: 1px solid transparent;
10 |
11 | &.uppercase {
12 | text-transform: uppercase
13 | }
14 |
15 | // Flat buttons
16 | &.btn-flat {
17 | .border-radius(0);
18 | -webkit-box-shadow: none;
19 | -moz-box-shadow: none;
20 | box-shadow: none;
21 | border-width: 1px;
22 | }
23 |
24 | // Active state
25 | &:active {
26 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
27 | -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
28 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
29 | }
30 |
31 | &:focus {
32 | outline: none;
33 | }
34 |
35 | // input file btn
36 | &.btn-file {
37 | position: relative;
38 | overflow: hidden;
39 | > input[type='file'] {
40 | position: absolute;
41 | top: 0;
42 | right: 0;
43 | min-width: 100%;
44 | min-height: 100%;
45 | font-size: 100px;
46 | text-align: right;
47 | .opacity(0);
48 | outline: none;
49 | background: white;
50 | cursor: inherit;
51 | display: block;
52 | }
53 | }
54 | }
55 |
56 | //Button color variations
57 | .btn-default {
58 | background-color: #f4f4f4;
59 | color: #444;
60 | border-color: #ddd;
61 | &:hover,
62 | &:active,
63 | &.hover {
64 | background-color: darken(#f4f4f4, 5%);
65 | }
66 | }
67 |
68 | .btn-primary {
69 | background-color: @light-blue;
70 | border-color: darken(@light-blue, 5%);
71 | &:hover, &:active, &.hover {
72 | background-color: darken(@light-blue, 5%);
73 | }
74 | }
75 |
76 | .btn-success {
77 | background-color: @green;
78 | border-color: darken(@green, 5%);
79 | &:hover, &:active, &.hover {
80 | background-color: darken(@green, 5%);
81 | }
82 | }
83 |
84 | .btn-info {
85 | background-color: @aqua;
86 | border-color: darken(@aqua, 5%);
87 | &:hover, &:active, &.hover {
88 | background-color: darken(@aqua, 5%);
89 | }
90 | }
91 |
92 | .btn-danger {
93 | background-color: @red;
94 | border-color: darken(@red, 5%);
95 | &:hover, &:active, &.hover {
96 | background-color: darken(@red, 5%);
97 | }
98 | }
99 |
100 | .btn-warning {
101 | background-color: @yellow;
102 | border-color: darken(@yellow, 5%);
103 | &:hover, &:active, &.hover {
104 | background-color: darken(@yellow, 5%);
105 | }
106 | }
107 |
108 | .btn-outline {
109 | border: 1px solid #fff;
110 | background: transparent;
111 | color: #fff;
112 | &:hover,
113 | &:focus,
114 | &:active {
115 | color: rgba(255, 255, 255, .7);
116 | border-color: rgba(255, 255, 255, .7);
117 | }
118 | }
119 |
120 | .btn-link {
121 | .box-shadow(none);
122 | }
123 |
124 | //General .btn with bg class
125 | .btn[class*='bg-']:hover {
126 | .box-shadow(inset 0 0 100px rgba(0, 0, 0, 0.2));
127 | }
128 |
129 | // Application buttons
130 | .btn-app {
131 | .border-radius(3px);
132 | position: relative;
133 | padding: 15px 5px;
134 | margin: 0 0 10px 10px;
135 | min-width: 80px;
136 | height: 60px;
137 | text-align: center;
138 | color: #666;
139 | border: 1px solid #ddd;
140 | background-color: #f4f4f4;
141 | font-size: 12px;
142 | //Icons within the btn
143 | > .fa, > .glyphicon, > .ion {
144 | font-size: 20px;
145 | display: block;
146 | }
147 |
148 | &:hover {
149 | background: #f4f4f4;
150 | color: #444;
151 | border-color: #aaa;
152 | }
153 |
154 | &:active, &:focus {
155 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
156 | -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
157 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
158 | }
159 |
160 | //The badge
161 | > .badge {
162 | position: absolute;
163 | top: -3px;
164 | right: -10px;
165 | font-size: 10px;
166 | font-weight: 400;
167 | }
168 | }
169 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/direct-chat.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Direct Chat
3 | * ----------------------
4 | */
5 | .direct-chat {
6 | .box-body {
7 | .border-bottom-radius(0);
8 | position: relative;
9 | overflow-x: hidden;
10 | padding: 0;
11 | }
12 | &.chat-pane-open {
13 | .direct-chat-contacts {
14 | .translate(0, 0);
15 | }
16 | }
17 | }
18 |
19 | .direct-chat-messages {
20 | .translate(0, 0);
21 | padding: 10px;
22 | height: 250px;
23 | overflow: auto;
24 | }
25 |
26 | .direct-chat-msg,
27 | .direct-chat-text {
28 | display: block;
29 | }
30 |
31 | .direct-chat-msg {
32 | .clearfix();
33 | margin-bottom: 10px;
34 | }
35 |
36 | .direct-chat-messages,
37 | .direct-chat-contacts {
38 | .transition-transform(.5s ease-in-out);
39 | }
40 |
41 | .direct-chat-text {
42 | .border-radius(5px);
43 | position: relative;
44 | padding: 5px 10px;
45 | background: @direct-chat-default-msg-bg;
46 | border: 1px solid @direct-chat-default-msg-border-color;
47 | margin: 5px 0 0 50px;
48 | color: @direct-chat-default-font-color;
49 |
50 | //Create the arrow
51 | &:after,
52 | &:before {
53 | position: absolute;
54 | right: 100%;
55 | top: 15px;
56 | border: solid transparent;
57 | border-right-color: @direct-chat-default-msg-border-color;
58 | content: ' ';
59 | height: 0;
60 | width: 0;
61 | pointer-events: none;
62 | }
63 |
64 | &:after {
65 | border-width: 5px;
66 | margin-top: -5px;
67 | }
68 | &:before {
69 | border-width: 6px;
70 | margin-top: -6px;
71 | }
72 | .right & {
73 | margin-right: 50px;
74 | margin-left: 0;
75 | &:after,
76 | &:before {
77 | right: auto;
78 | left: 100%;
79 | border-right-color: transparent;
80 | border-left-color: @direct-chat-default-msg-border-color;
81 | }
82 | }
83 | }
84 |
85 | .direct-chat-img {
86 | .border-radius(50%);
87 | float: left;
88 | width: 40px;
89 | height: 40px;
90 | .right & {
91 | float: right;
92 | }
93 | }
94 |
95 | .direct-chat-info {
96 | display: block;
97 | margin-bottom: 2px;
98 | font-size: 12px;
99 | }
100 |
101 | .direct-chat-name {
102 | font-weight: 600;
103 | }
104 |
105 | .direct-chat-timestamp {
106 | color: #999;
107 | }
108 |
109 | //Direct chat contacts pane
110 | .direct-chat-contacts-open {
111 | .direct-chat-contacts {
112 | .translate(0, 0);
113 | }
114 | }
115 |
116 | .direct-chat-contacts {
117 | .translate(101%, 0);
118 | position: absolute;
119 | top: 0;
120 | bottom: 0;
121 | height: 250px;
122 | width: 100%;
123 | background: #222d32;
124 | color: #fff;
125 | overflow: auto;
126 | }
127 |
128 | //Contacts list -- for displaying contacts in direct chat contacts pane
129 | .contacts-list {
130 | &:extend(.list-unstyled);
131 | > li {
132 | .clearfix();
133 | border-bottom: 1px solid rgba(0, 0, 0, 0.2);
134 | padding: 10px;
135 | margin: 0;
136 | &:last-of-type {
137 | border-bottom: none;
138 | }
139 | }
140 | }
141 |
142 | .contacts-list-img {
143 | .border-radius(50%);
144 | width: 40px;
145 | float: left;
146 | }
147 |
148 | .contacts-list-info {
149 | margin-left: 45px;
150 | color: #fff;
151 | }
152 |
153 | .contacts-list-name,
154 | .contacts-list-status {
155 | display: block;
156 | }
157 |
158 | .contacts-list-name {
159 | font-weight: 600;
160 | }
161 |
162 | .contacts-list-status {
163 | font-size: 12px;
164 | }
165 |
166 | .contacts-list-date {
167 | color: #aaa;
168 | font-weight: normal;
169 | }
170 |
171 | .contacts-list-msg {
172 | color: #999;
173 | }
174 |
175 | //Direct Chat Variants
176 | .direct-chat-danger {
177 | .direct-chat-variant(@red);
178 | }
179 |
180 | .direct-chat-primary {
181 | .direct-chat-variant(@light-blue);
182 | }
183 |
184 | .direct-chat-warning {
185 | .direct-chat-variant(@yellow);
186 | }
187 |
188 | .direct-chat-info {
189 | .direct-chat-variant(@aqua);
190 | }
191 |
192 | .direct-chat-success {
193 | .direct-chat-variant(@green);
194 | }
195 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/sidebar-mini.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Sidebar Mini
3 | */
4 |
5 | //Add sidebar-mini class to the body tag to activate this feature
6 | .sidebar-mini {
7 | //Sidebar mini should work only on devices larger than @screen-sm
8 | @media (min-width: @screen-sm) {
9 | //When the sidebar is collapsed...
10 | &.sidebar-collapse {
11 |
12 | //Apply the new margining to the main content and footer
13 | .content-wrapper,
14 | .right-side,
15 | .main-footer {
16 | margin-left: 50px !important;
17 | z-index: 840;
18 | }
19 |
20 | //Modify the sidebar to shrink instead of disappearing
21 | .main-sidebar {
22 | //Don't go away! Just shrink
23 | .translate(0, 0);
24 | width: 50px !important;
25 | z-index: 850;
26 | }
27 |
28 | .sidebar-menu {
29 | > li {
30 | position: relative;
31 | > a {
32 | margin-right: 0;
33 | }
34 | > a > span {
35 | border-top-right-radius: 4px;
36 | }
37 |
38 | &:not(.treeview) {
39 | > a > span {
40 | border-bottom-right-radius: 4px;
41 | }
42 | }
43 |
44 | > .treeview-menu {
45 | //Add some padding to the treeview menu
46 | padding-top: 5px;
47 | padding-bottom: 5px;
48 | border-bottom-right-radius: 4px;
49 | }
50 |
51 | //Show menu items on hover
52 | &:hover {
53 | > a {
54 | //overflow: visible;
55 | }
56 | > a > span:not(.pull-right),//:not(.pull-right-container),
57 | > .treeview-menu {
58 | display: block !important;
59 | position: absolute;
60 | width: @sidebar-width - 50;
61 | left: 50px;
62 | }
63 |
64 | //position the header & treeview menus
65 | > a > span {
66 | top: 0;
67 | margin-left: -3px;
68 | padding: 12px 5px 12px 20px;
69 | background-color: inherit;
70 | }
71 | > a > .pull-right-container {
72 | //display: block!important;
73 | float: right;
74 | width: auto!important;
75 | left: 200px!important;
76 | top: 10px!important;
77 | > .label:not(:first-of-type) {
78 | display: none;
79 | }
80 | }
81 | > .treeview-menu {
82 | top: 44px;
83 | margin-left: 0;
84 | }
85 | }
86 | }
87 | }
88 |
89 | //Make the sidebar links, menus, labels, badges
90 | //and angle icons disappear
91 | .main-sidebar .user-panel > .info,
92 | .sidebar-form,
93 | .sidebar-menu > li > a > span,
94 | .sidebar-menu > li > .treeview-menu,
95 | .sidebar-menu > li > a > .pull-right,
96 | .sidebar-menu li.header {
97 | display: none !important;
98 | -webkit-transform: translateZ(0);
99 | }
100 |
101 | .main-header {
102 | //Let's make the logo also shrink and the mini logo to appear
103 | .logo {
104 | width: 50px;
105 | > .logo-mini {
106 | display: block;
107 | margin-left: -15px;
108 | margin-right: -15px;
109 | font-size: 18px;
110 | }
111 | > .logo-lg {
112 | display: none;
113 | }
114 | }
115 |
116 | //Since the logo got smaller, we need to fix the navbar's position
117 | .navbar {
118 | margin-left: 50px;
119 | }
120 | }
121 | }
122 | }
123 | }
124 |
125 | //A fix for text overflow while transitioning from sidebar mini to full sidebar
126 | .sidebar-menu,
127 | .main-sidebar .user-panel,
128 | .sidebar-menu > li.header {
129 | white-space: nowrap;
130 | overflow: hidden;
131 | }
132 |
133 | .sidebar-menu:hover {
134 | overflow: visible;
135 | }
136 |
137 | .sidebar-form,
138 | .sidebar-menu > li.header {
139 | overflow: hidden;
140 | text-overflow: clip;
141 | }
142 |
143 | .sidebar-menu li > a {
144 | position: relative;
145 | > .pull-right-container {
146 | position: absolute;
147 | right: 10px;
148 | top: 50%;
149 | margin-top: -7px;
150 | }
151 | }
152 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/navs.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Nav
3 | * --------------
4 | */
5 |
6 | .nav {
7 | > li > a:hover,
8 | > li > a:active,
9 | > li > a:focus {
10 | color: #444;
11 | background: #f7f7f7;
12 | }
13 | }
14 |
15 | /* NAV PILLS */
16 | .nav-pills {
17 | > li > a {
18 | .border-radius(0);
19 | border-top: 3px solid transparent;
20 | color: #444;
21 | > .fa,
22 | > .glyphicon,
23 | > .ion {
24 | margin-right: 5px;
25 | }
26 | }
27 | > li.active > a,
28 | > li.active > a:hover,
29 | > li.active > a:focus {
30 | border-top-color: @light-blue;
31 | }
32 | > li.active > a {
33 | font-weight: 600;
34 | }
35 | }
36 |
37 | /* NAV STACKED */
38 | .nav-stacked {
39 | > li > a {
40 | .border-radius(0);
41 | border-top: 0;
42 | border-left: 3px solid transparent;
43 | color: #444;
44 | }
45 | > li.active > a,
46 | > li.active > a:hover {
47 | background: transparent;
48 | color: #444;
49 | border-top: 0;
50 | border-left-color: @light-blue;
51 | }
52 |
53 | > li.header {
54 | border-bottom: 1px solid #ddd;
55 | color: #777;
56 | margin-bottom: 10px;
57 | padding: 5px 10px;
58 | text-transform: uppercase;
59 | }
60 | }
61 |
62 | /* NAV TABS */
63 | .nav-tabs-custom {
64 | margin-bottom: 20px;
65 | background: #fff;
66 | box-shadow: @box-boxshadow;
67 | border-radius: @box-border-radius;
68 | > .nav-tabs {
69 | margin: 0;
70 | border-bottom-color: #f4f4f4;
71 | .border-top-radius(@box-border-radius);
72 | > li {
73 | border-top: 3px solid transparent;
74 | margin-bottom: -2px;
75 | > a {
76 | color: #444;
77 | .border-radius(0);
78 | &.text-muted {
79 | color: #999;
80 | }
81 | &,
82 | &:hover {
83 | background: transparent;
84 | margin: 0;
85 | }
86 | &:hover {
87 | color: #999;
88 | }
89 | }
90 | &:not(.active) {
91 | > a:hover,
92 | > a:focus,
93 | > a:active {
94 | border-color: transparent;
95 | }
96 | }
97 | margin-right: 5px;
98 | }
99 |
100 | > li.active {
101 | border-top-color: @light-blue;
102 | & > a,
103 | &:hover > a {
104 | background-color: #fff;
105 | color: #444;
106 | }
107 | > a {
108 | border-top-color: transparent;
109 | border-left-color: #f4f4f4;
110 | border-right-color: #f4f4f4;
111 | }
112 |
113 | }
114 |
115 | > li:first-of-type {
116 | margin-left: 0;
117 | &.active {
118 | > a {
119 | border-left-color: transparent;
120 | }
121 | }
122 | }
123 |
124 | //Pulled to the right
125 | &.pull-right {
126 | float: none !important;
127 | > li {
128 | float: right;
129 | }
130 | > li:first-of-type {
131 | margin-right: 0;
132 | > a {
133 | border-left-width: 1px;
134 | }
135 | &.active {
136 | > a {
137 | border-left-color: #f4f4f4;
138 | border-right-color: transparent;
139 | }
140 | }
141 | }
142 | }
143 |
144 | > li.header {
145 | line-height: 35px;
146 | padding: 0 10px;
147 | font-size: 20px;
148 | color: #444;
149 | > .fa,
150 | > .glyphicon,
151 | > .ion {
152 | margin-right: 5px;
153 | }
154 | }
155 | }
156 |
157 | > .tab-content {
158 | background: #fff;
159 | padding: 10px;
160 | .border-bottom-radius(@box-border-radius);
161 | }
162 |
163 | .dropdown.open > a {
164 | &:active,
165 | &:focus {
166 | background: transparent;
167 | color: #999;
168 | }
169 | }
170 | // Tab color variations
171 | &.tab-primary {
172 | > .nav-tabs {
173 | > li.active {
174 | border-top-color: @light-blue;
175 | }
176 | }
177 | }
178 | &.tab-info {
179 | > .nav-tabs {
180 | > li.active {
181 | border-top-color: @aqua;
182 | }
183 | }
184 | }
185 | &.tab-danger {
186 | > .nav-tabs {
187 | > li.active {
188 | border-top-color: @red;
189 | }
190 | }
191 | }
192 | &.tab-warning {
193 | > .nav-tabs {
194 | > li.active {
195 | border-top-color: @yellow;
196 | }
197 | }
198 | }
199 | &.tab-success {
200 | > .nav-tabs {
201 | > li.active {
202 | border-top-color: @green;
203 | }
204 | }
205 | }
206 | &.tab-default {
207 | > .nav-tabs {
208 | > li.active {
209 | border-top-color: @gray;
210 | }
211 | }
212 | }
213 | }
214 |
215 | /* PAGINATION */
216 | .pagination {
217 | > li > a {
218 | background: #fafafa;
219 | color: #666;
220 | }
221 | &.pagination-flat {
222 | > li > a {
223 | .border-radius(0) !important;
224 | }
225 | }
226 | }
227 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/header.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Main Header
3 | * ----------------------
4 | */
5 |
6 | .main-header {
7 | position: relative;
8 | max-height: 100px;
9 | z-index: 1030;
10 | //Navbar
11 | .navbar {
12 | .transition(margin-left @transition-speed @transition-fn);
13 | margin-bottom: 0;
14 | margin-left: @sidebar-width;
15 | border: none;
16 | min-height: @navbar-height;
17 | border-radius: 0;
18 | .layout-top-nav & {
19 | margin-left: 0;
20 | }
21 | }
22 | //Navbar search text input
23 | #navbar-search-input.form-control {
24 | background: rgba(255, 255, 255, .2);
25 | border-color: transparent;
26 | &:focus,
27 | &:active {
28 | border-color: rgba(0, 0, 0, .1);
29 | background: rgba(255, 255, 255, .9);
30 | }
31 | &::-moz-placeholder {
32 | color: #ccc;
33 | opacity: 1;
34 | }
35 | &:-ms-input-placeholder {
36 | color: #ccc;
37 | }
38 | &::-webkit-input-placeholder {
39 | color: #ccc;
40 | }
41 | }
42 | //Navbar Right Menu
43 | .navbar-custom-menu,
44 | .navbar-right {
45 | float: right;
46 | @media (max-width: @screen-sm-max) {
47 | a {
48 | color: inherit;
49 | background: transparent;
50 | }
51 | }
52 | }
53 | .navbar-right {
54 | @media (max-width: @screen-header-collapse) {
55 | float: none;
56 | .navbar-collapse & {
57 | margin: 7.5px -15px;
58 | }
59 |
60 | > li {
61 | color: inherit;
62 | border: 0;
63 | }
64 | }
65 | }
66 | //Navbar toggle button
67 | .sidebar-toggle {
68 | float: left;
69 | background-color: transparent;
70 | background-image: none;
71 | padding: @navbar-padding-vertical @navbar-padding-horizontal;
72 | //Add the fontawesome bars icon
73 | font-family: fontAwesome;
74 | &:before {
75 | content: "\f0c9";
76 | }
77 | &:hover {
78 | color: #fff;
79 | }
80 | &:focus,
81 | &:active {
82 | background: transparent;
83 | }
84 | }
85 | .sidebar-toggle .icon-bar {
86 | display: none;
87 | }
88 | //Navbar User Menu
89 | .navbar .nav > li.user > a {
90 | > .fa,
91 | > .glyphicon,
92 | > .ion {
93 | margin-right: 5px;
94 | }
95 | }
96 |
97 | //Labels in navbar
98 | .navbar .nav > li > a > .label {
99 | position: absolute;
100 | top: 9px;
101 | right: 7px;
102 | text-align: center;
103 | font-size: 9px;
104 | padding: 2px 3px;
105 | line-height: .9;
106 | }
107 |
108 | //Logo bar
109 | .logo {
110 | .transition(width @transition-speed @transition-fn);
111 | display: block;
112 | float: left;
113 | height: @navbar-height;
114 | font-size: 20px;
115 | line-height: 50px;
116 | text-align: center;
117 | width: @sidebar-width;
118 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
119 | padding: 0 15px;
120 | font-weight: 300;
121 | overflow: hidden;
122 | //Add support to sidebar mini by allowing the user to create
123 | //2 logo designs. mini and lg
124 | .logo-lg {
125 | //should be visibile when sidebar isn't collapsed
126 | display: block;
127 | }
128 | .logo-mini {
129 | display: none;
130 | }
131 | }
132 | //Navbar Brand. Alternative logo with layout-top-nav
133 | .navbar-brand {
134 | color: #fff;
135 | }
136 | }
137 |
138 | // Content Header
139 | .content-header {
140 | position: relative;
141 | padding: 15px 15px 0 15px;
142 | // Header Text
143 | > h1 {
144 | margin: 0;
145 | font-size: 24px;
146 | > small {
147 | font-size: 15px;
148 | display: inline-block;
149 | padding-left: 4px;
150 | font-weight: 300;
151 | }
152 | }
153 |
154 | > .breadcrumb {
155 | float: right;
156 | background: transparent;
157 | margin-top: 0;
158 | margin-bottom: 0;
159 | font-size: 12px;
160 | padding: 7px 5px;
161 | position: absolute;
162 | top: 15px;
163 | right: 10px;
164 | .border-radius(2px);
165 | > li > a {
166 | color: #444;
167 | text-decoration: none;
168 | display: inline-block;
169 | > .fa, > .glyphicon, > .ion {
170 | margin-right: 5px;
171 | }
172 | }
173 | > li + li:before {
174 | content: '>\00a0';
175 | }
176 | }
177 |
178 | @media (max-width: @screen-sm-max) {
179 | > .breadcrumb {
180 | position: relative;
181 | margin-top: 5px;
182 | top: 0;
183 | right: 0;
184 | float: none;
185 | background: @gray;
186 | padding-left: 10px;
187 | li:before {
188 | color: darken(@gray, 20%);
189 | }
190 | }
191 | }
192 | }
193 |
194 | .navbar-toggle {
195 | color: #fff;
196 | border: 0;
197 | margin: 0;
198 | padding: @navbar-padding-vertical @navbar-padding-horizontal;
199 | }
200 |
201 | //Control navbar scaffolding on x-small screens
202 | @media (max-width: @screen-sm-max) {
203 | .navbar-custom-menu .navbar-nav > li {
204 | float: left;
205 | }
206 |
207 | //Dont't let links get full width
208 | .navbar-custom-menu .navbar-nav {
209 | margin: 0;
210 | float: left;
211 | }
212 |
213 | .navbar-custom-menu .navbar-nav > li > a {
214 | padding-top: 15px;
215 | padding-bottom: 15px;
216 | line-height: 20px;
217 | }
218 | }
219 |
220 | // Collapse header
221 | @media (max-width: @screen-header-collapse) {
222 | .main-header {
223 | position: relative;
224 | .logo,
225 | .navbar {
226 | width: 100%;
227 | float: none;
228 | }
229 | .navbar {
230 | margin: 0;
231 | }
232 | .navbar-custom-menu {
233 | float: right;
234 | }
235 | }
236 | }
237 |
238 | .navbar-collapse.pull-left {
239 | @media (max-width: @screen-sm-max) {
240 | float: none !important;
241 | + .navbar-custom-menu {
242 | display: block;
243 | position: absolute;
244 | top: 0;
245 | right: 40px;
246 | }
247 | }
248 | }
249 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/control-sidebar.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Control sidebar. By default, this is the right sidebar.
3 | */
4 | //The sidebar's background control class
5 | //This is a hack to make the background visible while scrolling
6 | .control-sidebar-bg {
7 | position: fixed;
8 | z-index: 1000;
9 | bottom: 0;
10 | }
11 |
12 | //Transitions
13 | .control-sidebar-bg,
14 | .control-sidebar {
15 | top: 0;
16 | right: -@control-sidebar-width;
17 | width: @control-sidebar-width;
18 | .transition(right @transition-speed ease-in-out);
19 | }
20 |
21 | //The sidebar
22 | .control-sidebar {
23 | position: absolute;
24 | padding-top: @navbar-height;
25 | z-index: 1010;
26 | //Fix position after header collapse
27 | @media (max-width: @screen-sm) {
28 | padding-top: @navbar-height + 50;
29 | }
30 | //Tab panes
31 | > .tab-content {
32 | padding: 10px 15px;
33 | }
34 | //Open state with slide over content effect
35 | &.control-sidebar-open {
36 | &,
37 | + .control-sidebar-bg {
38 | right: 0;
39 | }
40 | }
41 | }
42 |
43 | //Open without slide over content
44 | .control-sidebar-open {
45 | .control-sidebar-bg,
46 | .control-sidebar {
47 | right: 0;
48 | }
49 | @media (min-width: @screen-sm) {
50 | .content-wrapper,
51 | .right-side,
52 | .main-footer {
53 | margin-right: @control-sidebar-width;
54 | }
55 | }
56 | }
57 |
58 | //Control sidebar tabs
59 | .nav-tabs.control-sidebar-tabs {
60 | > li {
61 | &:first-of-type > a {
62 | &,
63 | &:hover,
64 | &:focus {
65 | border-left-width: 0;
66 | }
67 | }
68 | > a {
69 | .border-radius(0);
70 |
71 | //Hover and active states
72 | &,
73 | &:hover {
74 | border-top: none;
75 | border-right: none;
76 | border-left: 1px solid transparent;
77 | border-bottom: 1px solid transparent;
78 | }
79 | .icon {
80 | font-size: 16px;
81 | }
82 | }
83 | //Active state
84 | &.active {
85 | > a {
86 | &,
87 | &:hover,
88 | &:focus,
89 | &:active {
90 | border-top: none;
91 | border-right: none;
92 | border-bottom: none;
93 | }
94 | }
95 | }
96 | }
97 | //Remove responsiveness on small screens
98 | @media (max-width: @screen-sm) {
99 | display: table;
100 | > li {
101 | display: table-cell;
102 | }
103 | }
104 | }
105 |
106 | //Headings in the sidebar content
107 | .control-sidebar-heading {
108 | font-weight: 400;
109 | font-size: 16px;
110 | padding: 10px 0;
111 | margin-bottom: 10px;
112 | }
113 |
114 | //Subheadings
115 | .control-sidebar-subheading {
116 | display: block;
117 | font-weight: 400;
118 | font-size: 14px;
119 | }
120 |
121 | //Control Sidebar Menu
122 | .control-sidebar-menu {
123 | list-style: none;
124 | padding: 0;
125 | margin: 0 -15px;
126 | > li > a {
127 | .clearfix();
128 | display: block;
129 | padding: 10px 15px;
130 | > .control-sidebar-subheading {
131 | margin-top: 0;
132 | }
133 | }
134 | .menu-icon {
135 | float: left;
136 | width: 35px;
137 | height: 35px;
138 | border-radius: 50%;
139 | text-align: center;
140 | line-height: 35px;
141 | }
142 | .menu-info {
143 | margin-left: 45px;
144 | margin-top: 3px;
145 | > .control-sidebar-subheading {
146 | margin: 0;
147 | }
148 | > p {
149 | margin: 0;
150 | font-size: 11px;
151 | }
152 | }
153 | .progress {
154 | margin: 0;
155 | }
156 | }
157 |
158 | //Dark skin
159 | .control-sidebar-dark {
160 | color: @sidebar-dark-color;
161 | // Background
162 | &,
163 | + .control-sidebar-bg {
164 | background: @sidebar-dark-bg;
165 | }
166 | // Sidebar tabs
167 | .nav-tabs.control-sidebar-tabs {
168 | border-bottom: darken(@sidebar-dark-bg, 3%);
169 | > li {
170 | > a {
171 | background: darken(@sidebar-dark-bg, 5%);
172 | color: @sidebar-dark-color;
173 | //Hover and active states
174 | &,
175 | &:hover,
176 | &:focus {
177 | border-left-color: darken(@sidebar-dark-bg, 7%);
178 | border-bottom-color: darken(@sidebar-dark-bg, 7%);
179 | }
180 | &:hover,
181 | &:focus,
182 | &:active {
183 | background: darken(@sidebar-dark-bg, 3%);
184 | }
185 | &:hover {
186 | color: #fff;
187 | }
188 | }
189 | //Active state
190 | &.active {
191 | > a {
192 | &,
193 | &:hover,
194 | &:focus,
195 | &:active {
196 | background: @sidebar-dark-bg;
197 | color: #fff;
198 | }
199 | }
200 | }
201 | }
202 | }
203 | //Heading & subheading
204 | .control-sidebar-heading,
205 | .control-sidebar-subheading {
206 | color: #fff;
207 | }
208 | //Sidebar list
209 | .control-sidebar-menu {
210 | > li {
211 | > a {
212 | &:hover {
213 | background: @sidebar-dark-hover-bg;
214 | }
215 | .menu-info {
216 | > p {
217 | color: @sidebar-dark-color;
218 | }
219 | }
220 | }
221 | }
222 | }
223 | }
224 |
225 | //Light skin
226 | .control-sidebar-light {
227 | color: lighten(@sidebar-light-color, 10%);
228 | // Background
229 | &,
230 | + .control-sidebar-bg {
231 | background: @sidebar-light-bg;
232 | border-left: 1px solid @gray;
233 | }
234 | // Sidebar tabs
235 | .nav-tabs.control-sidebar-tabs {
236 | border-bottom: @gray;
237 | > li {
238 | > a {
239 | background: darken(@sidebar-light-bg, 5%);
240 | color: @sidebar-light-color;
241 | //Hover and active states
242 | &,
243 | &:hover,
244 | &:focus {
245 | border-left-color: @gray;
246 | border-bottom-color: @gray;
247 | }
248 | &:hover,
249 | &:focus,
250 | &:active {
251 | background: darken(@sidebar-light-bg, 3%);
252 | }
253 | }
254 | //Active state
255 | &.active {
256 | > a {
257 | &,
258 | &:hover,
259 | &:focus,
260 | &:active {
261 | background: @sidebar-light-bg;
262 | color: #111;
263 | }
264 | }
265 | }
266 | }
267 | }
268 | //Heading & subheading
269 | .control-sidebar-heading,
270 | .control-sidebar-subheading {
271 | color: #111;
272 | }
273 | //Sidebar list
274 | .control-sidebar-menu {
275 | margin-left: -14px;
276 | > li {
277 | > a {
278 | &:hover {
279 | background: @sidebar-light-hover-bg;
280 | }
281 | .menu-info {
282 | > p {
283 | color: lighten(@sidebar-light-color, 10%);
284 | }
285 | }
286 | }
287 | }
288 | }
289 | }
290 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/mixins.less:
--------------------------------------------------------------------------------
1 | //AdminLTE mixins
2 | //===============
3 |
4 | //Changes the color and the hovering properties of the navbar
5 | .navbar-variant(@color; @font-color: rgba(255, 255, 255, 0.8); @hover-color: #f6f6f6; @hover-bg: rgba(0, 0, 0, 0.1)) {
6 | background-color: @color;
7 | //Navbar links
8 | .nav > li > a {
9 | color: @font-color;
10 | }
11 |
12 | .nav > li > a:hover,
13 | .nav > li > a:active,
14 | .nav > li > a:focus,
15 | .nav .open > a,
16 | .nav .open > a:hover,
17 | .nav .open > a:focus,
18 | .nav > .active > a {
19 | background: @hover-bg;
20 | color: @hover-color;
21 | }
22 |
23 | //Add color to the sidebar toggle button
24 | .sidebar-toggle {
25 | color: @font-color;
26 | &:hover {
27 | color: @hover-color;
28 | background: @hover-bg;
29 | }
30 | }
31 | }
32 |
33 | //Logo color variation
34 | .logo-variant(@bg-color; @color: #fff; @border-bottom-color: transparent; @border-bottom-width: 0) {
35 | background-color: @bg-color;
36 | color: @color;
37 | border-bottom: @border-bottom-width solid @border-bottom-color;
38 |
39 | &:hover {
40 | background-color: darken(@bg-color, 1%);
41 | }
42 | }
43 |
44 | //Box solid color variantion creator
45 | .box-solid-variant(@color; @text-color: #fff) {
46 | border: 1px solid @color;
47 | > .box-header {
48 | color: @text-color;
49 | background: @color;
50 | background-color: @color;
51 | a,
52 | .btn {
53 | color: @text-color;
54 | }
55 | }
56 | }
57 |
58 | //Direct Chat Variant
59 | .direct-chat-variant(@bg-color; @color: #fff) {
60 | .right > .direct-chat-text {
61 | background: @bg-color;
62 | border-color: @bg-color;
63 | color: @color;
64 | &:after,
65 | &:before {
66 | border-left-color: @bg-color;
67 | }
68 | }
69 | }
70 |
71 | //border radius creator
72 | .border-radius(@radius) {
73 | border-radius: @radius;
74 | }
75 |
76 | //Different radius each side
77 | .border-radius(@top-left;
78 | @top-right
79 | ;
80 | @bottom-left
81 | ;
82 | @bottom-right
83 | )
84 | {
85 | border-top-left-radius: @top-left
86 | ;
87 | border-top-right-radius: @top-right
88 | ;
89 | border-bottom-right-radius: @bottom-right
90 | ;
91 | border-bottom-left-radius: @bottom-left
92 | ;
93 | }
94 |
95 | //Gradient background
96 | .gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
97 | background: @color;
98 | background: -webkit-gradient(linear,
99 | left bottom,
100 | left top,
101 | color-stop(0, @start),
102 | color-stop(1, @stop));
103 | background: -ms-linear-gradient(bottom,
104 | @start,
105 | @stop);
106 | background: -moz-linear-gradient(center bottom,
107 | @start 0%,
108 | @stop 100%);
109 | background: -o-linear-gradient(@stop,
110 | @start);
111 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@stop,@start));
112 | }
113 |
114 | //Added 2.1.0
115 | //Skins Mixins
116 |
117 | //Dark Sidebar Mixin
118 | .skin-dark-sidebar(@link-hover-border-color) {
119 | // Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
120 | .wrapper,
121 | .main-sidebar,
122 | .left-side {
123 | background-color: @sidebar-dark-bg;
124 | }
125 | //User Panel (resides in the sidebar)
126 | .user-panel {
127 | > .info, > .info > a {
128 | color: #fff;
129 | }
130 | }
131 | //Sidebar Menu. First level links
132 | .sidebar-menu > li {
133 | //Section Headning
134 | &.header {
135 | color: lighten(@sidebar-dark-bg, 20%);
136 | background: darken(@sidebar-dark-bg, 4%);
137 | }
138 | //links
139 | > a {
140 | border-left: 3px solid transparent;
141 | }
142 | //Hover and active states
143 | &:hover > a, &.active > a {
144 | color: @sidebar-dark-hover-color;
145 | background: @sidebar-dark-hover-bg;
146 | border-left-color: @link-hover-border-color;
147 | }
148 | //First Level Submenu
149 | > .treeview-menu {
150 | margin: 0 1px;
151 | background: @sidebar-dark-submenu-bg;
152 | }
153 | }
154 | //All links within the sidebar menu
155 | .sidebar a {
156 | color: @sidebar-dark-color;
157 | &:hover {
158 | text-decoration: none;
159 | }
160 | }
161 | //All submenus
162 | .treeview-menu {
163 | > li {
164 | > a {
165 | color: @sidebar-dark-submenu-color;
166 | }
167 | &.active > a, > a:hover {
168 | color: @sidebar-dark-submenu-hover-color;
169 | }
170 | }
171 | }
172 | //The sidebar search form
173 | .sidebar-form {
174 | .border-radius(3px);
175 | border: 1px solid lighten(@sidebar-dark-bg, 10%);
176 | margin: 10px 10px;
177 | input[type="text"], .btn {
178 | box-shadow: none;
179 | background-color: lighten(@sidebar-dark-bg, 10%);
180 | border: 1px solid transparent;
181 | height: 35px;
182 | //.transition(all @transition-speed @transition-fn);
183 | }
184 | input[type="text"] {
185 | color: #666;
186 | .border-radius(2px, 0, 2px, 0);
187 | &:focus,
188 | &:focus + .input-group-btn .btn {
189 | background-color: #fff;
190 | color: #666;
191 | }
192 | &:focus + .input-group-btn .btn {
193 | border-left-color: #fff;
194 |
195 | }
196 | }
197 | .btn {
198 | color: #999;
199 | .border-radius(0, 2px, 0, 2px);
200 | }
201 | }
202 | }
203 |
204 | //Light Sidebar Mixin
205 | .skin-light-sidebar(@icon-active-color) {
206 | // Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
207 | .wrapper,
208 | .main-sidebar,
209 | .left-side {
210 | background-color: @sidebar-light-bg;
211 | }
212 | .content-wrapper,
213 | .main-footer {
214 | border-left: 1px solid @gray;
215 | }
216 | //User Panel (resides in the sidebar)
217 | .user-panel {
218 | > .info, > .info > a {
219 | color: @sidebar-light-color;
220 | }
221 | }
222 | //Sidebar Menu. First level links
223 | .sidebar-menu > li {
224 | .transition(border-left-color .3s ease);
225 | //border-left: 3px solid transparent;
226 | //Section Headning
227 | &.header {
228 | color: lighten(@sidebar-light-color, 25%);
229 | background: @sidebar-light-bg;
230 | }
231 | //links
232 | > a {
233 | border-left: 3px solid transparent;
234 | font-weight: 600;
235 | }
236 | //Hover and active states
237 | &:hover > a,
238 | &.active > a {
239 | color: @sidebar-light-hover-color;
240 | background: @sidebar-light-hover-bg;
241 | }
242 | &:hover > a {
243 |
244 | }
245 | &.active {
246 | border-left-color: @icon-active-color;
247 | > a {
248 | font-weight: 600;
249 | }
250 | }
251 | //First Level Submenu
252 | > .treeview-menu {
253 | background: @sidebar-light-submenu-bg;
254 | }
255 | }
256 | //All links within the sidebar menu
257 | .sidebar a {
258 | color: @sidebar-light-color;
259 | &:hover {
260 | text-decoration: none;
261 | }
262 | }
263 | //All submenus
264 | .treeview-menu {
265 | > li {
266 | > a {
267 | color: @sidebar-light-submenu-color;
268 | }
269 | &.active > a,
270 | > a:hover {
271 | color: @sidebar-light-submenu-hover-color;
272 | }
273 | &.active > a {
274 | font-weight: 600;
275 | }
276 | }
277 | }
278 | //The sidebar search form
279 | .sidebar-form {
280 | .border-radius(3px);
281 | border: 1px solid @gray; //darken(@sidebar-light-bg, 5%);
282 | margin: 10px 10px;
283 | input[type="text"],
284 | .btn {
285 | box-shadow: none;
286 | background-color: #fff; //darken(@sidebar-light-bg, 3%);
287 | border: 1px solid transparent;
288 | height: 35px;
289 | //.transition(all @transition-speed @transition-fn);
290 | }
291 | input[type="text"] {
292 | color: #666;
293 | .border-radius(2px, 0, 2px, 0);
294 | &:focus,
295 | &:focus + .input-group-btn .btn {
296 | background-color: #fff;
297 | color: #666;
298 | }
299 | &:focus + .input-group-btn .btn {
300 | border-left-color: #fff;
301 | }
302 | }
303 | .btn {
304 | color: #999;
305 | .border-radius(0, 2px, 0, 2px);
306 | }
307 | }
308 | @media (min-width: @screen-sm-min) {
309 | &.sidebar-mini.sidebar-collapse {
310 | .sidebar-menu > li > .treeview-menu {
311 | border-left: 1px solid @gray;
312 | }
313 | }
314 | }
315 | }
316 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/dropdown.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Dropdown menus
3 | * -------------------------
4 | */
5 |
6 | /*Dropdowns in general*/
7 | .dropdown-menu {
8 | box-shadow: none;
9 | border-color: #eee;
10 | > li > a {
11 | color: #777;
12 | }
13 | > li > a > .glyphicon,
14 | > li > a > .fa,
15 | > li > a > .ion {
16 | margin-right: 10px;
17 | }
18 | > li > a:hover {
19 | background-color: lighten(@gray, 5%);
20 | color: #333;
21 | }
22 | > .divider {
23 | background-color: #eee;
24 | }
25 | }
26 |
27 | //Navbar custom dropdown menu
28 | .navbar-nav > .notifications-menu,
29 | .navbar-nav > .messages-menu,
30 | .navbar-nav > .tasks-menu {
31 | //fix width and padding
32 | > .dropdown-menu {
33 | > li {
34 | position: relative;
35 | }
36 | width: 280px;
37 | //Remove padding and margins
38 | padding: 0 0 0 0;
39 | margin: 0;
40 | top: 100%;
41 | }
42 | //Define header class
43 | > .dropdown-menu > li.header {
44 | .border-radius(4px; 4px; 0; 0);
45 | background-color: #ffffff;
46 | padding: 7px 10px;
47 | border-bottom: 1px solid #f4f4f4;
48 | color: #444444;
49 | font-size: 14px;
50 | }
51 |
52 | //Define footer class
53 | > .dropdown-menu > li.footer > a {
54 | .border-radius(0; 0; 4px; 4px);
55 | font-size: 12px;
56 | background-color: #fff;
57 | padding: 7px 10px;
58 | border-bottom: 1px solid #eeeeee;
59 | color: #444 !important;
60 | @media (max-width: @screen-sm-max) {
61 | background: #fff !important;
62 | color: #444 !important;
63 | }
64 | text-align: center;
65 | //Hover state
66 | &:hover {
67 | text-decoration: none;
68 | font-weight: normal;
69 | }
70 | }
71 |
72 | //Clear inner menu padding and margins
73 | > .dropdown-menu > li .menu {
74 | max-height: 200px;
75 | margin: 0;
76 | padding: 0;
77 | list-style: none;
78 | overflow-x: hidden;
79 | > li > a {
80 | display: block;
81 | white-space: nowrap; /* Prevent text from breaking */
82 | border-bottom: 1px solid #f4f4f4;
83 | // Hove state
84 | &:hover {
85 | background: #f4f4f4;
86 | text-decoration: none;
87 | }
88 | }
89 | }
90 | }
91 |
92 | //Notifications menu
93 | .navbar-nav > .notifications-menu {
94 | > .dropdown-menu > li .menu {
95 | // Links inside the menu
96 | > li > a {
97 | color: #444444;
98 | overflow: hidden;
99 | text-overflow: ellipsis;
100 | padding: 10px;
101 | // Icons inside the menu
102 | > .glyphicon,
103 | > .fa,
104 | > .ion {
105 | width: 20px;
106 | }
107 | }
108 |
109 | }
110 | }
111 |
112 | //Messages menu
113 | .navbar-nav > .messages-menu {
114 | //Inner menu
115 | > .dropdown-menu > li .menu {
116 | // Messages menu item
117 | > li > a {
118 | margin: 0;
119 | //line-height: 20px;
120 | padding: 10px 10px;
121 | // User image
122 | > div > img {
123 | margin: auto 10px auto auto;
124 | width: 40px;
125 | height: 40px;
126 | }
127 | // Message heading
128 | > h4 {
129 | padding: 0;
130 | margin: 0 0 0 45px;
131 | color: #444444;
132 | font-size: 15px;
133 | position: relative;
134 | // Small for message time display
135 | > small {
136 | color: #999999;
137 | font-size: 10px;
138 | position: absolute;
139 | top: 0;
140 | right: 0;
141 | }
142 | }
143 |
144 | > p {
145 | margin: 0 0 0 45px;
146 | font-size: 12px;
147 | color: #888888;
148 | }
149 |
150 | .clearfix();
151 |
152 | }
153 |
154 | }
155 | }
156 |
157 | //Tasks menu
158 | .navbar-nav > .tasks-menu {
159 | > .dropdown-menu > li .menu {
160 | > li > a {
161 | padding: 10px;
162 |
163 | > h3 {
164 | font-size: 14px;
165 | padding: 0;
166 | margin: 0 0 10px 0;
167 | color: #666666;
168 | }
169 |
170 | > .progress {
171 | padding: 0;
172 | margin: 0;
173 | }
174 | }
175 | }
176 | }
177 |
178 | //User menu
179 | .navbar-nav > .user-menu {
180 | > .dropdown-menu {
181 | .border-top-radius(0);
182 | padding: 1px 0 0 0;
183 | border-top-width: 0;
184 | width: 280px;
185 |
186 | &,
187 | > .user-body {
188 | .border-bottom-radius(4px);
189 | }
190 | // Header menu
191 | > li.user-header {
192 | height: 175px;
193 | padding: 10px;
194 | text-align: center;
195 | // User image
196 | > img {
197 | z-index: 5;
198 | height: 90px;
199 | width: 90px;
200 | border: 3px solid;
201 | border-color: transparent;
202 | border-color: rgba(255, 255, 255, 0.2);
203 | }
204 | > p {
205 | z-index: 5;
206 | color: #fff;
207 | color: rgba(255, 255, 255, 0.8);
208 | font-size: 17px;
209 | //text-shadow: 2px 2px 3px #333333;
210 | margin-top: 10px;
211 | > small {
212 | display: block;
213 | font-size: 12px;
214 | }
215 | }
216 | }
217 |
218 | // Menu Body
219 | > .user-body {
220 | padding: 15px;
221 | border-bottom: 1px solid #f4f4f4;
222 | border-top: 1px solid #dddddd;
223 | .clearfix();
224 | a {
225 | color: #444 !important;
226 | @media (max-width: @screen-sm-max) {
227 | background: #fff !important;
228 | color: #444 !important;
229 | }
230 | }
231 | }
232 |
233 | // Menu Footer
234 | > .user-footer {
235 | background-color: #f9f9f9;
236 | padding: 10px;
237 | .clearfix();
238 | .btn-default {
239 | color: #666666;
240 | &:hover {
241 | @media (max-width: @screen-sm-max) {
242 | background-color: #f9f9f9;
243 | }
244 | }
245 | }
246 | }
247 | }
248 | .user-image {
249 | float: left;
250 | width: 25px;
251 | height: 25px;
252 | border-radius: 50%;
253 | margin-right: 10px;
254 | margin-top: -2px;
255 | @media (max-width: @screen-xs-max) {
256 | float: none;
257 | margin-right: 0;
258 | margin-top: -8px;
259 | line-height: 10px;
260 | }
261 | }
262 | }
263 |
264 | /* Add fade animation to dropdown menus by appending
265 | the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)*/
266 | .open:not(.dropup) > .animated-dropdown-menu {
267 | backface-visibility: visible !important;
268 | .animation(flipInX .7s both);
269 |
270 | }
271 |
272 | @keyframes flipInX {
273 | 0% {
274 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
275 | transition-timing-function: ease-in;
276 | opacity: 0;
277 | }
278 |
279 | 40% {
280 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
281 | transition-timing-function: ease-in;
282 | }
283 |
284 | 60% {
285 | transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
286 | opacity: 1;
287 | }
288 |
289 | 80% {
290 | transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
291 | }
292 |
293 | 100% {
294 | transform: perspective(400px);
295 | }
296 | }
297 |
298 | @-webkit-keyframes flipInX {
299 | 0% {
300 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
301 | -webkit-transition-timing-function: ease-in;
302 | opacity: 0;
303 | }
304 |
305 | 40% {
306 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
307 | -webkit-transition-timing-function: ease-in;
308 | }
309 |
310 | 60% {
311 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
312 | opacity: 1;
313 | }
314 |
315 | 80% {
316 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
317 | }
318 |
319 | 100% {
320 | -webkit-transform: perspective(400px);
321 | }
322 | }
323 |
324 | /* Fix dropdown menu in navbars */
325 | .navbar-custom-menu > .navbar-nav {
326 | > li {
327 | position: relative;
328 | > .dropdown-menu {
329 | position: absolute;
330 | right: 0;
331 | left: auto;
332 | }
333 | }
334 | }
335 |
336 | @media (max-width: @screen-sm-max) {
337 | .navbar-custom-menu > .navbar-nav {
338 | float: right;
339 | > li {
340 | position: static;
341 | > .dropdown-menu {
342 | position: absolute;
343 | right: 5%;
344 | left: auto;
345 | border: 1px solid #ddd;
346 | background: #fff;
347 | }
348 | }
349 | }
350 | }
351 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/boxes.less:
--------------------------------------------------------------------------------
1 | /*
2 | * Component: Box
3 | * --------------
4 | */
5 | .box {
6 | position: relative;
7 | .border-radius(@box-border-radius);
8 | background: #ffffff;
9 | border-top: 3px solid @box-default-border-top-color;
10 | margin-bottom: 20px;
11 | width: 100%;
12 | box-shadow: @box-boxshadow;
13 |
14 | // Box color variations
15 | &.box-primary {
16 | border-top-color: @light-blue;
17 | }
18 | &.box-info {
19 | border-top-color: @aqua;
20 | }
21 | &.box-danger {
22 | border-top-color: @red;
23 | }
24 | &.box-warning {
25 | border-top-color: @yellow;
26 | }
27 | &.box-success {
28 | border-top-color: @green;
29 | }
30 | &.box-default {
31 | border-top-color: @gray;
32 | }
33 |
34 | // collapsed mode
35 | &.collapsed-box {
36 | .box-body,
37 | .box-footer {
38 | display: none;
39 | }
40 | }
41 |
42 | .nav-stacked {
43 | > li {
44 | border-bottom: 1px solid @box-border-color;
45 | margin: 0;
46 | &:last-of-type {
47 | border-bottom: none;
48 | }
49 | }
50 | }
51 |
52 | // fixed height to 300px
53 | &.height-control {
54 | .box-body {
55 | max-height: 300px;
56 | overflow: auto;
57 | }
58 | }
59 |
60 | .border-right {
61 | border-right: 1px solid @box-border-color;
62 | }
63 | .border-left {
64 | border-left: 1px solid @box-border-color;
65 | }
66 |
67 | //SOLID BOX
68 | //---------
69 | //use this class to get a colored header and borders
70 |
71 | &.box-solid {
72 | border-top: 0;
73 | > .box-header {
74 | .btn.btn-default {
75 | background: transparent;
76 | }
77 | .btn,
78 | a {
79 | &:hover {
80 | background: rgba(0, 0, 0, 0.1);
81 | }
82 | }
83 | }
84 |
85 | // Box color variations
86 | &.box-default {
87 | .box-solid-variant(@gray, #444);
88 | }
89 | &.box-primary {
90 | .box-solid-variant(@light-blue);
91 | }
92 | &.box-info {
93 | .box-solid-variant(@aqua);
94 | }
95 | &.box-danger {
96 | .box-solid-variant(@red);
97 | }
98 | &.box-warning {
99 | .box-solid-variant(@yellow);
100 | }
101 | &.box-success {
102 | .box-solid-variant(@green);
103 | }
104 |
105 | > .box-header > .box-tools .btn {
106 | border: 0;
107 | box-shadow: none;
108 | }
109 |
110 | // Fix font color for tiles
111 | &[class*='bg'] {
112 | > .box-header {
113 | color: #fff;
114 | }
115 | }
116 |
117 | }
118 |
119 | //BOX GROUP
120 | .box-group {
121 | > .box {
122 | margin-bottom: 5px;
123 | }
124 | }
125 |
126 | // jQuery Knob in a box
127 | .knob-label {
128 | text-align: center;
129 | color: #333;
130 | font-weight: 100;
131 | font-size: 12px;
132 | margin-bottom: 0.3em;
133 | }
134 | }
135 |
136 | .box,
137 | .overlay-wrapper {
138 | // Box overlay for LOADING STATE effect
139 | > .overlay,
140 | > .loading-img {
141 | position: absolute;
142 | top: 0;
143 | left: 0;
144 | width: 100%;
145 | height: 100%;
146 | }
147 |
148 | .overlay {
149 | z-index: 50;
150 | background: rgba(255, 255, 255, 0.7);
151 | .border-radius(@box-border-radius);
152 | > .fa {
153 | position: absolute;
154 | top: 50%;
155 | left: 50%;
156 | margin-left: -15px;
157 | margin-top: -15px;
158 | color: #000;
159 | font-size: 30px;
160 | }
161 | }
162 |
163 | .overlay.dark {
164 | background: rgba(0, 0, 0, 0.5);
165 | }
166 | }
167 |
168 | //Add clearfix to header, body and footer
169 | .box-header,
170 | .box-body,
171 | .box-footer {
172 | .clearfix();
173 | }
174 |
175 | //Box header
176 | .box-header {
177 | color: #444;
178 | display: block;
179 | padding: @box-padding;
180 | position: relative;
181 |
182 | //Add bottom border
183 | &.with-border {
184 | border-bottom: 1px solid @box-border-color;
185 | .collapsed-box & {
186 | border-bottom: none;
187 | }
188 | }
189 |
190 | //Icons and box title
191 | > .fa,
192 | > .glyphicon,
193 | > .ion,
194 | .box-title {
195 | display: inline-block;
196 | font-size: 18px;
197 | margin: 0;
198 | line-height: 1;
199 | }
200 | > .fa,
201 | > .glyphicon,
202 | > .ion {
203 | margin-right: 5px;
204 | }
205 | > .box-tools {
206 | position: absolute;
207 | right: 10px;
208 | top: 5px;
209 | [data-toggle="tooltip"] {
210 | position: relative;
211 | }
212 |
213 | &.pull-right {
214 | .dropdown-menu {
215 | right: 0;
216 | left: auto;
217 | }
218 | }
219 | }
220 | }
221 |
222 | //Box Tools Buttons
223 | .btn-box-tool {
224 | padding: 5px;
225 | font-size: 12px;
226 | background: transparent;
227 | color: darken(@box-default-border-top-color, 20%);
228 | .open &,
229 | &:hover {
230 | color: darken(@box-default-border-top-color, 40%);
231 | }
232 | &.btn:active {
233 | box-shadow: none;
234 | }
235 | }
236 |
237 | //Box Body
238 | .box-body {
239 | .border-radius(0; 0; @box-border-radius; @box-border-radius);
240 | padding: @box-padding;
241 | .no-header & {
242 | .border-top-radius(@box-border-radius);
243 | }
244 | // Tables within the box body
245 | > .table {
246 | margin-bottom: 0;
247 | }
248 |
249 | // Calendar within the box body
250 | .fc {
251 | margin-top: 5px;
252 | }
253 |
254 | .full-width-chart {
255 | margin: -19px;
256 | }
257 | &.no-padding .full-width-chart {
258 | margin: -9px;
259 | }
260 |
261 | .box-pane {
262 | .border-radius(0; 0; @box-border-radius; 0);
263 | }
264 | .box-pane-right {
265 | .border-radius(0; 0; 0; @box-border-radius);
266 | }
267 | }
268 |
269 | //Box footer
270 | .box-footer {
271 | .border-radius(0; 0; @box-border-radius; @box-border-radius);
272 | border-top: 1px solid @box-border-color;
273 | padding: @box-padding;
274 | background-color: @box-footer-bg;
275 | }
276 |
277 | .chart-legend {
278 | &:extend(.list-unstyled);
279 | margin: 10px 0;
280 | > li {
281 | @media (max-width: @screen-sm-max) {
282 | float: left;
283 | margin-right: 10px;
284 | }
285 | }
286 | }
287 |
288 | //Comment Box
289 | .box-comments {
290 | background: #f7f7f7;
291 | .box-comment {
292 | .clearfix();
293 | padding: 8px 0;
294 | border-bottom: 1px solid #eee;
295 | &:last-of-type {
296 | border-bottom: 0;
297 | }
298 | &:first-of-type {
299 | padding-top: 0;
300 | }
301 | img {
302 | &:extend(.img-sm);
303 | float: left;
304 | }
305 | }
306 | .comment-text {
307 | margin-left: 40px;
308 | color: #555;
309 | }
310 | .username {
311 | color: #444;
312 | display: block;
313 | font-weight: 600;
314 | }
315 | .text-muted {
316 | font-weight: 400;
317 | font-size: 12px;
318 | }
319 | }
320 |
321 | //Widgets
322 | //-----------
323 |
324 | /* Widget: TODO LIST */
325 |
326 | .todo-list {
327 | margin: 0;
328 | padding: 0;
329 | list-style: none;
330 | overflow: auto;
331 | // Todo list element
332 | > li {
333 | .border-radius(2px);
334 | padding: 10px;
335 | background: #f4f4f4;
336 | margin-bottom: 2px;
337 | border-left: 2px solid #e6e7e8;
338 | color: #444;
339 | &:last-of-type {
340 | margin-bottom: 0;
341 | }
342 |
343 | > input[type='checkbox'] {
344 | margin: 0 10px 0 5px;
345 | }
346 |
347 | .text {
348 | display: inline-block;
349 | margin-left: 5px;
350 | font-weight: 600;
351 | }
352 |
353 | // Time labels
354 | .label {
355 | margin-left: 10px;
356 | font-size: 9px;
357 | }
358 |
359 | // Tools and options box
360 | .tools {
361 | display: none;
362 | float: right;
363 | color: @red;
364 | // icons
365 | > .fa, > .glyphicon, > .ion {
366 | margin-right: 5px;
367 | cursor: pointer;
368 | }
369 |
370 | }
371 | &:hover .tools {
372 | display: inline-block;
373 | }
374 |
375 | &.done {
376 | color: #999;
377 | .text {
378 | text-decoration: line-through;
379 | font-weight: 500;
380 | }
381 |
382 | .label {
383 | background: @gray !important;
384 | }
385 | }
386 | }
387 |
388 | // Color varaity
389 | .danger {
390 | border-left-color: @red;
391 | }
392 | .warning {
393 | border-left-color: @yellow;
394 | }
395 | .info {
396 | border-left-color: @aqua;
397 | }
398 | .success {
399 | border-left-color: @green;
400 | }
401 | .primary {
402 | border-left-color: @light-blue;
403 | }
404 |
405 | .handle {
406 | display: inline-block;
407 | cursor: move;
408 | margin: 0 5px;
409 | }
410 |
411 | }
412 |
413 | // END TODO WIDGET
414 |
415 | /* Chat widget (DEPRECATED - this will be removed in the next major release. Use Direct Chat instead)*/
416 | .chat {
417 | padding: 5px 20px 5px 10px;
418 |
419 | .item {
420 | .clearfix();
421 | margin-bottom: 10px;
422 | // The image
423 | > img {
424 | width: 40px;
425 | height: 40px;
426 | border: 2px solid transparent;
427 | .border-radius(50%);
428 | }
429 |
430 | > .online {
431 | border: 2px solid @green;
432 | }
433 | > .offline {
434 | border: 2px solid @red;
435 | }
436 |
437 | // The message body
438 | > .message {
439 | margin-left: 55px;
440 | margin-top: -40px;
441 | > .name {
442 | display: block;
443 | font-weight: 600;
444 | }
445 | }
446 |
447 | // The attachment
448 | > .attachment {
449 | .border-radius(@attachment-border-radius);
450 | background: #f4f4f4;
451 | margin-left: 65px;
452 | margin-right: 15px;
453 | padding: 10px;
454 | > h4 {
455 | margin: 0 0 5px 0;
456 | font-weight: 600;
457 | font-size: 14px;
458 | }
459 | > p, > .filename {
460 | font-weight: 600;
461 | font-size: 13px;
462 | font-style: italic;
463 | margin: 0;
464 |
465 | }
466 | .clearfix();
467 | }
468 | }
469 |
470 | }
471 |
472 | //END CHAT WIDGET
473 |
474 | //Input in box
475 | .box-input {
476 | max-width: 200px;
477 | }
478 |
479 | //A fix for panels body text color when placed within
480 | // a modal
481 | .modal {
482 | .panel-body {
483 | color: #444;
484 | }
485 | }
486 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/AdminLTE/miscellaneous.less:
--------------------------------------------------------------------------------
1 | /*
2 | * General: Miscellaneous
3 | * ----------------------
4 | */
5 | // 10px padding and margins
6 | .pad {
7 | padding: 10px;
8 | }
9 |
10 | .margin {
11 | margin: 10px;
12 | }
13 |
14 | .margin-bottom {
15 | margin-bottom: 20px;
16 | }
17 |
18 | .margin-bottom-none {
19 | margin-bottom: 0;
20 | }
21 |
22 | .margin-r-5 {
23 | margin-right: 5px;
24 | }
25 |
26 | // Display inline
27 | .inline {
28 | display: inline;
29 | }
30 |
31 | // Description Blocks
32 | .description-block {
33 | display: block;
34 | margin: 10px 0;
35 | text-align: center;
36 | &.margin-bottom {
37 | margin-bottom: 25px;
38 | }
39 | > .description-header {
40 | margin: 0;
41 | padding: 0;
42 | font-weight: 600;
43 | font-size: 16px;
44 | }
45 | > .description-text {
46 | text-transform: uppercase;
47 | }
48 | }
49 |
50 | // Background colors
51 | .bg-red,
52 | .bg-yellow,
53 | .bg-aqua,
54 | .bg-blue,
55 | .bg-light-blue,
56 | .bg-green,
57 | .bg-navy,
58 | .bg-teal,
59 | .bg-olive,
60 | .bg-lime,
61 | .bg-orange,
62 | .bg-fuchsia,
63 | .bg-purple,
64 | .bg-maroon,
65 | .bg-black,
66 | .bg-red-active,
67 | .bg-yellow-active,
68 | .bg-aqua-active,
69 | .bg-blue-active,
70 | .bg-light-blue-active,
71 | .bg-green-active,
72 | .bg-navy-active,
73 | .bg-teal-active,
74 | .bg-olive-active,
75 | .bg-lime-active,
76 | .bg-orange-active,
77 | .bg-fuchsia-active,
78 | .bg-purple-active,
79 | .bg-maroon-active,
80 | .bg-black-active {
81 | color: #fff !important;
82 | }
83 |
84 | .bg-gray {
85 | color: #000;
86 | background-color: @gray !important;
87 | }
88 |
89 | .bg-gray-light {
90 | background-color: #f7f7f7;
91 | }
92 |
93 | .bg-black {
94 | background-color: @black !important;
95 | }
96 |
97 | .bg-red {
98 | background-color: @red !important;
99 | }
100 |
101 | .bg-yellow {
102 | background-color: @yellow !important;
103 | }
104 |
105 | .bg-aqua {
106 | background-color: @aqua !important;
107 | }
108 |
109 | .bg-blue {
110 | background-color: @blue !important;
111 | }
112 |
113 | .bg-light-blue {
114 | background-color: @light-blue !important;
115 | }
116 |
117 | .bg-green {
118 | background-color: @green !important;
119 | }
120 |
121 | .bg-navy {
122 | background-color: @navy !important;
123 | }
124 |
125 | .bg-teal {
126 | background-color: @teal !important;
127 | }
128 |
129 | .bg-olive {
130 | background-color: @olive !important;
131 | }
132 |
133 | .bg-lime {
134 | background-color: @lime !important;
135 | }
136 |
137 | .bg-orange {
138 | background-color: @orange !important;
139 | }
140 |
141 | .bg-fuchsia {
142 | background-color: @fuchsia !important;
143 | }
144 |
145 | .bg-purple {
146 | background-color: @purple !important;
147 | }
148 |
149 | .bg-maroon {
150 | background-color: @maroon !important;
151 | }
152 |
153 | //Set of Active Background Colors
154 | .bg-gray-active {
155 | color: #000;
156 | background-color: darken(@gray, 10%) !important;
157 | }
158 |
159 | .bg-black-active {
160 | background-color: darken(@black, 10%) !important;
161 | }
162 |
163 | .bg-red-active {
164 | background-color: darken(@red , 6%) !important;
165 | }
166 |
167 | .bg-yellow-active {
168 | background-color: darken(@yellow , 6%) !important;
169 | }
170 |
171 | .bg-aqua-active {
172 | background-color: darken(@aqua , 6%) !important;
173 | }
174 |
175 | .bg-blue-active {
176 | background-color: darken(@blue , 10%) !important;
177 | }
178 |
179 | .bg-light-blue-active {
180 | background-color: darken(@light-blue , 6%) !important;
181 | }
182 |
183 | .bg-green-active {
184 | background-color: darken(@green , 5%) !important;
185 | }
186 |
187 | .bg-navy-active {
188 | background-color: darken(@navy , 2%) !important;
189 | }
190 |
191 | .bg-teal-active {
192 | background-color: darken(@teal , 5%) !important;
193 | }
194 |
195 | .bg-olive-active {
196 | background-color: darken(@olive , 5%) !important;
197 | }
198 |
199 | .bg-lime-active {
200 | background-color: darken(@lime , 5%) !important;
201 | }
202 |
203 | .bg-orange-active {
204 | background-color: darken(@orange , 5%) !important;
205 | }
206 |
207 | .bg-fuchsia-active {
208 | background-color: darken(@fuchsia , 5%) !important;
209 | }
210 |
211 | .bg-purple-active {
212 | background-color: darken(@purple , 5%) !important;
213 | }
214 |
215 | .bg-maroon-active {
216 | background-color: darken(@maroon , 3%) !important;
217 | }
218 |
219 | //Disabled!
220 | [class^="bg-"].disabled {
221 | .opacity(.65);
222 | }
223 |
224 | // Text colors
225 | .text-red {
226 | color: @red !important;
227 | }
228 |
229 | .text-yellow {
230 | color: @yellow !important;
231 | }
232 |
233 | .text-aqua {
234 | color: @aqua !important;
235 | }
236 |
237 | .text-blue {
238 | color: @blue !important;
239 | }
240 |
241 | .text-black {
242 | color: @black !important;
243 | }
244 |
245 | .text-light-blue {
246 | color: @light-blue !important;
247 | }
248 |
249 | .text-green {
250 | color: @green !important;
251 | }
252 |
253 | .text-gray {
254 | color: @gray !important;
255 | }
256 |
257 | .text-navy {
258 | color: @navy !important;
259 | }
260 |
261 | .text-teal {
262 | color: @teal !important;
263 | }
264 |
265 | .text-olive {
266 | color: @olive !important;
267 | }
268 |
269 | .text-lime {
270 | color: @lime !important;
271 | }
272 |
273 | .text-orange {
274 | color: @orange !important;
275 | }
276 |
277 | .text-fuchsia {
278 | color: @fuchsia !important;
279 | }
280 |
281 | .text-purple {
282 | color: @purple !important;
283 | }
284 |
285 | .text-maroon {
286 | color: @maroon !important;
287 | }
288 |
289 | .link-muted {
290 | color: darken(@gray, 30%);
291 | &:hover,
292 | &:focus {
293 | color: darken(@gray, 40%);
294 | }
295 | }
296 |
297 | .link-black {
298 | color: #666;
299 | &:hover,
300 | &:focus {
301 | color: #999;
302 | }
303 | }
304 |
305 | // Hide elements by display none only
306 | .hide {
307 | display: none !important;
308 | }
309 |
310 | // Remove borders
311 | .no-border {
312 | border: 0 !important;
313 | }
314 |
315 | // Remove padding
316 | .no-padding {
317 | padding: 0 !important;
318 | }
319 |
320 | // Remove margins
321 | .no-margin {
322 | margin: 0 !important;
323 | }
324 |
325 | // Remove box shadow
326 | .no-shadow {
327 | box-shadow: none !important;
328 | }
329 |
330 | // Unstyled List
331 | .list-unstyled {
332 | list-style: none;
333 | margin: 0;
334 | padding: 0;
335 | }
336 |
337 | .list-group-unbordered {
338 | > .list-group-item {
339 | border-left: 0;
340 | border-right: 0;
341 | border-radius: 0;
342 | padding-left: 0;
343 | padding-right: 0;
344 | }
345 | }
346 |
347 | // Remove border radius
348 | .flat {
349 | .border-radius(0) !important;
350 | }
351 |
352 | .text-bold {
353 | &, &.table td, &.table th {
354 | font-weight: 700;
355 | }
356 | }
357 |
358 | .text-sm {
359 | font-size: 12px;
360 | }
361 |
362 | // _fix for sparkline tooltip
363 | .jqstooltip {
364 | padding: 5px !important;
365 | width: auto !important;
366 | height: auto !important;
367 | }
368 |
369 | // Gradient Background colors
370 | .bg-teal-gradient {
371 | .gradient(@teal; @teal; lighten(@teal, 16%)) !important;
372 | color: #fff;
373 | }
374 |
375 | .bg-light-blue-gradient {
376 | .gradient(@light-blue; @light-blue; lighten(@light-blue, 12%)) !important;
377 | color: #fff;
378 | }
379 |
380 | .bg-blue-gradient {
381 | .gradient(@blue; @blue; lighten(@blue, 7%)) !important;
382 | color: #fff;
383 | }
384 |
385 | .bg-aqua-gradient {
386 | .gradient(@aqua; @aqua; lighten(@aqua, 7%)) !important;
387 | color: #fff;
388 | }
389 |
390 | .bg-yellow-gradient {
391 | .gradient(@yellow; @yellow; lighten(@yellow, 16%)) !important;
392 | color: #fff;
393 | }
394 |
395 | .bg-purple-gradient {
396 | .gradient(@purple; @purple; lighten(@purple, 16%)) !important;
397 | color: #fff;
398 | }
399 |
400 | .bg-green-gradient {
401 | .gradient(@green; @green; lighten(@green, 7%)) !important;
402 | color: #fff;
403 | }
404 |
405 | .bg-red-gradient {
406 | .gradient(@red; @red; lighten(@red, 10%)) !important;
407 | color: #fff;
408 | }
409 |
410 | .bg-black-gradient {
411 | .gradient(@black; @black; lighten(@black, 10%)) !important;
412 | color: #fff;
413 | }
414 |
415 | .bg-maroon-gradient {
416 | .gradient(@maroon; @maroon; lighten(@maroon, 10%)) !important;
417 | color: #fff;
418 | }
419 |
420 | //Description Block Extension
421 | .description-block {
422 | .description-icon {
423 | font-size: 16px;
424 | }
425 | }
426 |
427 | //Remove top padding
428 | .no-pad-top {
429 | padding-top: 0;
430 | }
431 |
432 | //Make position static
433 | .position-static {
434 | position: static !important;
435 | }
436 |
437 | //List utility classes
438 | .list-header {
439 | font-size: 15px;
440 | padding: 10px 4px;
441 | font-weight: bold;
442 | color: #666;
443 | }
444 |
445 | .list-seperator {
446 | height: 1px;
447 | background: @box-border-color;
448 | margin: 15px 0 9px 0;
449 | }
450 |
451 | .list-link {
452 | > a {
453 | padding: 4px;
454 | color: #777;
455 | &:hover {
456 | color: #222;
457 | }
458 | }
459 | }
460 |
461 | //Light font weight
462 | .font-light {
463 | font-weight: 300;
464 | }
465 |
466 | //User block
467 | .user-block {
468 | .clearfix();
469 | img {
470 | width: 40px;
471 | height: 40px;
472 | float: left;
473 | }
474 | .username,
475 | .description,
476 | .comment {
477 | display: block;
478 | margin-left: 50px;
479 | }
480 | .username {
481 | font-size: 16px;
482 | font-weight: 600;
483 | }
484 | .description {
485 | color: #999;
486 | font-size: 13px;
487 | }
488 | &.user-block-sm {
489 | img {
490 | &:extend(.img-sm);
491 | }
492 | .username,
493 | .description,
494 | .comment {
495 | margin-left: 40px;
496 | }
497 | .username {
498 | font-size: 14px;
499 | }
500 | }
501 | }
502 |
503 | //Image sizes
504 | .img-sm,
505 | .img-md,
506 | .img-lg {
507 | float: left;
508 | }
509 |
510 | .img-sm {
511 | width: 30px !important;
512 | height: 30px !important;
513 | + .img-push {
514 | margin-left: 40px;
515 | }
516 | }
517 |
518 | .img-md {
519 | width: 60px;
520 | height: 60px;
521 | + .img-push {
522 | margin-left: 70px;
523 | }
524 | }
525 |
526 | .img-lg {
527 | width: 100px;
528 | height: 100px;
529 | + .img-push {
530 | margin-left: 110px;
531 | }
532 | }
533 |
534 | // Image bordered
535 | .img-bordered {
536 | border: 3px solid @gray;
537 | padding: 3px;
538 | }
539 |
540 | .img-bordered-sm {
541 | border: 2px solid @gray;
542 | padding: 2px;
543 | }
544 |
545 | //General attachemnt block
546 | .attachment-block {
547 | border: 1px solid @box-border-color;
548 | padding: 5px;
549 | margin-bottom: 10px;
550 | background: #f7f7f7;
551 |
552 | .attachment-img {
553 | max-width: 100px;
554 | max-height: 100px;
555 | height: auto;
556 | float: left;
557 | }
558 | .attachment-pushed {
559 | margin-left: 110px;
560 | }
561 | .attachment-heading {
562 | margin: 0;
563 | }
564 | .attachment-text {
565 | color: #555;
566 | }
567 | }
568 |
569 | .connectedSortable {
570 | min-height: 100px;
571 | }
572 |
573 | .ui-helper-hidden-accessible {
574 | border: 0;
575 | clip: rect(0 0 0 0);
576 | height: 1px;
577 | margin: -1px;
578 | overflow: hidden;
579 | padding: 0;
580 | position: absolute;
581 | width: 1px;
582 | }
583 |
584 | .sort-highlight {
585 | background: #f4f4f4;
586 | border: 1px dashed #ddd;
587 | margin-bottom: 10px;
588 | }
589 |
590 | .full-opacity-hover {
591 | .opacity(.65);
592 | &:hover {
593 | .opacity(1);
594 | }
595 | }
596 |
597 | // Charts
598 | .chart {
599 | position: relative;
600 | overflow: hidden;
601 | width: 100%;
602 | svg,
603 | canvas {
604 | width: 100% !important;
605 | }
606 | }
607 |
--------------------------------------------------------------------------------