Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commita8b8ad3041cc80a7de876441948d93886ecd7f9b (patch)
Author
 Yan Zhu <picturepan2@hotmail.com>
2016-10-08 01:01:57 +0800
Committer
 GitHub <noreply@github.com>
2016-10-08 01:01:57 +0800
Filesfa3c81bcf8c8d28a5b34bd372c5673ecf8370e38
Spectre-Dark-Gruvbox-a8b8ad3041cc80a7de876441948d93886ecd7f9b.tar
Spectre-Dark-Gruvbox-a8b8ad3041cc80a7de876441948d93886ecd7f9b.tar.gz
Spectre-Dark-Gruvbox-a8b8ad3041cc80a7de876441948d93886ecd7f9b.zip
Parent8e16ed5b46a548e1985c6ea994169cd5e3535258 (diff)
Parentba375ed5bdd8e98ed5a335117a17b30afd51172c (diff)
Merge pull request #108 from picturepan2/feature/general-improvements
Feature/general improvements
17 files changed, 849 insertions, 770 deletions
-rw-r--r--README.md2
-rw-r--r--bower.json2
-rw-r--r--dist/spectre.css937
-rw-r--r--dist/spectre.min.css2
-rw-r--r--index.html390
-rw-r--r--package.json2
-rw-r--r--spectre.less18
-rw-r--r--src/base.less5
-rw-r--r--src/buttons.less28
-rw-r--r--src/forms.less143
-rw-r--r--src/layout.less6
-rw-r--r--src/menus.less5
-rw-r--r--src/navigation.less51
-rw-r--r--src/tooltips.less18
-rw-r--r--src/typography.less4
-rw-r--r--src/utilities.less2
-rw-r--r--src/variables.less4
diff --git a/README.md b/README.md
index 0cb8a64..f16879c 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,7 @@ You can compile your custom version of Spectre.css. Read [the documentation](htt
- [tables](http://picturepan2.github.io/spectre/#tables) - organize and display data
- [buttons](http://picturepan2.github.io/spectre/#buttons) - button styles in different types and sizes, and even button groups
- [forms](http://picturepan2.github.io/spectre/#forms) - input, radio, checkbox, switch and other form elements
+- [labels](http://picturepan2.github.io/spectre/#labels) - formatted text tags for highlighted, informative information
- [media](http://picturepan2.github.io/spectre/#media) - responsive image and video class
#### Layout
@@ -50,7 +51,6 @@ You can compile your custom version of Spectre.css. Read [the documentation](htt
- [chips](http://picturepan2.github.io/spectre/#chips) - complex entities in small blocks
- [autocomplete](http://picturepan2.github.io/spectre/#autocomplete) - form component provides suggestions while you type
- [tooltips](http://picturepan2.github.io/spectre/#tooltips) - simple tooltip built entirely in CSS
-- [labels](http://picturepan2.github.io/spectre/#labels) - formatted text tags for highlighted, informative information
- [badges](http://picturepan2.github.io/spectre/#badges) - unread number indicators
- [toasts](http://picturepan2.github.io/spectre/#toasts) - showing alerts or notifications
- [menus](http://picturepan2.github.io/spectre/#menus) - list of links or buttons for actions and navigation
diff --git a/bower.json b/bower.json
index 8ce786e..8fee8a0 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "spectre.css",
- "version": "0.1.27",
+ "version": "0.1.28",
"description": "Spectre.css: a lightweight, responsive and modern CSS framework.",
"homepage": "http://picturepan2.github.io/spectre",
"repository": "picturepan2/spectre",
diff --git a/dist/spectre.css b/dist/spectre.css
index c451356..336e9b8 100644
--- a/dist/spectre.css
+++ b/dist/spectre.css
@@ -382,7 +382,7 @@ html {
body {
background: #fff;
color: #333;
- font-family: "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Hiragino Kaku Gothic Pro", Meiryo, "Malgun Gothic", sans-serif;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Hiragino Kaku Gothic Pro", Meiryo, "Malgun Gothic", "Helvetica Neue", sans-serif;
font-size: 1.4rem;
overflow-x: hidden;
}
@@ -390,8 +390,8 @@ a {
color: #5764c6;
text-decoration: underline;
}
-a:hover,
-a:focus {
+a:focus,
+a:hover {
color: #283176;
}
[disabled],
@@ -499,12 +499,12 @@ mark,
}
pre {
background: #f9f9f9;
- border-left: .2rem solid #5764c6;
+ border-left: .2rem solid #e2e2e2;
line-height: 1.8rem;
margin-bottom: 1em;
margin-top: 1em;
overflow: auto;
- padding: 1.5rem;
+ padding: 1.5rem 2.5rem;
}
code {
background: #efefef;
@@ -522,37 +522,6 @@ pre code {
margin-bottom: 0;
margin-top: 0;
}
-.img-responsive {
- display: block;
- height: auto;
- max-width: 100%;
-}
-.video-responsive {
- height: 0;
- overflow: hidden;
- padding-bottom: 56.25%;
- /* Default 16:9, you can calculate this value by dividing 9 by 16 */
- padding-top: 3rem;
- position: relative;
-}
-.video-responsive iframe,
-.video-responsive object,
-.video-responsive embed {
- height: 100%;
- left: 0;
- position: absolute;
- top: 0;
- width: 100%;
-}
-.video-responsive video {
- height: auto;
- max-width: 100%;
- width: 100%;
-}
-.video-responsive-4-3 {
- padding-bottom: 75%;
- /* 4:3 */
-}
.table {
border-collapse: collapse;
border-spacing: 0;
@@ -618,16 +587,18 @@ pre code {
color: #fff;
}
.btn.btn-primary:focus {
- background: #4f5dc3;
+ background: #4856c1;
+ border-color: #3b49af;
+ color: #fff;
}
.btn.btn-primary:hover {
- background: #4452c0;
- border-color: #3b49af;
+ background: #404fbe;
+ border-color: #35419c;
color: #fff;
}
.btn.btn-primary:active,
.btn.btn-primary.active {
- background: #3b49af;
+ background: #3e4cb6;
border-color: #35419c;
color: #fff;
}
@@ -641,12 +612,14 @@ pre code {
border-color: transparent;
color: #5764c6;
}
-.btn.btn-link:hover,
-.btn.btn-link:focus {
+.btn.btn-link:focus,
+.btn.btn-link:hover {
+ background: #f4f4f4;
color: #35419c;
}
.btn.btn-link:active,
.btn.btn-link.active {
+ background: #efefef;
color: #283176;
}
.btn.btn-sm {
@@ -687,9 +660,11 @@ pre code {
display: inline-flex;
display: -ms-inline-flexbox;
display: -webkit-inline-flex;
- -webkit-flex-wrap: wrap;
- -ms-flex-wrap: wrap;
- flex-wrap: wrap;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ max-width: 100%;
+ overflow-x: auto;
}
.btn-group .btn {
-webkit-flex: 1 0 auto;
@@ -710,7 +685,9 @@ pre code {
margin-left: -.1rem;
}
.btn-group .btn:hover,
-.btn-group .btn:focus {
+.btn-group .btn:focus,
+.btn-group .btn:active,
+.btn-group .btn.active {
z-index: 99;
}
.btn-group.btn-group-block {
@@ -774,6 +751,19 @@ textarea.form-input {
.form-input.is-danger {
border-color: #e85600;
}
+.form-input-hint {
+ color: #888;
+ display: inline-block;
+ margin-top: .4rem;
+}
+.has-success .form-input-hint,
+.is-success + .form-input-hint {
+ color: #32b643;
+}
+.has-danger .form-input-hint,
+.is-danger + .form-input-hint {
+ color: #e85600;
+}
.form-label {
display: block;
line-height: 1.6rem;
@@ -818,16 +808,11 @@ textarea.form-input {
.form-radio input,
.form-switch input {
clip: rect(0, 0, 0, 0);
- height: 1px;
- margin: -1px;
+ height: .1rem;
+ margin: -.1rem;
overflow: hidden;
position: absolute;
- width: 1px;
-}
-.form-checkbox input:focus + .form-icon,
-.form-radio input:focus + .form-icon,
-.form-switch input:focus + .form-icon {
- box-shadow: 0 0 .3rem .1rem #efefef;
+ width: .1rem;
}
.form-checkbox,
.form-radio {
@@ -855,15 +840,21 @@ textarea.form-input {
}
.form-checkbox:hover .form-icon,
.form-radio:hover .form-icon {
- border-color: #9f9f9f;
+ border-color: #929292;
+}
+.form-checkbox input:focus + .form-icon,
+.form-radio input:focus + .form-icon {
+ border-color: #5764c6;
}
.form-checkbox input:checked + .form-icon,
-.form-radio input:checked + .form-icon,
-.form-checkbox input:indeterminate + .form-icon,
-.form-radio input:indeterminate + .form-icon {
+.form-radio input:checked + .form-icon {
background: #5764c6;
border-color: #5764c6;
}
+.form-checkbox input:active + .form-icon,
+.form-radio input:active + .form-icon {
+ background: #efefef;
+}
.form-checkbox .form-icon {
border-radius: .2rem;
}
@@ -884,6 +875,10 @@ textarea.form-input {
transform: rotate(45deg);
width: .6rem;
}
+.form-checkbox input:indeterminate + .form-icon {
+ background: #5764c6;
+ border-color: #5764c6;
+}
.form-checkbox input:indeterminate + .form-icon::after {
background: #fff;
content: "";
@@ -913,7 +908,7 @@ textarea.form-input {
.form-switch {
cursor: pointer;
display: inline-block;
- line-height: 1.8rem;
+ line-height: 2rem;
padding: .3rem 2rem .3rem 3.6rem;
position: relative;
}
@@ -923,34 +918,37 @@ textarea.form-input {
border: .1rem solid #c5c5c5;
border-radius: .9rem;
display: inline-block;
- height: 1.6rem;
+ height: 1.8rem;
left: 0;
- line-height: 2.4rem;
+ line-height: 2.6rem;
outline: none;
padding: 0;
position: absolute;
top: .4rem;
vertical-align: top;
- width: 2.6rem;
+ width: 3rem;
}
.form-switch .form-icon::after {
background: #fff;
border-radius: .8rem;
content: "";
display: block;
- height: 1.4rem;
+ height: 1.6rem;
left: 0;
position: absolute;
top: 0;
transition: left .15s ease;
- width: 1.4rem;
+ width: 1.6rem;
}
.form-switch input:checked + .form-icon {
background: #5764c6;
border-color: #5764c6;
}
.form-switch input:checked + .form-icon::after {
- left: 1rem;
+ left: 1.2rem;
+}
+.form-switch input:active + .form-icon::after {
+ background: #efefef;
}
.input-group {
display: flex;
@@ -1003,6 +1001,60 @@ textarea.form-input {
.input-group .input-group-btn:focus {
z-index: 99;
}
+.label {
+ background: #efefef;
+ border-radius: .2rem;
+ color: #666;
+ display: inline;
+ font-size: 1em;
+ padding: .1em .3em;
+ vertical-align: baseline;
+ white-space: nowrap;
+}
+.label.label-primary {
+ background: #5764c6;
+ border-color: #4f5dc3;
+ color: #fff;
+}
+.label.label-primary a {
+ color: #fff;
+}
+.label.label-primary a:hover,
+.label.label-primary a:focus,
+.label.label-primary a:active {
+ opacity: .75;
+}
+.img-responsive {
+ display: block;
+ height: auto;
+ max-width: 100%;
+}
+.video-responsive {
+ height: 0;
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ /* Default 16:9, you can calculate this value by dividing 9 by 16 */
+ padding-top: 3rem;
+ position: relative;
+}
+.video-responsive iframe,
+.video-responsive object,
+.video-responsive embed {
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.video-responsive video {
+ height: auto;
+ max-width: 100%;
+ width: 100%;
+}
+.video-responsive-4-3 {
+ padding-bottom: 75%;
+ /* 4:3 */
+}
.container {
margin-left: auto;
margin-right: auto;
@@ -1024,6 +1076,9 @@ textarea.form-input {
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
margin-left: -1rem;
margin-right: -1rem;
}
@@ -1035,10 +1090,11 @@ textarea.form-input {
padding-left: 0;
padding-right: 0;
}
-.columns.col-multiline {
- -webkit-flex-wrap: wrap;
- -ms-flex-wrap: wrap;
- flex-wrap: wrap;
+.columns.col-oneline {
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ overflow-x: auto;
}
.column {
-webkit-flex: 1;
@@ -1430,45 +1486,93 @@ textarea.form-input {
transform: translate(-50%, -50%);
z-index: 0;
}
-@-webkit-keyframes loading {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg);
- }
+.chip {
+ -webkit-align-content: space-around;
+ align-content: space-around;
+ -webkit-align-items: center;
+ align-items: center;
+ border: .1rem solid transparent;
+ border-radius: .3rem;
+ display: flex;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ -ms-flex-align: center;
+ -ms-flex-line-pack: distribute;
+ list-style: none;
+ margin: 0;
+ padding: .5rem 0;
}
-@keyframes loading {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg);
- }
+.chip .chip-icon {
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
}
-@-webkit-keyframes slide-down {
- 0% {
- margin-top: -3rem;
- opacity: 0;
- }
- 100% {
- margin-top: 0;
- opacity: 1;
- }
+.chip .chip-content {
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ overflow: hidden;
+ padding: 0 1rem;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
-@keyframes slide-down {
- 0% {
- margin-top: -3rem;
- opacity: 0;
- }
- 100% {
- margin-top: 0;
- opacity: 1;
- }
+.chip .chip-action {
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+}
+.chip .chip-title {
+ font-size: 1.4rem;
+}
+.chip .chip-meta {
+ color: #b3b3b3;
+ font-size: 1.2rem;
+}
+.chip-sm {
+ -webkit-align-items: center;
+ align-items: center;
+ background: #eff1fa;
+ border-radius: .3rem;
+ color: #666;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ display: -webkit-inline-flex;
+ -ms-flex-align: center;
+ font-size: 1.2rem;
+ height: 2.4rem;
+ max-width: 100%;
+ padding: .3rem .6rem;
+ text-decoration: none;
+ vertical-align: middle;
+}
+.chip-sm:hover,
+.chip-sm:focus {
+ background: #e8eaf7;
+}
+.chip-sm .btn-clear {
+ margin-top: -.2rem;
+}
+.chip-sm .btn-clear::before {
+ color: #3b49af;
+ font-size: 1.6rem;
+}
+.chip-sm.selected {
+ background: #5764c6;
+ color: #fff;
+}
+.chip-sm.selected .btn-clear::before {
+ color: #eff1fa;
+}
+.chip-sm .chip-name {
+ margin-left: .4rem;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.chip-sm .avatar {
+ font-size: .8rem;
+ height: 1.6rem;
+ width: 1.6rem;
}
.form-autocomplete {
position: relative;
@@ -1528,6 +1632,83 @@ textarea.form-input {
.form-autocomplete .form-autocomplete-item.active {
background: #eff1fa;
}
+.tooltip {
+ position: relative;
+}
+.tooltip::after {
+ background: rgba(51, 51, 51, .9);
+ border-radius: .3rem;
+ bottom: 100%;
+ color: #fff;
+ content: attr(data-tooltip);
+ display: block;
+ font-size: 1.2rem;
+ left: 50%;
+ line-height: 1.6rem;
+ max-width: 32rem;
+ opacity: 0;
+ overflow: hidden;
+ padding: .6rem 1rem;
+ pointer-events: none;
+ position: absolute;
+ text-overflow: ellipsis;
+ -webkit-transform: translate(-50%, 0);
+ -ms-transform: translate(-50%, 0);
+ transform: translate(-50%, 0);
+ transition: all .216s ease;
+ z-index: 99;
+}
+.tooltip:focus::after,
+.tooltip:hover::after {
+ opacity: 1;
+ -webkit-transform: translate(-50%, -.5rem);
+ -ms-transform: translate(-50%, -.5rem);
+ transform: translate(-50%, -.5rem);
+}
+.tooltip[disabled],
+.tooltip.disabled {
+ pointer-events: auto;
+}
+.tooltip.tooltip-right::after {
+ bottom: 50%;
+ left: 100%;
+ -webkit-transform: translate(0, 50%);
+ -ms-transform: translate(0, 50%);
+ transform: translate(0, 50%);
+}
+.tooltip.tooltip-right:focus::after,
+.tooltip.tooltip-right:hover::after {
+ -webkit-transform: translate(.5rem, 50%);
+ -ms-transform: translate(.5rem, 50%);
+ transform: translate(.5rem, 50%);
+}
+.tooltip.tooltip-bottom::after {
+ bottom: auto;
+ top: 100%;
+ -webkit-transform: translate(-50%, 0);
+ -ms-transform: translate(-50%, 0);
+ transform: translate(-50%, 0);
+}
+.tooltip.tooltip-bottom:focus::after,
+.tooltip.tooltip-bottom:hover::after {
+ -webkit-transform: translate(-50%, .5rem);
+ -ms-transform: translate(-50%, .5rem);
+ transform: translate(-50%, .5rem);
+}
+.tooltip.tooltip-left::after {
+ bottom: 50%;
+ left: auto;
+ right: 100%;
+ -webkit-transform: translate(0, 50%);
+ -ms-transform: translate(0, 50%);
+ transform: translate(0, 50%);
+}
+.tooltip.tooltip-left:focus::after,
+.tooltip.tooltip-left:hover::after {
+ -webkit-transform: translate(-.5rem, 50%);
+ -ms-transform: translate(-.5rem, 50%);
+ transform: translate(-.5rem, 50%);
+}
.badge {
position: relative;
}
@@ -1550,163 +1731,59 @@ textarea.form-input {
transform: translate(-.2rem, -.8rem);
white-space: nowrap;
}
-.card {
- background: #fff;
- border: .1rem solid #efefef;
- border-radius: .3rem;
- display: block;
- margin: 0;
- padding: 0;
- text-align: left;
- z-index: 999;
-}
-.card .card-header,
-.card .card-body,
-.card .card-footer {
- padding: 1.5rem 1.5rem 0 1.5rem;
-}
-.card .card-header:last-child,
-.card .card-body:last-child,
-.card .card-footer:last-child {
- padding-bottom: 1.5rem;
-}
-.card .card-image {
- padding-top: 1.5rem;
-}
-.card .card-image:first-child {
- padding-top: 0;
-}
-.card .card-image:first-child img {
- border-top-left-radius: .3rem;
- border-top-right-radius: .3rem;
-}
-.card .card-image:last-child img {
- border-bottom-left-radius: .3rem;
- border-bottom-right-radius: .3rem;
-}
-.card .card-title {
- font-size: 1.4em;
- line-height: 1;
- margin-bottom: .5rem;
- margin-top: 0;
-}
-.card .card-meta {
- color: #b3b3b3;
- font-size: 1em;
- margin-bottom: 0;
- margin-top: 0;
-}
-.chip {
- -webkit-align-content: space-around;
- align-content: space-around;
- -webkit-align-items: center;
- align-items: center;
- border: .1rem solid transparent;
- border-radius: .3rem;
- display: flex;
- display: -ms-flexbox;
- display: -webkit-flex;
- -ms-flex-align: center;
- -ms-flex-line-pack: distribute;
- list-style: none;
- margin: 0;
- padding: .5rem 0;
-}
-.chip .chip-icon {
- -webkit-flex: 0 0 auto;
- -ms-flex: 0 0 auto;
- flex: 0 0 auto;
-}
-.chip .chip-content {
- -webkit-flex: 1 1 auto;
- -ms-flex: 1 1 auto;
- flex: 1 1 auto;
- overflow: hidden;
- padding: 0 1rem;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-.chip .chip-action {
- -webkit-flex: 0 0 auto;
- -ms-flex: 0 0 auto;
- flex: 0 0 auto;
-}
-.chip .chip-title {
- font-size: 1.4rem;
-}
-.chip .chip-meta {
- color: #b3b3b3;
- font-size: 1.2rem;
-}
-.chip-sm {
- -webkit-align-items: center;
- align-items: center;
- background: #eff1fa;
+.toast {
+ background: #efefef;
+ border: .1rem solid #eaeaea;
border-radius: .3rem;
color: #666;
- display: -ms-inline-flexbox;
- display: inline-flex;
- display: -webkit-inline-flex;
- -ms-flex-align: center;
- font-size: 1.2rem;
- height: 2.4rem;
- max-width: 100%;
- padding: .3rem .6rem;
- text-decoration: none;
- vertical-align: middle;
-}
-.chip-sm:hover,
-.chip-sm:focus {
- background: #e8eaf7;
-}
-.chip-sm .btn-clear {
- margin-top: -.2rem;
-}
-.chip-sm .btn-clear::before {
- color: #3b49af;
- font-size: 1.6rem;
+ display: block;
+ padding: 1.4rem;
+ width: 100%;
}
-.chip-sm.selected {
+.toast.toast-primary {
background: #5764c6;
+ border-color: #4f5dc3;
color: #fff;
}
-.chip-sm.selected .btn-clear::before {
- color: #eff1fa;
+.toast.toast-primary a {
+ color: #fff;
}
-.chip-sm .chip-name {
- margin-left: .4rem;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
+.toast.toast-primary a:hover,
+.toast.toast-primary a:focus,
+.toast.toast-primary a:active {
+ opacity: .75;
}
-.chip-sm .avatar {
- font-size: .8rem;
- height: 1.6rem;
- width: 1.6rem;
+.toast.toast-success {
+ background: #32b643;
+ border-color: #30ae40;
+ color: #fff;
}
-.label {
- background: #efefef;
- border-radius: .2rem;
- color: #666;
- display: inline;
- font-size: 1em;
- padding: .1em .3em;
- vertical-align: baseline;
- white-space: nowrap;
+.toast.toast-success a {
+ color: #fff;
}
-.label.label-primary {
- background: #5764c6;
- border-color: #4f5dc3;
+.toast.toast-success a:hover,
+.toast.toast-success a:focus,
+.toast.toast-success a:active {
+ opacity: .75;
+}
+.toast.toast-danger {
+ background: #e85600;
+ border-color: #de5200;
color: #fff;
}
-.label.label-primary a {
+.toast.toast-danger a {
color: #fff;
}
-.label.label-primary a:hover,
-.label.label-primary a:focus,
-.label.label-primary a:active {
+.toast.toast-danger a:hover,
+.toast.toast-danger a:focus,
+.toast.toast-danger a:active {
opacity: .75;
}
+.toast.toast-primary .btn-clear,
+.toast.toast-success .btn-clear,
+.toast.toast-danger .btn-clear {
+ color: #fff;
+}
.menu {
background: #fff;
border-radius: .3rem;
@@ -1738,8 +1815,8 @@ textarea.form-input {
padding: .2rem 1rem;
text-decoration: none;
}
-.menu .menu-item a:hover,
-.menu .menu-item a:focus {
+.menu .menu-item a:focus,
+.menu .menu-item a:hover {
color: #5764c6;
}
.menu .menu-item a:active,
@@ -1773,82 +1850,6 @@ textarea.form-input {
transform: translateY(-1rem);
width: 100%;
}
-.modal {
- -webkit-align-items: center;
- align-items: center;
- bottom: 0;
- display: none;
- -ms-flex-align: center;
- -ms-flex-pack: center;
- -ms-grid-row-align: center;
- -webkit-justify-content: center;
- justify-content: center;
- left: 0;
- opacity: 0;
- overflow: hidden;
- position: fixed;
- right: 0;
- top: 0;
-}
-.modal.active {
- display: flex;
- display: -ms-flexbox;
- display: -webkit-flex;
- opacity: 1;
- z-index: 1988;
-}
-.modal.active .modal-overlay {
- background: rgba(0, 0, 0, .75);
- bottom: 0;
- display: block;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
-}
-.modal.active .modal-container {
- -webkit-animation: slide-down .216s;
- animation: slide-down .216s;
-}
-.modal-container {
- -webkit-animation: slide-up .216s;
- animation: slide-up .216s;
- background: #fff;
- border-radius: .3rem;
- box-shadow: 0 .1rem .4rem rgba(0, 0, 0, .3);
- display: block;
- margin: 0 auto;
- padding: 0;
- text-align: left;
- z-index: 1988;
-}
-.modal-container .modal-header {
- padding: 1.5rem;
-}
-.modal-container .modal-header .modal-title {
- font-size: 1.5rem;
- margin: 0;
-}
-.modal-container .modal-body {
- max-height: 50vh;
- overflow-y: auto;
- padding: 1.5rem;
- position: relative;
-}
-.modal-container .modal-footer {
- padding: 1.5rem;
- text-align: right;
-}
-@media screen and (min-width: 640px) {
- .modal-container {
- width: 64rem;
- }
-}
-@media screen and (min-width: 320px) {
- .modal-sm .modal-container {
- width: 32rem;
- }
-}
.breadcrumb,
.tab,
.pagination {
@@ -1876,45 +1877,51 @@ textarea.form-input {
padding: 0 .4rem;
}
.tab {
- border-bottom: .1rem solid #c5c5c5;
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ max-width: 100%;
+ overflow-x: auto;
}
.tab .tab-item {
- margin-bottom: -.1rem;
+ border-bottom: .1rem solid #c5c5c5;
margin-top: 0;
}
.tab .tab-item a {
border-bottom: .2rem solid transparent;
color: #333;
display: block;
- padding: .5rem 1.5rem;
+ margin-bottom: -.1rem;
+ margin-top: 0;
+ padding: .8rem 1.4rem;
text-decoration: none;
}
-.tab .tab-item a:hover,
-.tab .tab-item a:focus {
- border-bottom-color: #5764c6;
+.tab .tab-item a:focus,
+.tab .tab-item a:hover {
color: #5764c6;
}
-.tab .tab-item.active a {
+.tab .tab-item.active a,
+.tab .tab-item a.active {
border-bottom-color: #3b49af;
color: #3b49af;
}
+.tab .tab-item .badge[data-badge]::after {
+ position: absolute;
+ right: -1.4rem;
+ top: 1rem;
+ -webkit-transform: translate(-50%, -1rem);
+ -ms-transform: translate(-50%, -1rem);
+ transform: translate(-50%, -1rem);
+}
.tab.tab-block .tab-item {
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
text-align: center;
}
-.tab.tab-block .tab-item .badge[data-badge]::after {
- position: absolute;
- right: 1.5rem;
- top: .6rem;
- -webkit-transform: translate(50%, -.8rem);
- -ms-transform: translate(50%, -.8rem);
- transform: translate(50%, -.8rem);
-}
.pagination {
display: inline-block;
padding: 1.2rem;
@@ -1933,143 +1940,175 @@ textarea.form-input {
padding: .6rem 1.2rem;
text-decoration: none;
}
-.pagination .page-item a:hover,
-.pagination .page-item a:focus {
+.pagination .page-item a:focus,
+.pagination .page-item a:hover {
background: #eff1fa;
}
.pagination .page-item.active a {
background: #5764c6;
color: #fff;
}
-.toast {
- background: #efefef;
- border: .1rem solid #eaeaea;
- border-radius: .3rem;
- color: #666;
- display: block;
- padding: 1.4rem;
- width: 100%;
-}
-.toast.toast-primary {
- background: #5764c6;
- border-color: #4f5dc3;
- color: #fff;
+.modal {
+ -webkit-align-items: center;
+ align-items: center;
+ bottom: 0;
+ display: none;
+ -ms-flex-align: center;
+ -ms-flex-pack: center;
+ -ms-grid-row-align: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+ left: 0;
+ opacity: 0;
+ overflow: hidden;
+ position: fixed;
+ right: 0;
+ top: 0;
}
-.toast.toast-primary a {
- color: #fff;
+.modal.active {
+ display: flex;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ opacity: 1;
+ z-index: 1988;
}
-.toast.toast-primary a:hover,
-.toast.toast-primary a:focus,
-.toast.toast-primary a:active {
- opacity: .75;
+.modal.active .modal-overlay {
+ background: rgba(0, 0, 0, .75);
+ bottom: 0;
+ display: block;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
}
-.toast.toast-success {
- background: #32b643;
- border-color: #30ae40;
- color: #fff;
+.modal.active .modal-container {
+ -webkit-animation: slide-down .216s;
+ animation: slide-down .216s;
}
-.toast.toast-success a {
- color: #fff;
+.modal-container {
+ -webkit-animation: slide-up .216s;
+ animation: slide-up .216s;
+ background: #fff;
+ border-radius: .3rem;
+ box-shadow: 0 .1rem .4rem rgba(0, 0, 0, .3);
+ display: block;
+ margin: 0 auto;
+ padding: 0;
+ text-align: left;
+ z-index: 1988;
}
-.toast.toast-success a:hover,
-.toast.toast-success a:focus,
-.toast.toast-success a:active {
- opacity: .75;
+.modal-container .modal-header {
+ padding: 1.5rem;
}
-.toast.toast-danger {
- background: #e85600;
- border-color: #de5200;
- color: #fff;
+.modal-container .modal-header .modal-title {
+ font-size: 1.5rem;
+ margin: 0;
}
-.toast.toast-danger a {
- color: #fff;
+.modal-container .modal-body {
+ max-height: 50vh;
+ overflow-y: auto;
+ padding: 1.5rem;
+ position: relative;
}
-.toast.toast-danger a:hover,
-.toast.toast-danger a:focus,
-.toast.toast-danger a:active {
- opacity: .75;
+.modal-container .modal-footer {
+ padding: 1.5rem;
+ text-align: right;
}
-.toast.toast-primary .btn-clear,
-.toast.toast-success .btn-clear,
-.toast.toast-danger .btn-clear {
- color: #fff;
+@media screen and (min-width: 640px) {
+ .modal-container {
+ width: 64rem;
+ }
}
-.tooltip {
- position: relative;
+@media screen and (min-width: 320px) {
+ .modal-sm .modal-container {
+ width: 32rem;
+ }
}
-.tooltip::after {
- background: rgba(51, 51, 51, .9);
+.card {
+ background: #fff;
+ border: .1rem solid #efefef;
border-radius: .3rem;
- bottom: 100%;
- color: #fff;
- content: attr(data-tooltip);
display: block;
- font-size: 1.2rem;
- left: 50%;
- line-height: 1.6rem;
- max-width: 32rem;
- opacity: 0;
- overflow: hidden;
- padding: .6rem 1rem;
- pointer-events: none;
- position: absolute;
- text-overflow: ellipsis;
- -webkit-transform: translate(-50%, 0);
- -ms-transform: translate(-50%, 0);
- transform: translate(-50%, 0);
- transition: all .216s ease;
- z-index: 99;
+ margin: 0;
+ padding: 0;
+ text-align: left;
+ z-index: 999;
}
-.tooltip:hover::after,
-.tooltip:focus::after {
- opacity: 1;
- -webkit-transform: translate(-50%, -.5rem);
- -ms-transform: translate(-50%, -.5rem);
- transform: translate(-50%, -.5rem);
+.card .card-header,
+.card .card-body,
+.card .card-footer {
+ padding: 1.5rem 1.5rem 0 1.5rem;
}
-.tooltip[disabled],
-.tooltip.disabled {
- pointer-events: auto;
+.card .card-header:last-child,
+.card .card-body:last-child,
+.card .card-footer:last-child {
+ padding-bottom: 1.5rem;
}
-.tooltip.tooltip-right::after {
- bottom: 50%;
- left: 100%;
- -webkit-transform: translate(0, 50%);
- -ms-transform: translate(0, 50%);
- transform: translate(0, 50%);
+.card .card-image {
+ padding-top: 1.5rem;
}
-.tooltip.tooltip-right:hover::after,
-.tooltip.tooltip-right:focus::after {
- -webkit-transform: translate(.5rem, 50%);
- -ms-transform: translate(.5rem, 50%);
- transform: translate(.5rem, 50%);
+.card .card-image:first-child {
+ padding-top: 0;
}
-.tooltip.tooltip-bottom::after {
- bottom: auto;
- top: 100%;
- -webkit-transform: translate(-50%, 0);
- -ms-transform: translate(-50%, 0);
- transform: translate(-50%, 0);
+.card .card-image:first-child img {
+ border-top-left-radius: .3rem;
+ border-top-right-radius: .3rem;
}
-.tooltip.tooltip-bottom:hover::after,
-.tooltip.tooltip-bottom:focus::after {
- -webkit-transform: translate(-50%, .5rem);
- -ms-transform: translate(-50%, .5rem);
- transform: translate(-50%, .5rem);
+.card .card-image:last-child img {
+ border-bottom-left-radius: .3rem;
+ border-bottom-right-radius: .3rem;
}
-.tooltip.tooltip-left::after {
- bottom: 50%;
- left: auto;
- right: 100%;
- -webkit-transform: translate(0, 50%);
- -ms-transform: translate(0, 50%);
- transform: translate(0, 50%);
+.card .card-title {
+ font-size: 1.4em;
+ line-height: 1;
+ margin-bottom: .5rem;
+ margin-top: 0;
}
-.tooltip.tooltip-left:hover::after,
-.tooltip.tooltip-left:focus::after {
- -webkit-transform: translate(-.5rem, 50%);
- -ms-transform: translate(-.5rem, 50%);
- transform: translate(-.5rem, 50%);
+.card .card-meta {
+ color: #b3b3b3;
+ font-size: 1em;
+ margin-bottom: 0;
+ margin-top: 0;
+}
+@-webkit-keyframes loading {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@keyframes loading {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes slide-down {
+ 0% {
+ margin-top: -3rem;
+ opacity: 0;
+ }
+ 100% {
+ margin-top: 0;
+ opacity: 1;
+ }
+}
+@keyframes slide-down {
+ 0% {
+ margin-top: -3rem;
+ opacity: 0;
+ }
+ 100% {
+ margin-top: 0;
+ opacity: 1;
+ }
}
.clearfix::after,
.container::after {
diff --git a/dist/spectre.min.css b/dist/spectre.min.css
index dc8630d..f27040a 100644
--- a/dist/spectre.min.css
+++ b/dist/spectre.min.css
@@ -1 +1 @@
-/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */progress,sub,sup{vertical-align:baseline}button,hr,input{overflow:visible}html,legend{box-sizing:border-box}.mt-10,ol li,ul li{margin-top:1rem}pre,textarea{overflow:auto}blockquote p:last-child,pre code{margin-bottom:0}.btn,.menu .menu-item{-webkit-user-select:none}.btn-group .btn:focus,.btn-group .btn:hover,.input-group .form-input:focus,.input-group .input-group-addon:focus,.input-group .input-group-btn:focus{z-index:99}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects;color:#5764c6;text-decoration:underline}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline dotted;text-decoration:underline}.breadcrumb .breadcrumb-item a,.btn,.chip-sm,.menu .menu-item,.menu .menu-item a,.tab .tab-item a{text-decoration:none}b,strong{font-weight:bolder}dfn{font-style:italic}h1{margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.btn,.chip .chip-content,.chip-sm .chip-name,.label,.text-clip,.text-ellipsis,code{white-space:nowrap}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*,::after,::before{box-sizing:inherit}html{font-size:10px;line-height:1.42857143;-webkit-tap-highlight-color:transparent}body{margin:0;background:#fff;color:#333;font-family:"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic Pro",Meiryo,"Malgun Gothic",sans-serif;font-size:1.4rem;overflow-x:hidden}a:focus,a:hover{color:#283176}.disabled,[disabled]{cursor:default;opacity:.75;pointer-events:none}.btn,.form-switch,.hand{cursor:pointer}.btn .icon,.menu .icon,.toast .icon{font-size:1.3333em;line-height:.8em;margin-right:.2rem;vertical-align:-20%}pre,pre code{line-height:1.8rem}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:300;line-height:1.1;margin-bottom:1.5rem;margin-top:2.5rem}h1{font-size:5rem}h2{font-size:4rem}h3{font-size:3rem}h4{font-size:2.4rem}h5{font-size:2rem}h6{font-size:1.6rem}p{margin:0 0 1rem}blockquote{border-left:.2rem solid #ddd;margin-left:0;padding:1rem 2rem}blockquote cite{color:#b3b3b3}ol,ul{margin:2rem 0 2rem 2rem;padding:0}ol ol,ol ul,ul ol,ul ul{margin:1.5rem 0 1.5rem 2rem}ul{list-style:disc inside}ul ul{list-style-type:circle}ol{list-style:decimal inside}ol ol{list-style-type:lower-alpha}dl dt{font-weight:700}dl dd{margin:.5rem 0 1.5rem}.lead{font-size:120%}.highlight,code,mark{border-radius:.2rem;display:inline;font-size:1em;padding:.1em .3em;vertical-align:baseline}.highlight,mark{background:#ffe5a3}pre{background:#f9f9f9;border-left:.2rem solid #5764c6;margin-bottom:1em;margin-top:1em;padding:1.5rem}code{background:#efefef}.btn,.form-select{vertical-align:middle}pre code{background:0 0;border-left:0;margin-top:0}.btn,.form-input{line-height:1.6rem;-webkit-appearance:none;outline:0}.img-responsive{display:block;height:auto;max-width:100%}.video-responsive{height:0;overflow:hidden;padding-bottom:56.25%;padding-top:3rem;position:relative}.video-responsive embed,.video-responsive iframe,.video-responsive object{height:100%;left:0;position:absolute;top:0;width:100%}.video-responsive video{height:auto;max-width:100%;width:100%}.video-responsive-4-3{padding-bottom:75%}.table{border-collapse:collapse;border-spacing:0;width:100%}.table.table-striped tbody tr:nth-of-type(odd){background:#fcfcfc}.table.table-hover tbody tr:hover{background:#f4f4f4}.table.table-hover tbody tr.selected{background:#f2f2f2}.table td,.table th{border-bottom:.1rem solid #efefef;padding:1.5rem 1rem;text-align:left}.btn,.empty{text-align:center}.table th{border-color:#c9c9c9}.btn{background:#fff;border:.1rem solid #5764c6;border-radius:.3rem;color:#5764c6;display:inline-block;font-size:1.4rem;height:3.2rem;padding:.7rem 1.5rem;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus{background:#f3f4fb}.btn:hover{background:#5764c6;border-color:#4452c0;color:#fff}.btn.active,.btn:active{background:#4452c0;border-color:#3b49af;color:#fff}.btn.btn-primary{background:#5764c6;border-color:#4452c0;color:#fff}.btn.btn-primary:focus{background:#4f5dc3}.btn.btn-primary:hover{background:#4452c0;border-color:#3b49af;color:#fff}.btn.btn-primary.active,.btn.btn-primary:active{background:#3b49af;border-color:#35419c;color:#fff}.btn.btn-primary.loading::after{border-color:transparent transparent #fff #fff}.btn.btn-link{background:0 0;border-color:transparent;color:#5764c6}.btn.btn-link:focus,.btn.btn-link:hover{color:#35419c}.btn.btn-link.active,.btn.btn-link:active{color:#283176}.btn.btn-sm{border-radius:.2rem;font-size:1.2rem;height:2.4rem;line-height:1.4rem;padding:.4rem 1rem}.btn.btn-lg{border-radius:.4rem;font-size:1.8rem;height:4.2rem;line-height:2rem;padding:1rem 1.8rem}.btn.btn-block{display:block;width:100%}.btn.btn-clear{background:0 0;border:0;color:#666;height:2rem;margin-left:.3rem;opacity:.45;padding:0}.btn.btn-clear:hover{opacity:.85}.btn.btn-clear::before{content:"\00d7";font-size:2rem}.btn-group{display:inline-flex;display:-ms-inline-flexbox;display:-webkit-inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.btn-group .btn{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.btn-group .btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0;margin-left:-.1rem}.btn-group .btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.1rem}.btn-group.btn-group-block{display:flex;display:-ms-flexbox;display:-webkit-flex}.form-group:not(:last-child){margin-bottom:1rem}.form-input{background:#fff;border:.1rem solid #c5c5c5;border-radius:.3rem;color:#333;display:block;font-size:1.4rem;height:3.2rem;max-width:100%;padding:.7rem .8rem;position:relative;width:100%}.form-input:focus{border-color:#5764c6}.form-input[disabled]{background:#eeeff2}.form-input.input-sm{border-radius:.2rem;font-size:1.2rem;height:2.4rem;padding:.3rem .6rem}.form-input.input-lg{border-radius:.4rem;font-size:1.6rem;height:4.2rem;line-height:2rem;padding:1rem .8rem}.form-input.input-inline{display:inline-block;vertical-align:middle;width:auto}textarea.form-input{height:auto;line-height:2rem}.form-input.is-success,.has-success .form-input{border-color:#32b643}.form-input.is-danger,.has-danger .form-input{border-color:#e85600}.form-label{display:block;line-height:1.6rem;margin-bottom:.5rem}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.1rem solid #c5c5c5;border-radius:.3rem;font-size:1.4rem;line-height:1.6rem;outline:0;padding:.5rem .8rem}.form-select:not([multiple]){background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) right .75rem center/.8rem 1rem no-repeat #fff;height:3.2rem;padding-right:2.4rem}.form-select:focus{border-color:#5764c6}.form-select::-ms-expand{display:none}.form-select.select-sm{border-radius:.2rem;font-size:1.2rem;height:2.4rem;padding:.4rem 2rem .4rem .6rem}.form-select.select-lg{font-size:1.6rem;height:4.2rem;line-height:2rem;padding:1rem 2.4rem 1rem .8rem}.form-checkbox input,.form-radio input,.form-switch input{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px}.form-checkbox input:focus+.form-icon,.form-radio input:focus+.form-icon,.form-switch input:focus+.form-icon{box-shadow:0 0 .3rem .1rem #efefef}.form-checkbox,.form-radio{cursor:pointer;display:inline-block;line-height:1.8rem;padding:.3rem 2rem;position:relative}.form-checkbox .form-icon,.form-radio .form-icon{border:.1rem solid #c5c5c5;display:inline-block;font-size:1.4rem;height:1.4rem;left:0;line-height:2.4rem;outline:0;padding:0;position:absolute;top:.5rem;transition:all .15s ease;vertical-align:top;width:1.4rem}.form-checkbox input:checked+.form-icon::after,.form-checkbox input:indeterminate+.form-icon::after,.form-radio input:checked+.form-icon::after{left:50%;position:absolute;top:50%;content:""}.form-checkbox:hover .form-icon,.form-radio:hover .form-icon{border-color:#9f9f9f}.form-checkbox input:checked+.form-icon,.form-checkbox input:indeterminate+.form-icon,.form-radio input:checked+.form-icon,.form-radio input:indeterminate+.form-icon{background:#5764c6;border-color:#5764c6}.form-checkbox .form-icon{border-radius:.2rem}.form-checkbox input:checked+.form-icon::after{background-clip:padding-box;border:.2rem solid #fff;border-left-width:0;border-top-width:0;height:1rem;margin-left:-.3rem;margin-top:-.6rem;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:.6rem}.form-checkbox input:indeterminate+.form-icon::after{background:#fff;height:.2rem;margin-left:-.4rem;margin-top:-.1rem;width:.8rem}.form-radio .form-icon{border-radius:.7rem}.form-radio input:checked+.form-icon::after{background:#fff;border-radius:.2rem;height:.4rem;margin-left:-.2rem;margin-top:-.2rem;width:.4rem}.form-switch{display:inline-block;line-height:1.8rem;padding:.3rem 2rem .3rem 3.6rem;position:relative}.form-switch .form-icon{background:#c5c5c5;background-clip:padding-box;border:.1rem solid #c5c5c5;border-radius:.9rem;display:inline-block;height:1.6rem;left:0;line-height:2.4rem;outline:0;padding:0;position:absolute;top:.4rem;vertical-align:top;width:2.6rem}.form-switch .form-icon::after{background:#fff;border-radius:.8rem;content:"";display:block;height:1.4rem;left:0;position:absolute;top:0;transition:left .15s ease;width:1.4rem}.form-switch input:checked+.form-icon{background:#5764c6;border-color:#5764c6}.form-switch input:checked+.form-icon::after{left:1rem}.input-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.input-group .input-group-addon{background:#f9f9f9;border:.1rem solid #c5c5c5;border-radius:.3rem;line-height:1.6rem;padding:.7rem .8rem}.input-group .input-group-addon.addon-sm{font-size:1.2rem;padding:.3rem .6rem}.input-group .input-group-addon.addon-lg{font-size:1.6rem;line-height:2rem;padding:1rem .8rem}.input-group .input-group-addon,.input-group .input-group-btn{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.input-group .form-input:first-child:not(:last-child),.input-group .input-group-addon:first-child:not(:last-child),.input-group .input-group-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group .form-input:not(:first-child):not(:last-child),.input-group .input-group-addon:not(:first-child):not(:last-child),.input-group .input-group-btn:not(:first-child):not(:last-child){border-radius:0;margin-left:-.1rem}.input-group .form-input:last-child:not(:first-child),.input-group .input-group-addon:last-child:not(:first-child),.input-group .input-group-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.1rem}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;width:100%}@media screen and (min-width:980px){.grid-960{width:98rem}}@media screen and (min-width:500px){.grid-480{width:50rem}}.columns{display:flex;display:-ms-flexbox;display:-webkit-flex;margin-left:-1rem;margin-right:-1rem}.columns.col-gapless{margin-left:0;margin-right:0}.columns.col-gapless .column{padding-left:0;padding-right:0}.column,.form-horizontal{padding:1rem}.columns.col-multiline{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.column{-webkit-flex:1;-ms-flex:1;flex:1}.column.col-1,.column.col-10,.column.col-11,.column.col-12,.column.col-2,.column.col-3,.column.col-4,.column.col-5,.column.col-6,.column.col-7,.column.col-8,.column.col-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-12{width:100%}.col-11{width:91.66666667%}.col-10{width:83.33333333%}.col-9{width:75%}.col-8{width:66.66666667%}.col-7{width:58.33333333%}.col-6{width:50%}.col-5{width:41.66666667%}.col-4{width:33.33333333%}.col-3{width:25%}.col-2{width:16.66666667%}.col-1{width:8.33333333%}@media screen and (max-width:960px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}}@media screen and (max-width:840px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}}@media screen and (max-width:600px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}}@media screen and (max-width:480px){.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}}.chip,.chip-sm{-webkit-align-items:center}.form-horizontal .form-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.form-horizontal .form-label{margin-bottom:0;padding:.8rem .4rem}.form-horizontal .form-checkbox,.form-horizontal .form-radio{margin:.5rem 0}@media screen and (max-width:480px){.hide-xs{display:none!important}}@media screen and (max-width:600px){.hide-sm{display:none!important}}@media screen and (max-width:840px){.hide-md{display:none!important}}@media screen and (max-width:960px){.hide-lg{display:none!important}}@media screen and (max-width:1280px){.hide-xl{display:none!important}}.empty{background:#f8f8f8;border-radius:.3rem;padding:4rem}.avatar,.avatar img{border-radius:50%;position:relative}.empty .empty-title{font-size:1.8rem;margin:1.5rem 0 .5rem}.empty .empty-meta{color:#888}.empty .empty-action{margin-top:1.5rem}.avatar{display:inline-block;font-size:1.4rem;font-weight:300;height:3.2rem;line-height:1;margin:0;vertical-align:middle;width:3.2rem}.avatar.avatar-xs{font-size:.8rem;height:1.6rem;width:1.6rem}.avatar.avatar-sm{font-size:1rem;height:2.4rem;width:2.4rem}.avatar.avatar-lg{font-size:2rem;height:4.8rem;width:4.8rem}.avatar.avatar-xl{font-size:2.6rem;height:6.4rem;width:6.4rem}.avatar img{height:100%;width:100%;z-index:99}.avatar .avatar-icon{background:#fff;bottom:-.2em;height:50%;padding:5%;position:absolute;right:-.2em;width:50%}.avatar[data-initial]::after{color:#fff;content:attr(data-initial);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:0}@-webkit-keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes slide-down{0%{margin-top:-3rem;opacity:0}100%{margin-top:0;opacity:1}}@keyframes slide-down{0%{margin-top:-3rem;opacity:0}100%{margin-top:0;opacity:1}}.form-autocomplete{position:relative}.form-autocomplete .form-autocomplete-input{background:#fff;border:.1rem solid #c5c5c5;border-radius:.3rem;color:#333;display:block;font-size:1.4rem;line-height:1.6rem;max-width:100%;min-height:3.2rem;outline:0;padding:.3rem .3rem 0;width:100%}.form-autocomplete .form-autocomplete-input .chip-sm{margin-bottom:.3rem}.form-autocomplete .form-autocomplete-input .form-input{background:#fff;border-color:transparent;display:inline-block;height:2.4rem;margin-bottom:.3rem;padding:.3rem;vertical-align:top;width:auto}.form-autocomplete .form-autocomplete-list{background:#fff;border:.1rem solid #d2d2d2;border-radius:.3rem;box-shadow:0 .1rem .2rem rgba(0,0,0,.15);display:block;height:auto;left:0;margin:.3rem 0 0;padding:.5rem;position:absolute;top:100%;width:100%;z-index:1988}.menu,.modal-container,.shadow{box-shadow:0 .1rem .4rem rgba(0,0,0,.3)}.form-autocomplete .form-autocomplete-item{border-radius:.3rem;display:block;margin-top:.1rem;padding:.2rem 1rem}.form-autocomplete .form-autocomplete-item:focus,.form-autocomplete .form-autocomplete-item:hover{background:#fff}.form-autocomplete .form-autocomplete-item.active{background:#eff1fa}.badge{position:relative}.badge[data-badge]::after{background:#5764c6;background-clip:padding-box;border:.1rem solid #fff;border-radius:1rem;color:#fff;content:attr(data-badge);display:inline-block;font-size:1.1rem;height:1.8rem;line-height:1.2rem;min-width:1.8rem;padding:.2rem .5rem;text-align:center;-webkit-transform:translate(-.2rem,-.8rem);-ms-transform:translate(-.2rem,-.8rem);transform:translate(-.2rem,-.8rem);white-space:nowrap}.card,.menu{display:block;z-index:999}.card,.menu,.text-left{text-align:left}.card{background:#fff;border:.1rem solid #efefef;border-radius:.3rem;margin:0;padding:0}.card .card-body,.card .card-footer,.card .card-header{padding:1.5rem 1.5rem 0}.card .card-body:last-child,.card .card-footer:last-child,.card .card-header:last-child{padding-bottom:1.5rem}.card .card-image{padding-top:1.5rem}.card .card-image:first-child{padding-top:0}.card .card-image:first-child img{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.card .card-image:last-child img{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.card .card-title{font-size:1.4em;line-height:1;margin-bottom:.5rem;margin-top:0}.card .card-meta{color:#b3b3b3;font-size:1em;margin-bottom:0;margin-top:0}.chip{-webkit-align-content:space-around;align-content:space-around;align-items:center;border:.1rem solid transparent;border-radius:.3rem;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:center;-ms-flex-line-pack:distribute;list-style:none;margin:0;padding:.5rem 0}.chip .chip-icon{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.chip .chip-content{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden;padding:0 1rem;text-overflow:ellipsis}.chip .chip-action{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.chip .chip-title{font-size:1.4rem}.chip .chip-meta{color:#b3b3b3;font-size:1.2rem}.chip-sm{align-items:center;background:#eff1fa;border-radius:.3rem;color:#666;display:-ms-inline-flexbox;display:inline-flex;display:-webkit-inline-flex;-ms-flex-align:center;font-size:1.2rem;height:2.4rem;max-width:100%;padding:.3rem .6rem;vertical-align:middle}.chip-sm:focus,.chip-sm:hover{background:#e8eaf7}.chip-sm .btn-clear{margin-top:-.2rem}.chip-sm .btn-clear::before{color:#3b49af;font-size:1.6rem}.chip-sm.selected{background:#5764c6;color:#fff}.chip-sm.selected .btn-clear::before{color:#eff1fa}.chip-sm .chip-name{margin-left:.4rem;overflow:hidden;text-overflow:ellipsis}.chip-sm .avatar{font-size:.8rem;height:1.6rem;width:1.6rem}.label{background:#efefef;border-radius:.2rem;color:#666;display:inline;font-size:1em;padding:.1em .3em;vertical-align:baseline}.menu,.menu .menu-item,.menu .menu-item a,.modal-container,.tooltip::after{border-radius:.3rem}.label.label-primary{background:#5764c6;border-color:#4f5dc3;color:#fff}.label.label-primary a{color:#fff}.label.label-primary a:active,.label.label-primary a:focus,.label.label-primary a:hover{opacity:.75}.menu{background:#fff;margin:0;padding:.5rem}.menu .menu-header,.menu .menu-item,.menu .menu-item a{display:block;padding:.2rem 1rem}.menu .menu-item{color:#333;line-height:2.4rem;margin-top:.1rem;-moz-user-select:none;-ms-user-select:none;user-select:none}.menu .menu-item a{color:inherit;margin:-.2rem -1rem}.menu .menu-item a:focus,.menu .menu-item a:hover{color:#5764c6}.menu .menu-item a.active,.menu .menu-item a:active{background:#eff1fa;color:#4452c0}.menu .menu-header{color:#ccc;font-size:1.2rem;line-height:1.8rem;margin-top:0}.menu .menu-header .menu-header-text{background:#fff;display:inline-block;margin-left:-.6rem;padding:0 .6rem;position:relative;z-index:99}.menu .menu-header::after{border-bottom:.1rem solid #efefef;content:"";display:block;height:.1rem;-webkit-transform:translateY(-1rem);-ms-transform:translateY(-1rem);transform:translateY(-1rem);width:100%}.modal{-webkit-align-items:center;align-items:center;bottom:0;display:none;-ms-flex-align:center;-ms-flex-pack:center;-ms-grid-row-align:center;-webkit-justify-content:center;justify-content:center;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0}.modal.active{display:flex;display:-ms-flexbox;display:-webkit-flex;opacity:1;z-index:1988}.toast.toast-danger a:active,.toast.toast-danger a:focus,.toast.toast-danger a:hover,.toast.toast-primary a:active,.toast.toast-primary a:focus,.toast.toast-primary a:hover,.toast.toast-success a:active,.toast.toast-success a:focus,.toast.toast-success a:hover{opacity:.75}.modal.active .modal-overlay{background:rgba(0,0,0,.75);bottom:0;display:block;left:0;position:absolute;right:0;top:0}.modal.active .modal-container{-webkit-animation:slide-down .216s;animation:slide-down .216s}.modal-container{-webkit-animation:slide-up .216s;animation:slide-up .216s;background:#fff;display:block;margin:0 auto;padding:0;text-align:left;z-index:1988}.modal-container .modal-header{padding:1.5rem}.modal-container .modal-header .modal-title{font-size:1.5rem;margin:0}.modal-container .modal-body{max-height:50vh;overflow-y:auto;padding:1.5rem;position:relative}.modal-container .modal-footer{padding:1.5rem;text-align:right}@media screen and (min-width:640px){.modal-container{width:64rem}}@media screen and (min-width:320px){.modal-sm .modal-container{width:32rem}}.breadcrumb,.pagination,.tab{list-style:none;margin:.5rem 0}.breadcrumb{padding:1.2rem}.breadcrumb .breadcrumb-item{display:inline-block;margin:0}.breadcrumb .breadcrumb-item:last-child,.breadcrumb .breadcrumb-item:last-child a{color:#666;pointer-events:none}.breadcrumb .breadcrumb-item:not(:last-child)::after{color:#c5c5c5;content:"/";padding:0 .4rem}.tab{border-bottom:.1rem solid #c5c5c5;display:flex;display:-ms-flexbox;display:-webkit-flex}.tab .tab-item{margin-bottom:-.1rem;margin-top:0}.tab .tab-item a{border-bottom:.2rem solid transparent;color:#333;display:block;padding:.5rem 1.5rem}.pagination,.pagination .page-item,.pagination .page-item a{display:inline-block}.tab .tab-item a:focus,.tab .tab-item a:hover{border-bottom-color:#5764c6;color:#5764c6}.tab .tab-item.active a{border-bottom-color:#3b49af;color:#3b49af}.tab.tab-block .tab-item{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;text-align:center}.tab.tab-block .tab-item .badge[data-badge]::after{position:absolute;right:1.5rem;top:.6rem;-webkit-transform:translate(50%,-.8rem);-ms-transform:translate(50%,-.8rem);transform:translate(50%,-.8rem)}.pagination{padding:1.2rem}.pagination .page-item span{display:inline-block;padding:.6rem .5rem}.pagination .page-item a{border-radius:.3rem;margin:0 .1rem;padding:.6rem 1.2rem;text-decoration:none}.pagination .page-item a:focus,.pagination .page-item a:hover{background:#eff1fa}.pagination .page-item.active a{background:#5764c6;color:#fff}.toast{background:#efefef;border:.1rem solid #eaeaea;border-radius:.3rem;color:#666;display:block;padding:1.4rem;width:100%}.toast.toast-danger,.toast.toast-danger .btn-clear,.toast.toast-danger a,.toast.toast-primary .btn-clear,.toast.toast-primary a,.toast.toast-success,.toast.toast-success .btn-clear,.toast.toast-success a,.tooltip::after{color:#fff}.toast.toast-primary{background:#5764c6;border-color:#4f5dc3;color:#fff}.toast.toast-success{background:#32b643;border-color:#30ae40}.toast.toast-danger{background:#e85600;border-color:#de5200}.tooltip{position:relative}.tooltip::after{background:rgba(51,51,51,.9);bottom:100%;content:attr(data-tooltip);display:block;font-size:1.2rem;left:50%;line-height:1.6rem;max-width:32rem;opacity:0;overflow:hidden;padding:.6rem 1rem;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);transition:all .216s ease;z-index:99}.tooltip:focus::after,.tooltip:hover::after{opacity:1;-webkit-transform:translate(-50%,-.5rem);-ms-transform:translate(-50%,-.5rem);transform:translate(-50%,-.5rem)}.tooltip.disabled,.tooltip[disabled]{pointer-events:auto}.tooltip.tooltip-right::after{bottom:50%;left:100%;-webkit-transform:translate(0,50%);-ms-transform:translate(0,50%);transform:translate(0,50%)}.tooltip.tooltip-right:focus::after,.tooltip.tooltip-right:hover::after{-webkit-transform:translate(.5rem,50%);-ms-transform:translate(.5rem,50%);transform:translate(.5rem,50%)}.tooltip.tooltip-bottom::after{bottom:auto;top:100%;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}.tooltip.tooltip-bottom:focus::after,.tooltip.tooltip-bottom:hover::after{-webkit-transform:translate(-50%,.5rem);-ms-transform:translate(-50%,.5rem);transform:translate(-50%,.5rem)}.tooltip.tooltip-left::after{bottom:50%;left:auto;right:100%;-webkit-transform:translate(0,50%);-ms-transform:translate(0,50%);transform:translate(0,50%)}.tooltip.tooltip-left:focus::after,.tooltip.tooltip-left:hover::after{-webkit-transform:translate(-.5rem,50%);-ms-transform:translate(-.5rem,50%);transform:translate(-.5rem,50%)}.clearfix::after,.container::after{clear:both;content:"";display:table}.block,.centered{display:block}.float-left{float:left!important}.float-right{float:right!important}.rel{position:relative}.abs{position:absolute}.fixed{position:fixed}.centered{float:none;margin-left:auto;margin-right:auto}.mr-10{margin-right:1rem}.mb-10{margin-bottom:1rem}.ml-10{margin-left:1rem}.mt-5{margin-top:.5rem}.mr-5{margin-right:.5rem}.mb-5{margin-bottom:.5rem}.ml-5{margin-left:.5rem}.pt-10{padding-top:1rem}.pr-10{padding-right:1rem}.pb-10{padding-bottom:1rem}.pl-10{padding-left:1rem}.pt-5{padding-top:.5rem}.pr-5{padding-right:.5rem}.pb-5{padding-bottom:.5rem}.pl-5{padding-left:.5rem}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex;display:-ms-flexbox;display:-webkit-flex}.inline-flex{display:inline-flex;display:-ms-inline-flexbox;display:-webkit-inline-flex}.hide{display:none!important}.visible{visibility:visible}.invisible{visibility:hidden}.text-hide{background:0 0;border:0;color:transparent;font:0/0 a;text-shadow:none}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-normal{font-weight:400}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-ellipsis{overflow:hidden;text-overflow:ellipsis}.text-clip{overflow:hidden;text-overflow:clip}.text-break{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word}.light-shadow{box-shadow:0 .1rem .2rem rgba(0,0,0,.15)}.rounded{border-radius:.3rem}.circle{border-radius:50%}.divider{border-bottom:.1rem solid #efefef;display:block;margin:.5rem}.loading{color:transparent!important;min-height:1.6rem;pointer-events:none;position:relative}.loading::after{-webkit-animation:loading .5s infinite linear;animation:loading .5s infinite linear;border:.2rem solid #5764c6;border-radius:.8rem;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1.6rem;left:50%;margin-left:-.8rem;margin-top:-.8rem;position:absolute;top:50%;width:1.6rem} \ No newline at end of file
+/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */progress,sub,sup{vertical-align:baseline}button,hr,input{overflow:visible}html,legend{box-sizing:border-box}pre,textarea{overflow:auto}blockquote p:last-child,pre code{margin-bottom:0}.btn,.menu .menu-item{-webkit-user-select:none}.btn-group .btn.active,.btn-group .btn:active,.btn-group .btn:focus,.btn-group .btn:hover,.input-group .form-input:focus,.input-group .input-group-addon:focus,.input-group .input-group-btn:focus{z-index:99}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects;color:#5764c6;text-decoration:underline}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline dotted;text-decoration:underline}.breadcrumb .breadcrumb-item a,.btn,.chip-sm,.menu .menu-item,.menu .menu-item a,.tab .tab-item a{text-decoration:none}b,strong{font-weight:bolder}dfn{font-style:italic}h1{margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.btn,.chip .chip-content,.chip-sm .chip-name,.label,code{white-space:nowrap}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*,::after,::before{box-sizing:inherit}html{font-size:10px;line-height:1.42857143;-webkit-tap-highlight-color:transparent}body{margin:0;background:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic Pro",Meiryo,"Malgun Gothic","Helvetica Neue",sans-serif;font-size:1.4rem;overflow-x:hidden}a:focus,a:hover{color:#283176}.disabled,[disabled]{cursor:default;opacity:.75;pointer-events:none}.btn,.form-switch,.hand{cursor:pointer}.btn .icon,.menu .icon,.toast .icon{font-size:1.3333em;line-height:.8em;margin-right:.2rem;vertical-align:-20%}pre,pre code{line-height:1.8rem}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:300;line-height:1.1;margin-bottom:1.5rem;margin-top:2.5rem}h1{font-size:5rem}h2{font-size:4rem}h3{font-size:3rem}h4{font-size:2.4rem}h5{font-size:2rem}h6{font-size:1.6rem}p{margin:0 0 1rem}blockquote{border-left:.2rem solid #ddd;margin-left:0;padding:1rem 2rem}blockquote cite{color:#b3b3b3}ol,ul{margin:2rem 0 2rem 2rem;padding:0}ol ol,ol ul,ul ol,ul ul{margin:1.5rem 0 1.5rem 2rem}ol li,ul li{margin-top:1rem}ul{list-style:disc inside}ul ul{list-style-type:circle}ol{list-style:decimal inside}ol ol{list-style-type:lower-alpha}dl dt{font-weight:700}dl dd{margin:.5rem 0 1.5rem}.lead{font-size:120%}.highlight,code,mark{border-radius:.2rem;display:inline;font-size:1em;padding:.1em .3em;vertical-align:baseline}.highlight,mark{background:#ffe5a3}pre{background:#f9f9f9;border-left:.2rem solid #e2e2e2;margin-bottom:1em;margin-top:1em;padding:1.5rem 2.5rem}code{background:#efefef}.btn,.form-select{vertical-align:middle}pre code{background:0 0;border-left:0;margin-top:0}.btn,.form-input{line-height:1.6rem;-webkit-appearance:none;outline:0}.table{border-collapse:collapse;border-spacing:0;width:100%}.table.table-striped tbody tr:nth-of-type(odd){background:#fcfcfc}.table.table-hover tbody tr:hover{background:#f4f4f4}.table.table-hover tbody tr.selected{background:#f2f2f2}.table td,.table th{border-bottom:.1rem solid #efefef;padding:1.5rem 1rem;text-align:left}.btn,.empty{text-align:center}.table th{border-color:#c9c9c9}.btn{background:#fff;border:.1rem solid #5764c6;border-radius:.3rem;color:#5764c6;display:inline-block;font-size:1.4rem;height:3.2rem;padding:.7rem 1.5rem;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus{background:#f3f4fb}.btn:hover{background:#5764c6;border-color:#4452c0;color:#fff}.btn.active,.btn:active{background:#4452c0;border-color:#3b49af;color:#fff}.btn.btn-primary{background:#5764c6;border-color:#4452c0;color:#fff}.btn.btn-primary:focus{background:#4856c1;border-color:#3b49af;color:#fff}.btn.btn-primary:hover{background:#404fbe;border-color:#35419c;color:#fff}.btn.btn-primary.active,.btn.btn-primary:active{background:#3e4cb6;border-color:#35419c;color:#fff}.btn.btn-primary.loading::after{border-color:transparent transparent #fff #fff}.btn.btn-link{background:0 0;border-color:transparent;color:#5764c6}.btn.btn-link:focus,.btn.btn-link:hover{background:#f4f4f4;color:#35419c}.btn.btn-link.active,.btn.btn-link:active{background:#efefef;color:#283176}.btn.btn-sm{border-radius:.2rem;font-size:1.2rem;height:2.4rem;line-height:1.4rem;padding:.4rem 1rem}.btn.btn-lg{border-radius:.4rem;font-size:1.8rem;height:4.2rem;line-height:2rem;padding:1rem 1.8rem}.btn.btn-block{display:block;width:100%}.btn.btn-clear{background:0 0;border:0;color:#666;height:2rem;margin-left:.3rem;opacity:.45;padding:0}.btn.btn-clear:hover{opacity:.85}.btn.btn-clear::before{content:"\00d7";font-size:2rem}.btn-group{display:inline-flex;display:-ms-inline-flexbox;display:-webkit-inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.btn-group .btn{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.btn-group .btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0;margin-left:-.1rem}.btn-group .btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.1rem}.btn-group.btn-group-block{display:flex;display:-ms-flexbox;display:-webkit-flex}.form-group:not(:last-child){margin-bottom:1rem}.form-input{background:#fff;border:.1rem solid #c5c5c5;border-radius:.3rem;color:#333;display:block;font-size:1.4rem;height:3.2rem;max-width:100%;padding:.7rem .8rem;position:relative;width:100%}.form-input:focus{border-color:#5764c6}.form-input[disabled]{background:#eeeff2}.form-input.input-sm{border-radius:.2rem;font-size:1.2rem;height:2.4rem;padding:.3rem .6rem}.form-input.input-lg{border-radius:.4rem;font-size:1.6rem;height:4.2rem;line-height:2rem;padding:1rem .8rem}.form-input.input-inline{display:inline-block;vertical-align:middle;width:auto}textarea.form-input{height:auto;line-height:2rem}.form-input.is-success,.has-success .form-input{border-color:#32b643}.form-input.is-danger,.has-danger .form-input{border-color:#e85600}.form-input-hint{color:#888;display:inline-block;margin-top:.4rem}.has-success .form-input-hint,.is-success+.form-input-hint{color:#32b643}.has-danger .form-input-hint,.is-danger+.form-input-hint{color:#e85600}.form-label{display:block;line-height:1.6rem;margin-bottom:.5rem}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.1rem solid #c5c5c5;border-radius:.3rem;font-size:1.4rem;line-height:1.6rem;outline:0;padding:.5rem .8rem}.form-select:not([multiple]){background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) right .75rem center/.8rem 1rem no-repeat #fff;height:3.2rem;padding-right:2.4rem}.form-select:focus{border-color:#5764c6}.form-select::-ms-expand{display:none}.form-select.select-sm{border-radius:.2rem;font-size:1.2rem;height:2.4rem;padding:.4rem 2rem .4rem .6rem}.form-select.select-lg{font-size:1.6rem;height:4.2rem;line-height:2rem;padding:1rem 2.4rem 1rem .8rem}.form-checkbox input,.form-radio input,.form-switch input{clip:rect(0,0,0,0);height:.1rem;margin:-.1rem;overflow:hidden;position:absolute;width:.1rem}.form-checkbox,.form-radio{cursor:pointer;display:inline-block;line-height:1.8rem;padding:.3rem 2rem;position:relative}.form-checkbox .form-icon,.form-radio .form-icon{border:.1rem solid #c5c5c5;display:inline-block;font-size:1.4rem;height:1.4rem;left:0;line-height:2.4rem;outline:0;padding:0;position:absolute;top:.5rem;transition:all .15s ease;vertical-align:top;width:1.4rem}.form-checkbox input:checked+.form-icon::after,.form-checkbox input:indeterminate+.form-icon::after,.form-radio input:checked+.form-icon::after{left:50%;position:absolute;top:50%;content:""}.form-checkbox:hover .form-icon,.form-radio:hover .form-icon{border-color:#929292}.form-checkbox input:focus+.form-icon,.form-radio input:focus+.form-icon{border-color:#5764c6}.form-checkbox input:checked+.form-icon,.form-radio input:checked+.form-icon{background:#5764c6;border-color:#5764c6}.form-checkbox input:active+.form-icon,.form-radio input:active+.form-icon{background:#efefef}.form-checkbox .form-icon{border-radius:.2rem}.form-checkbox input:checked+.form-icon::after{background-clip:padding-box;border:.2rem solid #fff;border-left-width:0;border-top-width:0;height:1rem;margin-left:-.3rem;margin-top:-.6rem;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:.6rem}.form-checkbox input:indeterminate+.form-icon{background:#5764c6;border-color:#5764c6}.form-checkbox input:indeterminate+.form-icon::after{background:#fff;height:.2rem;margin-left:-.4rem;margin-top:-.1rem;width:.8rem}.form-radio .form-icon{border-radius:.7rem}.form-radio input:checked+.form-icon::after{background:#fff;border-radius:.2rem;height:.4rem;margin-left:-.2rem;margin-top:-.2rem;width:.4rem}.form-switch{display:inline-block;line-height:2rem;padding:.3rem 2rem .3rem 3.6rem;position:relative}.form-switch .form-icon{background:#c5c5c5;background-clip:padding-box;border:.1rem solid #c5c5c5;border-radius:.9rem;display:inline-block;height:1.8rem;left:0;line-height:2.6rem;outline:0;padding:0;position:absolute;top:.4rem;vertical-align:top;width:3rem}.form-switch .form-icon::after{background:#fff;border-radius:.8rem;content:"";display:block;height:1.6rem;left:0;position:absolute;top:0;transition:left .15s ease;width:1.6rem}.form-switch input:checked+.form-icon{background:#5764c6;border-color:#5764c6}.form-switch input:checked+.form-icon::after{left:1.2rem}.form-switch input:active+.form-icon::after{background:#efefef}.input-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.input-group .input-group-addon{background:#f9f9f9;border:.1rem solid #c5c5c5;border-radius:.3rem;line-height:1.6rem;padding:.7rem .8rem}.input-group .input-group-addon.addon-sm{font-size:1.2rem;padding:.3rem .6rem}.input-group .input-group-addon.addon-lg{font-size:1.6rem;line-height:2rem;padding:1rem .8rem}.input-group .input-group-addon,.input-group .input-group-btn{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.input-group .form-input:first-child:not(:last-child),.input-group .input-group-addon:first-child:not(:last-child),.input-group .input-group-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group .form-input:not(:first-child):not(:last-child),.input-group .input-group-addon:not(:first-child):not(:last-child),.input-group .input-group-btn:not(:first-child):not(:last-child){border-radius:0;margin-left:-.1rem}.input-group .form-input:last-child:not(:first-child),.input-group .input-group-addon:last-child:not(:first-child),.input-group .input-group-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.1rem}.label{background:#efefef;border-radius:.2rem;color:#666;display:inline;font-size:1em;padding:.1em .3em;vertical-align:baseline}.avatar,.chip-sm{vertical-align:middle}.label.label-primary{background:#5764c6;border-color:#4f5dc3;color:#fff}.label.label-primary a{color:#fff}.label.label-primary a:active,.label.label-primary a:focus,.label.label-primary a:hover{opacity:.75}.img-responsive{display:block;height:auto;max-width:100%}.video-responsive{height:0;overflow:hidden;padding-bottom:56.25%;padding-top:3rem;position:relative}.video-responsive embed,.video-responsive iframe,.video-responsive object{height:100%;left:0;position:absolute;top:0;width:100%}.video-responsive video{height:auto;max-width:100%;width:100%}.video-responsive-4-3{padding-bottom:75%}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;width:100%}@media screen and (min-width:980px){.grid-960{width:98rem}}@media screen and (min-width:500px){.grid-480{width:50rem}}.columns{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-1rem;margin-right:-1rem}.columns.col-gapless{margin-left:0;margin-right:0}.columns.col-gapless .column{padding-left:0;padding-right:0}.column,.form-horizontal{padding:1rem}.columns.col-oneline{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto}.chip .chip-content,.chip-sm .chip-name,.tooltip::after{overflow:hidden;text-overflow:ellipsis}.column{-webkit-flex:1;-ms-flex:1;flex:1}.column.col-1,.column.col-10,.column.col-11,.column.col-12,.column.col-2,.column.col-3,.column.col-4,.column.col-5,.column.col-6,.column.col-7,.column.col-8,.column.col-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-12{width:100%}.col-11{width:91.66666667%}.col-10{width:83.33333333%}.col-9{width:75%}.col-8{width:66.66666667%}.col-7{width:58.33333333%}.col-6{width:50%}.col-5{width:41.66666667%}.col-4{width:33.33333333%}.col-3{width:25%}.col-2{width:16.66666667%}.col-1{width:8.33333333%}@media screen and (max-width:960px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}}@media screen and (max-width:840px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}}@media screen and (max-width:600px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}}.form-horizontal .form-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.form-horizontal .form-label{margin-bottom:0;padding:.8rem .4rem}.form-horizontal .form-checkbox,.form-horizontal .form-radio{margin:.5rem 0}@media screen and (max-width:480px){.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.hide-xs{display:none!important}}@media screen and (max-width:600px){.hide-sm{display:none!important}}@media screen and (max-width:840px){.hide-md{display:none!important}}@media screen and (max-width:960px){.hide-lg{display:none!important}}@media screen and (max-width:1280px){.hide-xl{display:none!important}}.empty{background:#f8f8f8;border-radius:.3rem;padding:4rem}.avatar,.avatar img{border-radius:50%;position:relative}.empty .empty-title{font-size:1.8rem;margin:1.5rem 0 .5rem}.empty .empty-meta{color:#888}.empty .empty-action{margin-top:1.5rem}.avatar{display:inline-block;font-size:1.4rem;font-weight:300;height:3.2rem;line-height:1;margin:0;width:3.2rem}.avatar.avatar-xs{font-size:.8rem;height:1.6rem;width:1.6rem}.avatar.avatar-sm{font-size:1rem;height:2.4rem;width:2.4rem}.avatar.avatar-lg{font-size:2rem;height:4.8rem;width:4.8rem}.avatar.avatar-xl{font-size:2.6rem;height:6.4rem;width:6.4rem}.avatar img{height:100%;width:100%;z-index:99}.avatar .avatar-icon{background:#fff;bottom:-.2em;height:50%;padding:5%;position:absolute;right:-.2em;width:50%}.avatar[data-initial]::after{color:#fff;content:attr(data-initial);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:0}.chip{-webkit-align-content:space-around;align-content:space-around;-webkit-align-items:center;align-items:center;border:.1rem solid transparent;border-radius:.3rem;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:center;-ms-flex-line-pack:distribute;list-style:none;margin:0;padding:.5rem 0}.chip .chip-icon{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.chip .chip-content{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:0 1rem}.chip .chip-action{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.chip .chip-title{font-size:1.4rem}.chip .chip-meta{color:#b3b3b3;font-size:1.2rem}.chip-sm{-webkit-align-items:center;align-items:center;background:#eff1fa;border-radius:.3rem;color:#666;display:-ms-inline-flexbox;display:inline-flex;display:-webkit-inline-flex;-ms-flex-align:center;font-size:1.2rem;height:2.4rem;max-width:100%;padding:.3rem .6rem}.chip-sm:focus,.chip-sm:hover{background:#e8eaf7}.chip-sm .btn-clear{margin-top:-.2rem}.chip-sm .btn-clear::before{color:#3b49af;font-size:1.6rem}.chip-sm.selected{background:#5764c6;color:#fff}.chip-sm.selected .btn-clear::before{color:#eff1fa}.chip-sm .chip-name{margin-left:.4rem}.chip-sm .avatar{font-size:.8rem;height:1.6rem;width:1.6rem}.form-autocomplete{position:relative}.form-autocomplete .form-autocomplete-input{background:#fff;border:.1rem solid #c5c5c5;border-radius:.3rem;color:#333;display:block;font-size:1.4rem;line-height:1.6rem;max-width:100%;min-height:3.2rem;outline:0;padding:.3rem .3rem 0;width:100%}.form-autocomplete .form-autocomplete-input .chip-sm{margin-bottom:.3rem}.form-autocomplete .form-autocomplete-input .form-input{background:#fff;border-color:transparent;display:inline-block;height:2.4rem;margin-bottom:.3rem;padding:.3rem;vertical-align:top;width:auto}.form-autocomplete .form-autocomplete-list{background:#fff;border:.1rem solid #d2d2d2;border-radius:.3rem;box-shadow:0 .1rem .2rem rgba(0,0,0,.15);display:block;height:auto;left:0;margin:.3rem 0 0;padding:.5rem;position:absolute;top:100%;width:100%;z-index:1988}.menu,.modal-container,.shadow{box-shadow:0 .1rem .4rem rgba(0,0,0,.3)}.form-autocomplete .form-autocomplete-item{border-radius:.3rem;display:block;margin-top:.1rem;padding:.2rem 1rem}.form-autocomplete .form-autocomplete-item:focus,.form-autocomplete .form-autocomplete-item:hover{background:#fff}.form-autocomplete .form-autocomplete-item.active{background:#eff1fa}.tooltip{position:relative}.tooltip::after{background:rgba(51,51,51,.9);border-radius:.3rem;bottom:100%;color:#fff;content:attr(data-tooltip);display:block;font-size:1.2rem;left:50%;line-height:1.6rem;max-width:32rem;opacity:0;padding:.6rem 1rem;pointer-events:none;position:absolute;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);transition:all .216s ease;z-index:99}.tooltip:focus::after,.tooltip:hover::after{opacity:1;-webkit-transform:translate(-50%,-.5rem);-ms-transform:translate(-50%,-.5rem);transform:translate(-50%,-.5rem)}.toast.toast-danger a:active,.toast.toast-danger a:focus,.toast.toast-danger a:hover,.toast.toast-primary a:active,.toast.toast-primary a:focus,.toast.toast-primary a:hover,.toast.toast-success a:active,.toast.toast-success a:focus,.toast.toast-success a:hover{opacity:.75}.tooltip.disabled,.tooltip[disabled]{pointer-events:auto}.tooltip.tooltip-right::after{bottom:50%;left:100%;-webkit-transform:translate(0,50%);-ms-transform:translate(0,50%);transform:translate(0,50%)}.tooltip.tooltip-right:focus::after,.tooltip.tooltip-right:hover::after{-webkit-transform:translate(.5rem,50%);-ms-transform:translate(.5rem,50%);transform:translate(.5rem,50%)}.tooltip.tooltip-bottom::after{bottom:auto;top:100%;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}.tooltip.tooltip-bottom:focus::after,.tooltip.tooltip-bottom:hover::after{-webkit-transform:translate(-50%,.5rem);-ms-transform:translate(-50%,.5rem);transform:translate(-50%,.5rem)}.tooltip.tooltip-left::after{bottom:50%;left:auto;right:100%;-webkit-transform:translate(0,50%);-ms-transform:translate(0,50%);transform:translate(0,50%)}.tooltip.tooltip-left:focus::after,.tooltip.tooltip-left:hover::after{-webkit-transform:translate(-.5rem,50%);-ms-transform:translate(-.5rem,50%);transform:translate(-.5rem,50%)}.badge{position:relative}.badge[data-badge]::after{background:#5764c6;background-clip:padding-box;border:.1rem solid #fff;border-radius:1rem;color:#fff;content:attr(data-badge);display:inline-block;font-size:1.1rem;height:1.8rem;line-height:1.2rem;min-width:1.8rem;padding:.2rem .5rem;text-align:center;-webkit-transform:translate(-.2rem,-.8rem);-ms-transform:translate(-.2rem,-.8rem);transform:translate(-.2rem,-.8rem);white-space:nowrap}.menu,.toast{display:block}.toast{background:#efefef;border:.1rem solid #eaeaea;border-radius:.3rem;color:#666;padding:1.4rem;width:100%}.menu,.menu .menu-item,.menu .menu-item a,.modal-container{border-radius:.3rem}.toast.toast-danger,.toast.toast-danger .btn-clear,.toast.toast-danger a,.toast.toast-primary .btn-clear,.toast.toast-primary a,.toast.toast-success,.toast.toast-success .btn-clear,.toast.toast-success a{color:#fff}.toast.toast-primary{background:#5764c6;border-color:#4f5dc3;color:#fff}.toast.toast-success{background:#32b643;border-color:#30ae40}.toast.toast-danger{background:#e85600;border-color:#de5200}.menu{background:#fff;margin:0;padding:.5rem;text-align:left;z-index:999}.menu .menu-header,.menu .menu-item,.menu .menu-item a{display:block;padding:.2rem 1rem}.menu .menu-item{color:#333;line-height:2.4rem;margin-top:.1rem;-moz-user-select:none;-ms-user-select:none;user-select:none}.menu .menu-item a{color:inherit;margin:-.2rem -1rem}.menu .menu-item a:focus,.menu .menu-item a:hover{color:#5764c6}.menu .menu-item a.active,.menu .menu-item a:active{background:#eff1fa;color:#4452c0}.menu .menu-header{color:#ccc;font-size:1.2rem;line-height:1.8rem;margin-top:0}.menu .menu-header .menu-header-text{background:#fff;display:inline-block;margin-left:-.6rem;padding:0 .6rem;position:relative;z-index:99}.menu .menu-header::after{border-bottom:.1rem solid #efefef;content:"";display:block;height:.1rem;-webkit-transform:translateY(-1rem);-ms-transform:translateY(-1rem);transform:translateY(-1rem);width:100%}.breadcrumb,.pagination,.tab{list-style:none;margin:.5rem 0}.breadcrumb{padding:1.2rem}.breadcrumb .breadcrumb-item{display:inline-block;margin:0}.breadcrumb .breadcrumb-item:last-child,.breadcrumb .breadcrumb-item:last-child a{color:#666;pointer-events:none}.breadcrumb .breadcrumb-item:not(:last-child)::after{color:#c5c5c5;content:"/";padding:0 .4rem}.tab{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.tab .tab-item{border-bottom:.1rem solid #c5c5c5;margin-top:0}.tab .tab-item a{border-bottom:.2rem solid transparent;color:#333;display:block;margin-bottom:-.1rem;margin-top:0;padding:.8rem 1.4rem}.pagination,.pagination .page-item,.pagination .page-item a{display:inline-block}.tab .tab-item a:focus,.tab .tab-item a:hover{color:#5764c6}.tab .tab-item a.active,.tab .tab-item.active a{border-bottom-color:#3b49af;color:#3b49af}.tab .tab-item .badge[data-badge]::after{position:absolute;right:-1.4rem;top:1rem;-webkit-transform:translate(-50%,-1rem);-ms-transform:translate(-50%,-1rem);transform:translate(-50%,-1rem)}.tab.tab-block .tab-item{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;text-align:center}.pagination{padding:1.2rem}.pagination .page-item span{display:inline-block;padding:.6rem .5rem}.pagination .page-item a{border-radius:.3rem;margin:0 .1rem;padding:.6rem 1.2rem;text-decoration:none}.pagination .page-item a:focus,.pagination .page-item a:hover{background:#eff1fa}.pagination .page-item.active a{background:#5764c6;color:#fff}.modal{-webkit-align-items:center;align-items:center;bottom:0;display:none;-ms-flex-align:center;-ms-flex-pack:center;-ms-grid-row-align:center;-webkit-justify-content:center;justify-content:center;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0}.modal.active{display:flex;display:-ms-flexbox;display:-webkit-flex;opacity:1;z-index:1988}.modal.active .modal-overlay{background:rgba(0,0,0,.75);bottom:0;display:block;left:0;position:absolute;right:0;top:0}.card,.modal-container{background:#fff;display:block}.modal.active .modal-container{-webkit-animation:slide-down .216s;animation:slide-down .216s}.modal-container{-webkit-animation:slide-up .216s;animation:slide-up .216s;margin:0 auto;padding:0;text-align:left;z-index:1988}.modal-container .modal-header{padding:1.5rem}.modal-container .modal-header .modal-title{font-size:1.5rem;margin:0}.modal-container .modal-body{max-height:50vh;overflow-y:auto;padding:1.5rem;position:relative}.text-clip,.text-ellipsis{overflow:hidden;white-space:nowrap}.modal-container .modal-footer{padding:1.5rem;text-align:right}.card,.text-left{text-align:left}@media screen and (min-width:640px){.modal-container{width:64rem}}@media screen and (min-width:320px){.modal-sm .modal-container{width:32rem}}.card{border:.1rem solid #efefef;border-radius:.3rem;margin:0;padding:0;z-index:999}.card .card-body,.card .card-footer,.card .card-header{padding:1.5rem 1.5rem 0}.card .card-body:last-child,.card .card-footer:last-child,.card .card-header:last-child{padding-bottom:1.5rem}.card .card-image{padding-top:1.5rem}.card .card-image:first-child{padding-top:0}.card .card-image:first-child img{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.card .card-image:last-child img{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.card .card-title{font-size:1.4em;line-height:1;margin-bottom:.5rem;margin-top:0}.card .card-meta{color:#b3b3b3;font-size:1em;margin-bottom:0;margin-top:0}@-webkit-keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes slide-down{0%{margin-top:-3rem;opacity:0}100%{margin-top:0;opacity:1}}@keyframes slide-down{0%{margin-top:-3rem;opacity:0}100%{margin-top:0;opacity:1}}.clearfix::after,.container::after{clear:both;content:"";display:table}.block,.centered{display:block}.float-left{float:left!important}.float-right{float:right!important}.rel{position:relative}.abs{position:absolute}.fixed{position:fixed}.centered{float:none;margin-left:auto;margin-right:auto}.mt-10{margin-top:1rem}.mr-10{margin-right:1rem}.mb-10{margin-bottom:1rem}.ml-10{margin-left:1rem}.mt-5{margin-top:.5rem}.mr-5{margin-right:.5rem}.mb-5{margin-bottom:.5rem}.ml-5{margin-left:.5rem}.pt-10{padding-top:1rem}.pr-10{padding-right:1rem}.pb-10{padding-bottom:1rem}.pl-10{padding-left:1rem}.pt-5{padding-top:.5rem}.pr-5{padding-right:.5rem}.pb-5{padding-bottom:.5rem}.pl-5{padding-left:.5rem}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex;display:-ms-flexbox;display:-webkit-flex}.inline-flex{display:inline-flex;display:-ms-inline-flexbox;display:-webkit-inline-flex}.hide{display:none!important}.visible{visibility:visible}.invisible{visibility:hidden}.text-hide{background:0 0;border:0;color:transparent;font:0/0 a;text-shadow:none}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-normal{font-weight:400}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-ellipsis{text-overflow:ellipsis}.text-clip{text-overflow:clip}.text-break{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word}.light-shadow{box-shadow:0 .1rem .2rem rgba(0,0,0,.15)}.rounded{border-radius:.3rem}.circle{border-radius:50%}.divider{border-bottom:.1rem solid #efefef;display:block;margin:.5rem}.loading{color:transparent!important;min-height:1.6rem;pointer-events:none;position:relative}.loading::after{-webkit-animation:loading .5s infinite linear;animation:loading .5s infinite linear;border:.2rem solid #5764c6;border-radius:.8rem;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1.6rem;left:50%;margin-left:-.8rem;margin-top:-.8rem;position:absolute;top:50%;width:1.6rem} \ No newline at end of file
diff --git a/index.html b/index.html
index 2d482b0..68f0533 100644
--- a/index.html
+++ b/index.html
@@ -5,7 +5,7 @@
<meta name="robots" content="index, follow" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="author" content="https://github.com/picturepan2/spectre" />
+ <meta name="author" content="https://github.com/picturepan2/" />
<title>Spectre.css - a lightweight, responsive and modern CSS framework</title>
<link rel="stylesheet" href="dist/spectre.css" />
<link rel="stylesheet" href="demo/font/style.css" />
@@ -38,6 +38,9 @@
.grid-footer a {
color: #666;
}
+ .container header {
+ padding-top: 3rem;
+ }
.notes {
margin: 4rem 0;
color: #666;
@@ -90,7 +93,7 @@
<section class="notes">
<p>There are 3 ways to get started with Spectre CSS framework in your projects. You can either manually install or use NPM and Bower.</p>
<h5>Install manually</h5>
- <p>Download the compiled and minified <a href="https://github.com/picturepan2/spectre/tree/master/dist" target="_blank">Spectre CSS file</a> (about 27KB):</p>
+ <p>Download the compiled and minified <a href="https://github.com/picturepan2/spectre/tree/master/dist" target="_blank">Spectre CSS file</a> (about 30KB):</p>
<p><a href="https://github.com/picturepan2/spectre/tree/master/dist" target="_blank" class="btn btn-primary">Download Spectre.css</a></p>
<h5>Install with NPM</h5>
<!-- install with npm example -->
@@ -157,6 +160,7 @@
<a href="#tables" class="btn btn-primary">tables</a>
<a href="#buttons" class="btn btn-primary">buttons</a>
<a href="#forms" class="btn btn-primary">forms</a>
+ <a href="#labels" class="btn btn-primary">labels</a>
<a href="#media" class="btn btn-primary">media</a>
</div>
</section>
@@ -169,12 +173,12 @@
</section>
<header class="text-center"><h5>headings</h5></header>
- <h1>H1 Title <small class="label">5rem</small></h1>
- <h2>H2 Title <small class="label">4rem</small></h2>
- <h3>H3 Title <small class="label">3rem</small></h3>
- <h4>H4 Title <small class="label">2.4rem</small></h4>
- <h5>H5 Title <small class="label">2rem</small></h5>
- <h6>H6 Title <small class="label">1.6rem</small></h6>
+ <h1>H1 Heading <small class="label">5rem</small></h1>
+ <h2>H2 Heading <small class="label">4rem</small></h2>
+ <h3>H3 Heading <small class="label">3rem</small></h3>
+ <h4>H4 Heading <small class="label">2.4rem</small></h4>
+ <h5>H5 Heading <small class="label">2rem</small></h5>
+ <h6>H6 Heading <small class="label">1.6rem</small></h6>
<!-- headings example -->
<pre class="code lang-html">
@@ -216,7 +220,7 @@
<header class="text-center"><h5>lists</h5></header>
<div class="columns">
- <div class="column col-4">
+ <div class="column col-4 col-xs-12">
<ul class="list">
<li>list item 1</li>
<li>list item 2
@@ -229,7 +233,7 @@
<li>list item 3</li>
</ul>
</div>
- <div class="column col-4">
+ <div class="column col-4 col-xs-12">
<ol class="list">
<li>list item 1</li>
<li>list item 2
@@ -242,7 +246,7 @@
<li>list item 3</li>
</ol>
</div>
- <div class="column col-4">
+ <div class="column col-4 col-xs-12">
<dl class="list">
<dt>description list term 1</dt>
<dd>description list description 1</dd>
@@ -284,7 +288,7 @@
<p><strong>Tables</strong> include default styles for tables and data sets.</p>
</section>
- <table class="table table-striped table-hover">
+ <table class="table table-striped">
<thead>
<tr>
<th>name</th>
@@ -316,7 +320,7 @@
<td>Se7en</td>
<td>2h 7min</td>
<td>Crime, Drama, Mystery</td>
- <td>24 March 1972 <span class="label">USA</span></td>
+ <td>22 September 1995 <span class="label">USA</span></td>
</tr>
</tbody>
</table>
@@ -356,15 +360,15 @@
</section>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn">default button</button>
<button class="btn loading">default button</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-primary">primary button</button>
<button class="btn btn-primary loading">primary button</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-link">link button</button>
<button class="btn btn-link loading">link button</button>
</div>
@@ -388,13 +392,13 @@
</section>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn disabled">default button</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-primary" disabled>primary button</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-link" disabled>link button</button>
</div>
</div>
@@ -402,12 +406,12 @@
<header class="text-center"><h5>button sizes</h5></header>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-lg">large button</button>
<button class="btn">normal button</button>
<button class="btn btn-sm">small button</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-block">block button</button>
</div>
</div>
@@ -443,14 +447,14 @@
<header class="text-center"><h5>button groups</h5></header>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<div class="btn-group">
<button class="btn">first button</button>
<button class="btn">second button</button>
<button class="btn">third button</button>
</div>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<div class="btn-group btn-group-block">
<button class="btn btn-primary">first button</button>
<button class="btn btn-primary">second button</button>
@@ -459,13 +463,20 @@
</div>
</div>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<div class="btn-group">
- <button class="btn btn-sm">first button</button>
+ <button class="btn btn-sm active">first button</button>
<button class="btn btn-sm">second button</button>
<button class="btn btn-sm">third button</button>
</div>
</div>
+ <div class="column col-xs-12">
+ <div class="btn-group btn-group-block">
+ <button class="btn btn-primary active">first button</button>
+ <button class="btn btn-primary">second button</button>
+ <button class="btn btn-primary">third button</button>
+ </div>
+ </div>
</div>
<section class="notes">
<p>If you want to use buttons as a group, add the class <code>btn-group</code> to the container. You can add the class <code>btn-group-block</code> for a full-width button group.</p>
@@ -489,13 +500,13 @@
<p></p>
</section>
<div class="columns">
- <div class="column col-6">
+ <div class="column col-6 col-xs-12">
<form action="#forms">
<div class="form-group">
<label class="form-label" for="input-example-1">Name</label>
- <input class="form-input is-danger" type="text" id="input-example-1" placeholder="Name" />
+ <input class="form-input" type="text" id="input-example-1" placeholder="Name" />
</div>
- <div class="form-group has-success">
+ <div class="form-group">
<label class="form-label" for="input-example-2">Email</label>
<input class="form-input" type="email" id="input-example-2" placeholder="Email" />
</div>
@@ -506,7 +517,7 @@
<i class="form-icon"></i> Male
</label>
<label class="form-radio">
- <input type="radio" name="gender" checked />
+ <input type="radio" name="gender" />
<i class="form-icon"></i> Female
</label>
</div>
@@ -593,7 +604,7 @@
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;form-group&quot;</span>&gt;
&lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-checkbox&quot;</span>&gt;
&lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;checkbox&quot;</span> /&gt;
- &lt;<span class="tag">i</span> <span class="atn">class</span>=<span class="atv">&quot;form-icon&quot;</span>&gt;&lt;<span class="tag">/i</span>&gt; Remember me
+ &lt;<span class="tag">i</span> <span class="atn">class</span>=<span class="atv">&quot;form-icon&quot;</span>&gt;&lt;<span class="tag">/i</span>&gt; Remember me
&lt;<span class="tag">/label</span>&gt;
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/form</span>&gt;
@@ -605,7 +616,7 @@
</section>
<div class="columns">
- <div class="column col-6">
+ <div class="column col-6 col-sm-12">
<form class="form-horizontal" action="#forms">
<div class="form-group">
<div class="col-3">
@@ -690,10 +701,10 @@
<pre class="code lang-html">
&lt;<span class="tag">form</span> <span class="atn">class</span>=<span class="atv">&quot;form-horizontal&quot;</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;form-group&quot;</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;col-sm-3&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;col-3&quot;</span>&gt;
&lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-label&quot;</span> <span class="atn">for</span>=<span class="atv">&quot;input-example-1&quot;</span>&gt;Name&lt;<span class="tag">/label</span>&gt;
&lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;col-sm-9&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;col-9&quot;</span>&gt;
&lt;<span class="tag">input</span> <span class="atn">class</span>=<span class="atv">&quot;form-input&quot;</span> <span class="atn">type</span>=<span class="atv">&quot;text&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;input-example-1&quot;</span> <span class="atn">placeholder</span>=<span class="atv">&quot;Name&quot;</span> /&gt;
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/div</span>&gt;
@@ -702,16 +713,41 @@
</pre>
<section class="notes">
- <p>To use form validation styles, add <code>is-success</code> and <code>is-danger</code> to the controls or add <code>has-success</code> and <code>has-danger</code> to parent elements.</p>
+ <p>To use form validation styles, add <code>is-success</code> and <code>is-danger</code> to the controls or add <code>has-success</code> and <code>has-danger</code> to parent elements. You can use the class <code>form-input-hint</code> to provide form validation success and error messages.</p>
</section>
+ <div class="columns">
+ <div class="column col-6 col-xs-12">
+ <form action="#forms">
+ <div class="form-group">
+ <label class="form-label" for="input-example-1">Name</label>
+ <input class="form-input is-danger" type="text" id="input-example-1" placeholder="Name" />
+ <span class="form-input-hint">The name is invaild.</span>
+ </div>
+ <div class="form-group has-success">
+ <label class="form-label" for="input-example-2">Email</label>
+ <input class="form-input" type="email" id="input-example-2" placeholder="Email" />
+ <span class="form-input-hint">The email is available.</span>
+ </div>
+ </form>
+ </div>
+ </div>
+
<!-- forms example -->
<pre class="code lang-html">
&lt;<span class="tag">form</span>&gt;
- <span class="com">&lt;!-- form validation styles --&gt;</span>
+ <span class="com">&lt;!-- form validation class: has-success --&gt;</span>
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;form-group has-success&quot;</span>&gt;
&lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-label&quot;</span> <span class="atn">for</span>=<span class="atv">&quot;input-example-1&quot;</span>&gt;Name&lt;<span class="tag">/label</span>&gt;
+ &lt;<span class="tag">input</span> <span class="atn">class</span>=<span class="atv">&quot;form-input&quot;</span> <span class="atn">type</span>=<span class="atv">&quot;text&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;input-example-1&quot;</span> <span class="atn">placeholder</span>=<span class="atv">&quot;Name&quot;</span> /&gt;
+ &lt;<span class="tag">span</span> <span class="atn">class</span>=<span class="atv">&quot;form-input-hint&quot;</span>&gt;The name is invaild.&lt;<span class="tag">/span</span>&gt;
+ &lt;<span class="tag">/div</span>&gt;
+
+ <span class="com">&lt;!-- form validation class: is-success --&gt;</span>
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;form-group&quot;</span>&gt;
+ &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-label&quot;</span> <span class="atn">for</span>=<span class="atv">&quot;input-example-1&quot;</span>&gt;Name&lt;<span class="tag">/label</span>&gt;
&lt;<span class="tag">input</span> <span class="atn">class</span>=<span class="atv">&quot;form-input is-success&quot;</span> <span class="atn">type</span>=<span class="atv">&quot;text&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;input-example-1&quot;</span> <span class="atn">placeholder</span>=<span class="atv">&quot;Name&quot;</span> /&gt;
+ &lt;<span class="tag">span</span> <span class="atn">class</span>=<span class="atv">&quot;form-input-hint&quot;</span>&gt;The name is invaild.&lt;<span class="tag">/span</span>&gt;
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/form</span>&gt;
</pre>
@@ -721,20 +757,23 @@
</section>
<div class="columns">
- <div class="column">
+ <div class="column col-4">
<input class="form-input input-sm" type="text" placeholder="Name" />
</div>
- <div class="column">
- <input class="form-input input-lg" type="text" placeholder="Name" />
- </div>
- <div class="column">
+ <div class="column col-4">
<select class="form-select select-sm">
<option>Choose an option</option>
<option>Slack</option>
<option>Skype</option>
<option>Hipchat</option>
</select>
-
+ </div>
+ </div>
+ <div class="columns">
+ <div class="column col-4">
+ <input class="form-input input-lg" type="text" placeholder="Name" />
+ </div>
+ <div class="column col-4">
<select class="form-select select-lg">
<option>Choose an option</option>
<option>Slack</option>
@@ -746,19 +785,19 @@
<header class="text-center"><h5>input groups</h5></header>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<div class="input-group">
<span class="input-group-addon">slack.com/</span>
<input type="text" class="form-input" placeholder="site name" />
</div>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<div class="input-group">
<input type="text" class="form-input" placeholder="username" />
<span class="input-group-addon">@slack.com</span>
</div>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<div class="input-group">
<span class="input-group-addon">slack.com/</span>
<input type="text" class="form-input" placeholder="site name" />
@@ -767,13 +806,13 @@
</div>
</div>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<div class="input-group">
<span class="input-group-addon addon-sm">slack.com/</span>
<input type="text" class="form-input input-sm" placeholder="site name" />
</div>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<div class="input-group">
<input type="text" class="form-input input-lg" placeholder="username" />
<span class="input-group-addon addon-lg">@slack.com</span>
@@ -811,13 +850,36 @@
</section>
+ <section id="labels" class="container grid-960">
+ <header class="text-center"><h4>labels</h4></header>
+ <section class="notes">
+ <p><strong>Labels</strong> are formatted text tags for highlighted, informative information.</p>
+ </section>
+ <div class="columns">
+ <div class="column">
+ <span class="label">default label</span>
+ <span class="label label-primary">primary label</span>
+ </div>
+ </div>
+ <section class="notes">
+ <p>Add the class <code>label</code> to &lt;span&gt; or &lt;small&gt; elements. You can add another class <code>label-primary</code> for a primary colored label.</p>
+ </section>
+
+ <!-- labels example -->
+<pre class="code lang-html">
+&lt;<span class="tag">span</span> <span class="atn">class</span>=<span class="atv">&quot;label&quot;</span>&gt;default label&lt;<span class="tag">/span</span>&gt;
+&lt;<span class="tag">span</span> <span class="atn">class</span>=<span class="atv">&quot;label label-primary&quot;</span>&gt;primary label&lt;<span class="tag">/span</span>&gt;
+</pre>
+
+ </section>
+
<section id="media" class="container grid-960">
<header class="text-center"><h4>media</h4></header>
<section class="notes">
<p><strong>Media</strong> include responsive image and video class. </p>
</section>
<div class="columns">
- <div class="column col-6">
+ <div class="column col-6 col-xs-12">
<img src="demo/img/osx-el-capitan.jpg" class="img-responsive rounded" />
</div>
</div>
@@ -825,7 +887,7 @@
<p>Add the class <code>img-responsive</code> to &lt;img&gt; elements. The images will scale with the parent sizes.</p>
</section>
<div class="columns">
- <div class="column col-6">
+ <div class="column col-6 col-xs-12">
<div class="video-responsive">
<iframe src="https://www.youtube.com/embed/vBfBa-gCMQk" width="560" height="315" frameborder="0" allowfullscreen></iframe>
</div>
@@ -960,10 +1022,10 @@
</div>
<section class="notes">
- <p>Add the class <code>col-multiline</code> to have a multiline grid.</p>
+ <p>By default, Spectre grid has multi-line flexbox enabled. You can add the class <code>col-oneline</code> to <code>columns</code> to make all its child columns positioned in the same single row.</p>
</section>
- <div class="columns col-multiline">
+ <div class="columns col-oneline">
<div class="column col-8">
<div class="bg-grey">col-8</div>
</div>
@@ -1071,7 +1133,7 @@
<p><strong>Empty states/blank slates</strong> are commonly used as placeholders for first time use, empty data and error screens.</p>
</section>
<div class="columns">
- <div class="column col-6">
+ <div class="column col-6 col-xs-12">
<section class="empty">
<i class="icon icon-markunread"></i>
<p class="empty-title">You have no new messages</p>
@@ -1079,7 +1141,7 @@
<button class="empty-action btn btn-primary">Send a message</button>
</section>
</div>
- <div class="column col-6">
+ <div class="column col-6 col-xs-12">
<section class="empty">
<i class="icon icon-people"></i>
<p class="empty-title">You are not following anyone</p>
@@ -1138,7 +1200,6 @@
<a href="#chips" class="btn btn-primary">chips</a>
<a href="#autocomplete" class="btn btn-primary">autocomplete</a>
<a href="#tooltips" class="btn btn-primary">tooltips</a>
- <a href="#labels" class="btn btn-primary">labels</a>
<a href="#badges" class="btn btn-primary">badges</a>
<a href="#toasts" class="btn btn-primary">toasts</a>
<a href="#menus" class="btn btn-primary">menus</a>
@@ -1155,7 +1216,7 @@
<p><strong>Avatars</strong> are user profile pictures. </p>
</section>
<div class="columns">
- <div class="column col-3">
+ <div class="column col-4 col-xs-12">
<figure class="avatar avatar-xl">
<img src="demo/img/avatar-1.png" />
</figure>
@@ -1172,7 +1233,7 @@
<img src="demo/img/avatar-5.png" />
</figure>
</div>
- <div class="column col-3">
+ <div class="column col-4 col-xs-12">
<figure class="avatar avatar-xl">
<img src="demo/img/avatar-1.png" />
<img src="demo/img/avatar-2.png" class="avatar-icon" />
@@ -1195,31 +1256,43 @@
</figure>
</div>
- <div class="column col-3">
+ <div class="column col-4 col-xs-12">
<figure class="avatar avatar-xl" data-initial="YZ" style="background-color: #5764c6;"></figure>
- <figure class="avatar avatar-lg" data-initial="YZ" style="background-color: #6874cc;"></figure>
- <figure class="avatar" data-initial="YZ" style="background-color: #7983d2;"></figure>
- <figure class="avatar avatar-sm" data-initial="YZ" style="background-color: #8a93d7;"></figure>
- <figure class="avatar avatar-xs" data-initial="YZ" style="background-color: #9ba2dd;"></figure>
+ <figure class="avatar avatar-lg" data-initial="YZ" style="background-color: #5764c6;"></figure>
+ <figure class="avatar" data-initial="YZ" style="background-color: #5764c6;"></figure>
+ <figure class="avatar avatar-sm" data-initial="YZ" style="background-color: #5764c6;"></figure>
+ <figure class="avatar avatar-xs" data-initial="YZ" style="background-color: #5764c6;"></figure>
</div>
+ </div>
- <div class="column col-3">
+ <section class="notes">
+ <p>Add the class <code>avatar</code> to &lt;img&gt; element. There are 4 additional sizes available, including <code>avatar-xl</code> (64px), <code>avatar-lg</code> (48px), <code>avatar-sm</code> (24px), and <code>avatar-xs</code> (16px). By default, the avatar size is 32px.</p>
+ <p>For users who don't have profile pictures, you may use their initials for avatars. Add the class <code>avatar</code> and avatar size class to &lt;div&gt; element. The attribute <code>data-initial</code> is the name appear inside the avatar.</p>
+ </section>
+
+ <div class="columns">
+ <div class="column">
<figure class="avatar avatar-xl" data-initial="YZ" style="background-color: #5764c6;">
<img src="demo/img/avatar-1.png" />
</figure>
- <figure class="avatar avatar-lg" data-initial="YZ" style="background-color: #6874cc;">
+ <figure class="avatar avatar-lg" data-initial="YZ" style="background-color: #5764c6;">
<img src="demo/img/avatar-2.png" />
</figure>
+ <figure class="avatar" data-initial="YZ" style="background-color: #5764c6;">
+ <img src="demo/img/avatar-3.png" />
+ </figure>
+ <figure class="avatar avatar-sm" data-initial="YZ" style="background-color: #5764c6;">
+ <img src="demo/img/avatar-4.png" />
+ </figure>
+ <figure class="avatar avatar-xs" data-initial="YZ" style="background-color: #5764c6;">
+ <img src="demo/img/avatar-5.png" />
+ </figure>
</div>
</div>
- <section class="notes">
- <p>Add the class <code>avatar</code> to &lt;img&gt; element. There are 4 additional sizes available, including <code>avatar-xl</code> (64px), <code>avatar-lg</code> (48px), <code>avatar-sm</code> (24px), and <code>avatar-xs</code> (16px). By default, the avatar size is 32px.</p>
- <p>For users who don't have profile pictures, you may use their initials for avatars. Add the class <code>avatar</code> and avatar size class to &lt;div&gt; element. The attribute <code>data-initial</code> is the name appear inside the avatar.</p>
- </section>
-
<!-- avatars example -->
<pre class="code lang-html">
+<span class="com">&lt;!-- Basic avatar examples --&gt;</span>
&lt;<span class="tag">figure</span> <span class="atn">class</span>=<span class="atv">&quot;avatar avatar-xl&quot;</span>&gt;
&lt;<span class="tag">img</span> <span class="atn">src</span>=<span class="atv">&quot;img/avatar-1.png&quot;</span> /&gt;
&lt;<span class="tag">/figure</span>&gt;
@@ -1245,7 +1318,7 @@
<p><strong>Chips</strong> are complex entities in small blocks. </p>
</section>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<div class="chip-sm">
<span class="chip-name">Crime</span>
<button class="btn btn-clear"></button>
@@ -1264,7 +1337,7 @@
<button class="btn btn-clear"></button>
</div>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<div class="chip-sm">
<img src="demo/img/avatar-1.png" class="avatar" />
<span class="chip-name">Tony Stark</span>
@@ -1315,7 +1388,7 @@
<p><strong>Autocomplete</strong> form component provides suggestions while you type. It is often used for tags and contacts input. </p>
</section>
<div class="columns">
- <div class="column col-6">
+ <div class="column col-6 col-xs-12">
<div class="form-group">
<div class="form-autocomplete">
<div class="form-autocomplete-input">
@@ -1348,7 +1421,7 @@
</div>
</div>
</div>
- <div class="form-group">
+ <div class="form-group col-xs-12">
<div class="form-autocomplete">
<div class="form-autocomplete-input">
<div class="chip-sm">
@@ -1376,7 +1449,7 @@
</div>
</div>
</div>
- <div class="column col-6">
+ <div class="column col-6 col-xs-12">
<div class="form-group">
<div class="form-autocomplete">
<div class="form-autocomplete-input">
@@ -1476,16 +1549,16 @@
<p><strong>Tooltips</strong> provide context information labels that appear on hover and focus.</p>
</section>
<div class="columns text-center">
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-primary tooltip" data-tooltip="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante." data-tooltip-pos="top">top tooltip</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-primary tooltip tooltip-right" data-tooltip="Lorem ipsum dolor sit amet">right tooltip</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-primary tooltip tooltip-bottom" data-tooltip="Lorem ipsum dolor sit amet">bottom tooltip</button>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<button class="btn btn-primary tooltip tooltip-left" data-tooltip="Lorem ipsum dolor sit amet">left tooltip</button>
</div>
</div>
@@ -1502,51 +1575,28 @@
</section>
- <section id="labels" class="container grid-960">
- <header class="text-center"><h4>labels</h4></header>
- <section class="notes">
- <p><strong>Labels</strong> are formatted text tags for highlighted, informative information.</p>
- </section>
- <div class="columns">
- <div class="column">
- <span class="label">default label</span>
- <span class="label label-primary">primary label</span>
- </div>
- </div>
- <section class="notes">
- <p>Add the class <code>label</code> to &lt;span&gt; or &lt;small&gt; elements. You can add another class <code>label-primary</code> for a primary colored label.</p>
- </section>
-
- <!-- labels example -->
-<pre class="code lang-html">
-&lt;<span class="tag">span</span> <span class="atn">class</span>=<span class="atv">&quot;label&quot;</span>&gt;default label&lt;<span class="tag">/span</span>&gt;
-&lt;<span class="tag">span</span> <span class="atn">class</span>=<span class="atv">&quot;label label-primary&quot;</span>&gt;primary label&lt;<span class="tag">/span</span>&gt;
-</pre>
-
- </section>
-
<section id="badges" class="container grid-960">
<header class="text-center"><h4>badges</h4></header>
<section class="notes">
<p><strong>Badges</strong> are often used as unread number indicators.</p>
</section>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-6">
<span class="badge" data-badge="1">
Notifications
</span>
</div>
- <div class="column">
+ <div class="column col-xs-6">
<span class="badge" data-badge="99">
Notifications
</span>
</div>
- <div class="column">
+ <div class="column col-xs-6">
<span class="badge" data-badge="999">
Notifications
</span>
</div>
- <div class="column">
+ <div class="column col-xs-6">
<span class="badge" data-badge="♀">
Notifications
</span>
@@ -1571,13 +1621,13 @@
<p><strong>Toasts</strong> are used to show alert or information to users.</p>
</section>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<div class="toast">
<button class="btn btn-clear float-right"></button>
<span class="icon icon-error_outline"></span> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<div class="toast toast-primary">
<button class="btn btn-clear float-right"></button>
<span class="icon icon-error_outline"></span> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
@@ -1585,13 +1635,13 @@
</div>
</div>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<div class="toast toast-success">
<button class="btn btn-clear float-right"></button>
<span class="icon icon-error_outline"></span> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<div class="toast toast-danger">
<button class="btn btn-clear float-right"></button>
<span class="icon icon-error_outline"></span> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
@@ -1625,7 +1675,7 @@
<p>A <strong>menu</strong> is a vertical list of links or buttons for actions and navigation.</p>
</section>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-6">
<ul class="menu">
<li class="menu-item">
<div class="chip">
@@ -1658,7 +1708,7 @@
</li>
</ul>
</div>
- <div class="column">
+ <div class="column col-xs-6">
<ul class="menu">
<li class="menu-header">
<span class="menu-header-text">
@@ -1680,7 +1730,7 @@
</li>
</ul>
</div>
- <div class="column">
+ <div class="column col-xs-6">
<ul class="menu">
<li class="menu-header">
<span class="menu-header-text">
@@ -1747,7 +1797,7 @@
<section id="navigation" class="container grid-960">
<header class="text-center"><h4>navigation</h4></header>
<section class="notes">
- <p><strong>Navigation</strong> includes several components, including breadcrumbs and tabs.</p>
+ <p><strong>Navigation</strong> includes several components, including breadcrumbs, tabs and pagination.</p>
</section>
<header id="breadcrumbs" class="text-center"><h5>breadcrumbs</h5></header>
<div class="columns">
@@ -1798,7 +1848,7 @@
<header id="tabs" class="text-center"><h5>tabs</h5></header>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<ul class="tab">
<li class="tab-item active">
<a href="#tabs">
@@ -1822,7 +1872,7 @@
</li>
</ul>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<ul class="tab tab-block">
<li class="tab-item active">
<a href="#tabs">
@@ -1848,36 +1898,28 @@
</div>
</div>
<section class="notes">
- <p>Add a container element with the class <code>tab</code>. And add child elements with the classname <code>tab-item</code>. You can add the class <code>tab-block</code> for a full-width tab.</p>
+ <p>Add a container element with the class <code>tab</code>. And add child elements with the classname <code>tab-item</code>. You can add the class <code>tab-block</code> for a full-width tab. The <code>tab-item</code> or its child <code>&lt;a&gt;</code> with the class <code>active</code> will be highlighted.</p>
</section>
<!-- tabs example -->
<pre class="code lang-html">
&lt;<span class="tag">ul</span> <span class="atn">class</span>=<span class="atv">&quot;tab tab-block&quot;</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;tab-item active&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- Music
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;Music&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;tab-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- Playlists
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span> <span class="atn">class</span>=<span class="atv">&quot;active&quot;</span>&gt;Playlists&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;tab-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- Radio
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;Radio&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;tab-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- Connect
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;Connect&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">/ul</span>&gt;
</pre>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<ul class="tab">
<li class="tab-item active">
<a href="#tabs" class="badge" data-badge="9">
@@ -1885,7 +1927,7 @@
</a>
</li>
<li class="tab-item">
- <a href="#tabs">
+ <a href="#tabs" class="badge" data-badge="99">
Playlists
</a>
</li>
@@ -1901,7 +1943,7 @@
</li>
</ul>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<ul class="tab tab-block">
<li class="tab-item active">
<a href="#tabs" class="badge" data-badge="9">
@@ -1909,7 +1951,7 @@
</a>
</li>
<li class="tab-item">
- <a href="#tabs">
+ <a href="#tabs" class="badge" data-badge="99">
Playlists
</a>
</li>
@@ -1943,85 +1985,59 @@
<header id="pagination" class="text-center"><h5>pagination</h5></header>
<div class="columns">
- <div class="column">
+ <div class="column col-xs-12">
<ul class="pagination">
<li class="page-item">
- <a href="#pagination">
- Previous
- </a>
+ <a href="#pagination">Previous</a>
</li>
<li class="page-item">
- <a href="#pagination">
- 1
- </a>
+ <a href="#pagination">1</a>
</li>
<li class="page-item">
<span>...</span>
</li>
<li class="page-item">
- <a href="#pagination">
- 6
- </a>
+ <a href="#pagination">6</a>
</li>
<li class="page-item active">
- <a href="#pagination">
- 7
- </a>
+ <a href="#pagination">7</a>
</li>
<li class="page-item">
- <a href="#pagination">
- 8
- </a>
+ <a href="#pagination">8</a>
</li>
<li class="page-item">
<span>...</span>
</li>
<li class="page-item">
- <a href="#pagination">
- 12
- </a>
+ <a href="#pagination">12</a>
</li>
<li class="page-item">
- <a href="#pagination">
- Next
- </a>
+ <a href="#pagination">Next</a>
</li>
</ul>
</div>
- <div class="column">
+ <div class="column col-xs-12">
<ul class="pagination">
<li class="page-item">
- <a href="#pagination" class="disabled">
- Previous
- </a>
+ <a href="#pagination" disabled>Previous</a>
</li>
<li class="page-item active">
- <a href="#pagination">
- 1
- </a>
+ <a href="#pagination">1</a>
</li>
<li class="page-item">
- <a href="#pagination">
- 2
- </a>
+ <a href="#pagination">2</a>
</li>
<li class="page-item">
- <a href="#pagination">
- 3
- </a>
+ <a href="#pagination">3</a>
</li>
<li class="page-item">
<span>...</span>
</li>
<li class="page-item">
- <a href="#pagination">
- 12
- </a>
+ <a href="#pagination">12</a>
</li>
<li class="page-item">
- <a href="#pagination">
- Next
- </a>
+ <a href="#pagination">Next</a>
</li>
</ul>
</div>
@@ -2034,37 +2050,25 @@
<pre class="code lang-html">
&lt;<span class="tag">ul</span> <span class="atn">class</span>=<span class="atv">&quot;pagination&quot;</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;page-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span> <span class="atn">class</span>=<span class="atv">&quot;disabled&quot;</span>&gt;
- Previous
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span> <span class="atn">disabled</span>&gt;Previous&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;page-item active&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- 1
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;1&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;page-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- 2
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;2&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;page-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- 3
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;3&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;page-item&quot;</span>&gt;
&lt;<span class="tag">span</span>&gt;...&lt;<span class="tag">/span</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;page-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- 12
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;12&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">li</span> <span class="atn">class</span>=<span class="atv">&quot;page-item&quot;</span>&gt;
- &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- Next
- &lt;<span class="tag">/a</span>&gt;
+ &lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;Next&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">/ul</span>&gt;
</pre>
@@ -2217,7 +2221,7 @@
<p><strong>Cards</strong> are flexible content containers.</p>
</section>
<div class="columns">
- <div class="column col-4">
+ <div class="column col-4 col-xs-12">
<div class="card">
<div class="card-image">
<img class="img-responsive" src="demo/img/osx-el-capitan.jpg" />
@@ -2234,7 +2238,7 @@
</div>
</div>
</div>
- <div class="column col-4">
+ <div class="column col-4 col-xs-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">Apple</h4>
@@ -2255,7 +2259,7 @@
</div>
</div>
</div>
- <div class="column col-4">
+ <div class="column col-4 col-xs-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">Google</h4>
@@ -2481,7 +2485,7 @@
<footer class="bg-grey">
<section id="copyright" class="grid-footer container grid-960">
<p>
- <a href="https://github.com/picturepan2/spectre" target="_blank">GitHub Repo</a> | <a href="#">Back to top</a> | version: 0.1.27
+ <a href="https://github.com/picturepan2/spectre" target="_blank">GitHub Repo</a> | <a href="#">Back to top</a> | version: 0.1.28
</p>
<p>Designed and built with love by <a href="https://twitter.com/picturepan2" target="_blank">Yan Zhu</a>. Licensed under the <a href="https://github.com/picturepan2/spectre/blob/master/LICENSE" target="_blank">MIT License</a>.</p>
</section>
diff --git a/package.json b/package.json
index b4d27b0..dc49c84 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "spectre.css",
- "version": "0.1.27",
+ "version": "0.1.28",
"homepage": "http://picturepan2.github.io/spectre",
"author": "Yan Zhu <picturepan2@hotmail.com>",
"description": "Spectre.css: a lightweight, responsive and modern CSS framework.",
diff --git a/spectre.less b/spectre.less
index b1ba269..051b650 100644
--- a/spectre.less
+++ b/spectre.less
@@ -10,10 +10,11 @@
// Core classes
@import 'src/typography.less';
-@import 'src/media.less';
@import 'src/tables.less';
@import 'src/buttons.less';
@import 'src/forms.less';
+@import 'src/labels.less';
+@import 'src/media.less';
// Layout
@import 'src/layout.less';
@@ -21,17 +22,16 @@
// Components
@import 'src/avatars.less';
-@import 'src/animations.less';
+@import 'src/chips.less';
@import 'src/autocomplete.less';
+@import 'src/tooltips.less';
@import 'src/badges.less';
-@import 'src/cards.less';
-@import 'src/chips.less';
-@import 'src/labels.less';
+@import 'src/toasts.less';
@import 'src/menus.less';
-@import 'src/modals.less';
@import 'src/navigation.less';
-@import 'src/toasts.less';
-@import 'src/tooltips.less';
+@import 'src/modals.less';
+@import 'src/cards.less';
// Utility classes
-@import 'src/utilities.less'; \ No newline at end of file
+@import 'src/animations.less';
+@import 'src/utilities.less';
diff --git a/src/base.less b/src/base.less
index c5f08eb..ef7da3f 100644
--- a/src/base.less
+++ b/src/base.less
@@ -20,9 +20,8 @@ body {
a {
color: @core-link-color;
text-decoration: underline;
-
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
color: darken(@core-link-color, 25%);
}
}
diff --git a/src/buttons.less b/src/buttons.less
index e42a31f..03179d3 100644
--- a/src/buttons.less
+++ b/src/buttons.less
@@ -17,7 +17,6 @@
user-select: none;
vertical-align: middle;
white-space: nowrap;
-
&:focus {
background: lighten(@core-secondary-color, 1%);
}
@@ -38,22 +37,22 @@
background: @core-color;
border-color: darken(@core-color, 5%);
color: @core-light-color;
-
&:focus {
- background: darken(@core-color, 2%);
+ background: darken(@core-color, 4%);
+ border-color: darken(@core-color, 10%);
+ color: @core-light-color;
}
&:hover {
- background: darken(@core-color, 5%);
- border-color: darken(@core-color, 10%);
+ background: darken(@core-color, 6%);
+ border-color: darken(@core-color, 15%);
color: @core-light-color;
}
&:active,
&.active {
- background: darken(@core-color, 10%);
+ background: darken(@core-color, 8%);
border-color: darken(@core-color, 15%);
color: @core-light-color;
}
-
&.loading {
&::after {
border-color: @core-light-color;
@@ -68,13 +67,14 @@
background: transparent;
border-color: transparent;
color: @core-link-color;
-
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
+ background: lighten(@core-border-color, 2%);
color: darken(@core-link-color, 15%);
}
&:active,
&.active {
+ background: @core-border-color;
color: darken(@core-link-color, 25%);
}
}
@@ -127,7 +127,9 @@
// Button groups
.btn-group {
display: inline-flex;
- flex-wrap: wrap;
+ flex-wrap: nowrap;
+ max-width: 100%;
+ overflow-x: auto;
.btn {
flex: 1 0 auto;
@@ -146,7 +148,9 @@
margin-left: -.1rem;
}
&:hover,
- &:focus {
+ &:focus,
+ &:active,
+ &.active {
z-index: 99;
}
}
diff --git a/src/forms.less b/src/forms.less
index 6c7e559..8d1e5e1 100644
--- a/src/forms.less
+++ b/src/forms.less
@@ -19,11 +19,9 @@
padding: .7rem .8rem;
position: relative;
width: 100%;
-
&:focus {
border-color: @core-color;
}
-
&[disabled] {
background: #eeeff2;
}
@@ -57,21 +55,43 @@
}
// Form status
+
.has-success &,
&.is-success {
border-color: @control-color-success;
}
+
.has-danger &,
&.is-danger {
border-color: @control-color-danger;
}
}
+
+// Form element: Input note
+.form-input-hint {
+ color: @core-meta-color;
+ display: inline-block;
+ margin-top: .4rem;
+
+ .has-success &,
+ .is-success + & {
+ color: @control-color-success;
+ }
+
+ .has-danger &,
+ .is-danger + & {
+ color: @control-color-danger;
+ }
+}
+
+
// Form element: Label
.form-label {
display: block;
line-height: 1.6rem;
margin-bottom: .5rem;
}
+
// Form element: Select
.form-select {
appearance: none;
@@ -82,13 +102,11 @@
outline: 0;
padding: .5rem .8rem;
vertical-align: middle;
-
&:not([multiple]) {
background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center / .8rem 1rem;
height: 3.2rem;
padding-right: 2.4rem;
}
-
&:focus {
border-color: @core-color;
}
@@ -116,15 +134,11 @@
.form-switch {
input {
clip: rect(0, 0, 0, 0);
- height: 1px;
- margin: -1px;
+ height: .1rem;
+ margin: -.1rem;
overflow: hidden;
position: absolute;
- width: 1px;
-
- &:focus + .form-icon {
- box-shadow: 0 0 .3rem .1rem @core-border-color;
- }
+ width: .1rem;
}
}
.form-checkbox,
@@ -151,12 +165,20 @@
width: 1.4rem;
}
&:hover .form-icon {
- border-color: darken(@control-color, 15%);
+ border-color: darken(@control-color, 20%);
}
- input:checked + .form-icon,
- input:indeterminate + .form-icon {
- background: @core-color;
- border-color: @core-color;
+
+ input {
+ &:focus + .form-icon {
+ border-color: @core-color;
+ }
+ &:checked + .form-icon {
+ background: @core-color;
+ border-color: @core-color;
+ }
+ &:active + .form-icon {
+ background: @core-border-color;
+ }
}
}
.form-checkbox {
@@ -164,34 +186,38 @@
border-radius: .2rem;
}
- input:checked + .form-icon {
- &::after {
- background-clip: padding-box;
- border: .2rem solid #fff;
- border-left-width: 0;
- border-top-width: 0;
- content: "";
- height: 1rem;
- left: 50%;
- margin-left: -.3rem;
- margin-top: -.6rem;
- position: absolute;
- top: 50%;
- transform: rotate(45deg);
- width: .6rem;
+ input {
+ &:checked + .form-icon {
+ &::after {
+ background-clip: padding-box;
+ border: .2rem solid #fff;
+ border-left-width: 0;
+ border-top-width: 0;
+ content: "";
+ height: 1rem;
+ left: 50%;
+ margin-left: -.3rem;
+ margin-top: -.6rem;
+ position: absolute;
+ top: 50%;
+ transform: rotate(45deg);
+ width: .6rem;
+ }
}
- }
- input:indeterminate + .form-icon {
- &::after {
- background: #fff;
- content: "";
- height: .2rem;
- left: 50%;
- margin-left: -.4rem;
- margin-top: -.1rem;
- position: absolute;
- top: 50%;
- width: .8rem;
+ &:indeterminate + .form-icon {
+ background: @core-color;
+ border-color: @core-color;
+ &::after {
+ background: #fff;
+ content: "";
+ height: .2rem;
+ left: 50%;
+ margin-left: -.4rem;
+ margin-top: -.1rem;
+ position: absolute;
+ top: 50%;
+ width: .8rem;
+ }
}
}
}
@@ -219,7 +245,7 @@
.form-switch {
cursor: pointer;
display: inline-block;
- line-height: 1.8rem;
+ line-height: 2rem;
padding: .3rem 2rem .3rem 3.6rem;
position: relative;
@@ -229,36 +255,41 @@
border: .1rem solid @control-color;
border-radius: .9rem;
display: inline-block;
- height: 1.6rem;
+ height: 1.8rem;
left: 0;
- line-height: 2.4rem;
+ line-height: 2.6rem;
outline: none;
padding: 0;
position: absolute;
top: .4rem;
vertical-align: top;
- width: 2.6rem;
-
+ width: 3rem;
&::after {
background: #fff;
border-radius: .8rem;
content: "";
display: block;
- height: 1.4rem;
+ height: 1.6rem;
left: 0;
position: absolute;
top: 0;
transition: left .15s ease;
- width: 1.4rem;
+ width: 1.6rem;
}
}
- input:checked + .form-icon {
- background: @core-color;
- border-color: @core-color;
-
- &::after {
- left: 1rem;
+ input {
+ &:checked + .form-icon {
+ background: @core-color;
+ border-color: @core-color;
+ &::after {
+ left: 1.2rem;
+ }
+ }
+ &:active + .form-icon {
+ &::after {
+ background: @core-border-color;
+ }
}
}
}
diff --git a/src/layout.less b/src/layout.less
index e32897a..263ed69 100644
--- a/src/layout.less
+++ b/src/layout.less
@@ -22,6 +22,7 @@
// Responsive grid system
.columns {
display: flex;
+ flex-wrap: wrap;
margin-left: -@layout-gutter;
margin-right: -@layout-gutter;
@@ -34,8 +35,9 @@
padding-right: 0;
}
}
- &.col-multiline {
- flex-wrap: wrap;
+ &.col-oneline {
+ flex-wrap: nowrap;
+ overflow-x: auto;
}
}
.column {
diff --git a/src/menus.less b/src/menus.less
index 8c7fbe7..49adc80 100644
--- a/src/menus.less
+++ b/src/menus.less
@@ -26,9 +26,8 @@
margin: -.2rem -1rem;
padding: .2rem 1rem;
text-decoration: none;
-
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
color: @core-link-color;
}
&:active,
diff --git a/src/navigation.less b/src/navigation.less
index 82d0e6f..f6295bc 100644
--- a/src/navigation.less
+++ b/src/navigation.less
@@ -16,7 +16,6 @@
a {
text-decoration: none;
}
-
&:last-child {
&,
a {
@@ -24,7 +23,6 @@
pointer-events: none;
}
}
-
&:not(:last-child) {
&::after {
color: @control-color;
@@ -34,33 +32,44 @@
}
}
}
+
// Tabs
.tab {
- border-bottom: .1rem solid @control-color;
display: flex;
+ flex-wrap: nowrap;
+ max-width: 100%;
+ overflow-x: auto;
.tab-item {
- margin-bottom: -.1rem;
+ border-bottom: .1rem solid @control-color;
margin-top: 0;
a {
border-bottom: .2rem solid transparent;
color: @body-font-color;
display: block;
- padding: .5rem 1.5rem;
+ margin-bottom: -.1rem;
+ margin-top: 0;
+ padding: .8rem 1.4rem;
text-decoration: none;
-
- &:hover,
- &:focus {
- border-bottom-color: @core-color;
+ &:focus,
+ &:hover {
color: @core-link-color;
}
}
- &.active {
- a {
- border-bottom-color: darken(@core-color, 10%);
- color: darken(@core-link-color, 10%);
+ &.active a,
+ a.active {
+ border-bottom-color: darken(@core-color, 10%);
+ color: darken(@core-link-color, 10%);
+ }
+
+ .badge {
+ &[data-badge]::after {
+ position: absolute;
+ right: -1.4rem;
+ top: 1rem;
+ transform: translate(-50%, -1rem);
}
}
}
@@ -69,18 +78,10 @@
.tab-item {
flex: 1 0 auto;
text-align: center;
-
- .badge {
- &[data-badge]::after {
- position: absolute;
- right: 1.5rem;
- top: .6rem;
- transform: translate(50%, -.8rem);
- }
- }
}
}
}
+
// Pagination
.pagination {
display: inline-block;
@@ -93,15 +94,15 @@
display: inline-block;
padding: .6rem .5rem;
}
+
a {
border-radius: .3rem;
display: inline-block;
margin: 0 .1rem;
padding: .6rem 1.2rem;
text-decoration: none;
-
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
background: @core-secondary-color;
}
}
diff --git a/src/tooltips.less b/src/tooltips.less
index 8eeebdb..2ef0fc0 100644
--- a/src/tooltips.less
+++ b/src/tooltips.less
@@ -1,7 +1,6 @@
// Tooltips
.tooltip {
position: relative;
-
&::after {
background: fade(#333, 90%);
border-radius: .3rem;
@@ -23,14 +22,13 @@
transition: all .216s ease;
z-index: 99;
}
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
&::after {
opacity: 1;
transform: translate(-50%, -.5rem);
}
}
-
&[disabled],
&.disabled {
pointer-events: auto;
@@ -42,8 +40,8 @@
left: 100%;
transform: translate(0, 50%);
}
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
&::after {
transform: translate(.5rem, 50%);
}
@@ -55,8 +53,8 @@
top: 100%;
transform: translate(-50%, 0);
}
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
&::after {
transform: translate(-50%, .5rem);
}
@@ -69,8 +67,8 @@
right: 100%;
transform: translate(0, 50%);
}
- &:hover,
- &:focus {
+ &:focus,
+ &:hover {
&::after {
transform: translate(-.5rem, 50%);
}
diff --git a/src/typography.less b/src/typography.less
index e570dd6..47ef8ab 100644
--- a/src/typography.less
+++ b/src/typography.less
@@ -93,12 +93,12 @@ mark,
// Code
pre {
background: lighten(@core-border-color, 4%);
- border-left: .2rem solid @core-color;
+ border-left: .2rem solid darken(@core-border-color, 5%);
line-height: 1.8rem;
margin-bottom: 1em;
margin-top: 1em;
overflow: auto;
- padding: 1.5rem;
+ padding: 1.5rem 2.5rem;
}
code {
background: @core-border-color;
diff --git a/src/utilities.less b/src/utilities.less
index db79bc4..9772945 100644
--- a/src/utilities.less
+++ b/src/utilities.less
@@ -175,6 +175,7 @@
.circle {
border-radius: 50%;
}
+
// Divider
.divider {
border-bottom: .1rem solid @core-border-color;
@@ -188,7 +189,6 @@
min-height: 1.6rem;
pointer-events: none;
position: relative;
-
&::after {
animation: loading 500ms infinite linear;
border: .2rem solid @core-color;
diff --git a/src/variables.less b/src/variables.less
index 24efa9f..a983efd 100644
--- a/src/variables.less
+++ b/src/variables.less
@@ -1,11 +1,13 @@
// Core variables
+
// Global
@html-font-size: 10px;
@html-line-height: 1.428571429;
@body-bg: #fff;
@body-font-color: #333;
@body-font-size: 1.4rem;
-@body-font-family: "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Hiragino Kaku Gothic Pro", Meiryo, "Malgun Gothic", sans-serif;
+// https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/
+@body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Hiragino Kaku Gothic Pro", Meiryo, "Malgun Gothic", "Helvetica Neue", sans-serif;
// Sizes
@layout-gutter: 1rem;