Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit7395257d70d8c60b5c4499f297f03b75db5af230 (patch)
Author
 Yan Zhu <picturepan2@hotmail.com>
2017-08-19 15:31:50 +0800
Committer
 GitHub <noreply@github.com>
2017-08-19 15:31:50 +0800
Files4998e47bf96155870506a272ba6298cf866a742a
Spectre-Dark-Gruvbox-0.3.1.tar
Spectre-Dark-Gruvbox-0.3.1.tar.gz
Spectre-Dark-Gruvbox-0.3.1.zip
Parentc9e625c9dd8f1628c58b10bb165961eae068002f (diff)
Parentd5f1cb0ba2e559db550a94297f1979be9735bc0b (diff)
Merge pull request #259 from picturepan2/0.2.16 v0.3.1
0.3.1
32 files changed, 1181 insertions, 915 deletions
-rw-r--r--README.md4
-rw-r--r--bower.json2
-rw-r--r--docs/components.html331
-rw-r--r--docs/css/docs.css40
-rw-r--r--docs/dist/spectre.css446
-rw-r--r--docs/dist/spectre.min.css2
-rw-r--r--docs/elements.html412
-rw-r--r--docs/experimentals.html38
-rw-r--r--docs/getting-started.html84
-rw-r--r--docs/index.html26
-rw-r--r--docs/layout.html329
-rw-r--r--docs/src/docs.less46
-rw-r--r--docs/utilities.html69
-rw-r--r--package.json2
-rw-r--r--spectre.less5
-rw-r--r--src/breadcrumbs.less2
-rw-r--r--src/buttons.less4
-rw-r--r--src/cards.less9
-rw-r--r--src/empty.less4
-rw-r--r--src/forms.less9
-rw-r--r--src/labels.less4
-rw-r--r--src/layout.less93
-rw-r--r--src/media.less1
-rw-r--r--src/mixins.less72
-rw-r--r--src/navigation.less13
-rw-r--r--src/navs.less2
-rw-r--r--src/pagination.less2
-rw-r--r--src/panels.less4
-rw-r--r--src/tabs.less11
-rw-r--r--src/tiles.less5
-rw-r--r--src/utilities/display.less15
-rw-r--r--src/utilities/position.less10
diff --git a/README.md b/README.md
index 65b957a..483884f 100644
--- a/README.md
+++ b/README.md
@@ -55,8 +55,6 @@ You can compile your custom version of Spectre.css. Read [the documentation](htt
- [Flexbox grid](https://picturepan2.github.io/spectre/layout.html#grid) - flexbox based responsive grid system
- [Responsive](https://picturepan2.github.io/spectre/layout.html#responsive) - responsive grid and utilities
- [Navbar](https://picturepan2.github.io/spectre/layout.html#navbar) - layout container that appears in the header of apps and websites
-- [Panels](https://picturepan2.github.io/spectre/layout.html#panels) - flexible view container layout with auto-expand content section
-- [Empty states](https://picturepan2.github.io/spectre/layout.html#empty) - empty states/blank slates for first time use, empty data and error screens
#### Components
- [Accordions](https://picturepan2.github.io/spectre/components.html#accordions) - used to toggle sections of content
@@ -67,10 +65,12 @@ You can compile your custom version of Spectre.css. Read [the documentation](htt
- [Bars](https://picturepan2.github.io/spectre/components.html#bars) - progress of a task or the value within the known range
- [Cards](https://picturepan2.github.io/spectre/components.html#cards) - flexible content containers
- [Chips](https://picturepan2.github.io/spectre/components.html#chips) - complex entities in small blocks
+- [Empty states](https://picturepan2.github.io/spectre/components.html#empty) - empty states/blank slates for first time use, empty data and error screens
- [Menus](https://picturepan2.github.io/spectre/components.html#menus) - list of links or buttons for actions and navigation
- [Navs](https://picturepan2.github.io/spectre/components.html#navs) - navigational list of links
- [Modals](https://picturepan2.github.io/spectre/components.html#modals) - flexible dialog prompts
- [Pagination](https://picturepan2.github.io/spectre/components.html#pagination) - navigational links for multiple pages
+- [Panels](https://picturepan2.github.io/spectre/components.html#panels) - flexible view container with auto-expand content section
- [Popovers](https://picturepan2.github.io/spectre/components.html#popovers) - small overlay content containers
- [Steps](https://picturepan2.github.io/spectre/components.html#steps) - progress indicators of a sequence of task steps
- [Tabs](https://picturepan2.github.io/spectre/components.html#tabs) - toggle for different views
diff --git a/bower.json b/bower.json
index a20e4bb..92a8b7b 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "spectre.css",
- "version": "0.2.15",
+ "version": "0.3.1",
"description": "Spectre.css: a lightweight, responsive and modern CSS framework.",
"homepage": "http://picturepan2.github.io/spectre",
"repository": "picturepan2/spectre",
diff --git a/docs/components.html b/docs/components.html
index 3143683..ef5f18d 100644
--- a/docs/components.html
+++ b/docs/components.html
@@ -104,12 +104,6 @@
<li class="menu-item">
<a href="layout.html#navbar">Navbar</a>
</li>
- <li class="menu-item">
- <a href="layout.html#panels">Panels</a>
- </li>
- <li class="menu-item">
- <a href="layout.html#empty">Empty states</a>
- </li>
</ul>
</div>
</div>
@@ -145,6 +139,9 @@
<a href="components.html#chips">Chips</a>
</li>
<li class="menu-item">
+ <a href="components.html#empty">Empty states</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#menus">Menus</a>
</li>
<li class="menu-item">
@@ -157,6 +154,9 @@
<a href="components.html#pagination">Pagination</a>
</li>
<li class="menu-item">
+ <a href="components.html#panels">Panels</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#popovers">Popovers</a>
</li>
<li class="menu-item">
@@ -732,7 +732,7 @@
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Slider bars</h4>
+ <h4 id="bars-slider" class="s-subtitle">Slider bars</h4>
<div class="columns">
<div class="column col-8 col-xs-12">
<div class="bar bar-slider">
@@ -788,7 +788,7 @@
</div>
<div class="columns">
<div class="column col-12">
- <ul class="breadcrumb" role="navigation">
+ <ul class="breadcrumb">
<li class="breadcrumb-item">
<a href="#breadcrumbs" class="tooltip" data-tooltip="Home">
Home
@@ -802,7 +802,7 @@
</ul>
</div>
<div class="column col-12">
- <ul class="breadcrumb" role="navigation">
+ <ul class="breadcrumb">
<li class="breadcrumb-item">
<a href="#breadcrumbs" class="tooltip" data-tooltip="Home">
Home
@@ -874,7 +874,7 @@
</div>
<div class="card-header">
<div class="card-title h5">Microsoft</div>
- <div class="card-subtitle">Software and hardware</div>
+ <div class="card-subtitle text-gray">Software and hardware</div>
</div>
<div class="card-body">
Empower every person and every organization on the planet to achieve more.
@@ -888,7 +888,7 @@
<div class="card">
<div class="card-header">
<div class="card-title h5">Apple</div>
- <div class="card-subtitle">Hardware and software</div>
+ <div class="card-subtitle text-gray">Hardware and software</div>
</div>
<div class="card-image">
<img class="img-responsive" src="img/osx-yosemite.jpg" alt="OS X Yosemite" />
@@ -913,7 +913,7 @@
<div class="card-header">
<button class="btn btn-primary float-right"><i class="icon icon-plus"></i></button>
<div class="card-title h5">Google I/O</div>
- <div class="card-subtitle">Software and hardware</div>
+ <div class="card-subtitle text-gray">Software and hardware</div>
</div>
<div class="card-body">
An immersive, three-day experience focused on exploring the next generation of technology, mobile and beyond.
@@ -938,7 +938,7 @@
<div class="card">
<div class="card-header">
<div class="card-title h5">Apple</div>
- <div class="card-subtitle">Hardware and software</div>
+ <div class="card-subtitle text-gray">Hardware and software</div>
</div>
<div class="card-body">
To make a contribution to the world by making tools for the mind that advance humankind.
@@ -952,7 +952,7 @@
<div class="card">
<div class="card-header">
<div class="card-title h5">Google</div>
- <div class="card-subtitle">Software and hardware</div>
+ <div class="card-subtitle text-gray">Software and hardware</div>
</div>
<div class="card-body">
Organize the world’s information and make it universally accessible and useful.
@@ -978,7 +978,7 @@
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;card-header&quot;</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;card-title h5&quot;</span>&gt;Microsoft&lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;card-subtitle&quot;</span>&gt;Software and hardware&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;card-subtitle text-gray&quot;</span>&gt;Software and hardware&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;card-body&quot;</span>&gt;
Empower every person and every organization on the planet to achieve more.
@@ -1049,6 +1049,73 @@
</div>
+ <div id="empty" class="container">
+ <h3 class="s-title"><a href="#empty" class="anchor" aria-hidden="true">#</a>Empty states</h3>
+ <div class="docs-note">
+ <p>Empty states/blank slates are commonly used as placeholders for first time use, empty data and error screens.</p>
+ </div>
+ <div class="columns">
+ <div class="column col-12">
+ <div class="empty">
+ <div class="empty-icon">
+ <i class="icon icon-message"></i>
+ </div>
+ <p class="empty-title h5">You have no new messages</p>
+ <p class="empty-subtitle">Click the button to start a conversation</p>
+ <div class="empty-action">
+ <button class="btn btn-primary">Send a message</button>
+ </div>
+ </div>
+ </div>
+ <div class="column col-12">
+ <div class="empty">
+ <div class="empty-icon">
+ <i class="icon icon-mail"></i>
+ </div>
+ <p class="empty-title h5">You've successfully signed up</p>
+ <p class="empty-subtitle">Click the button to invite your friends</p>
+ <div class="empty-action">
+ <button class="btn btn-primary">Invite your friends</button>
+ </div>
+ <div class="empty-action">
+ <button class="btn btn-link">Skip</button>
+ </div>
+ </div>
+ </div>
+ <div class="column col-12">
+ <div class="empty">
+ <div class="empty-icon">
+ <i class="icon icon-people"></i>
+ </div>
+ <p class="empty-title h5">You are not following anyone</p>
+ <p class="empty-subtitle">Start to meet new friends</p>
+ <div class="empty-action input-group input-inline">
+ <input type="text" class="form-input" placeholder="" />
+ <button class="btn btn-primary input-group-btn">Search</button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="docs-note">
+ <p>An empty state component can include icons, messages (title and subtitle messages) and action buttons or any combination of those elements. Add <code>empty-icon</code>, <code>empty-title</code>, <code>empty-subtitle</code> or <code>empty-action</code> to the elements. HTML structure is exampled below. </p>
+ </div>
+
+<!-- empty states example -->
+<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;empty&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;empty-icon&quot;</span>&gt;
+ &lt;<span class="tag">i</span> <span class="atn">class</span>=<span class="atv">&quot;icon icon-people&quot;</span>&gt;&lt;<span class="tag">/i</span>&gt;
+ &lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;empty-title h5&quot;</span>&gt;You have no new messages&lt;<span class="tag">/p</span>&gt;
+ &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;empty-subtitle&quot;</span>&gt;Click the button to start a conversation.&lt;<span class="tag">/p</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;empty-action&quot;</span>&gt;
+ &lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn btn-primary&quot;</span>&gt;Send a message&lt;<span class="tag">/button</span>&gt;
+ &lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
+ </div>
+
<div id="menus" class="container">
<h3 class="s-title"><a href="#menus" class="anchor" aria-hidden="true">#</a>Menus</h3>
<div class="docs-note">
@@ -1176,8 +1243,8 @@
</div>
</div>
<div class="column col-xs-12">
- <div class="dropdown dropdown-right">
- <a class="btn btn-primary dropdown-toggle" tabindex="0">dropdown button <i class="icon icon-caret"></i></a>
+ <div class="dropdown">
+ <a class="btn btn-link dropdown-toggle" tabindex="0">dropdown button <i class="icon icon-caret"></i></a>
<ul class="menu">
<li class="menu-item">
<a href="#dropdowns">
@@ -1197,34 +1264,31 @@
</ul>
</div>
</div>
- <div class="column col-xs-12">
- <div class="dropdown">
- <a class="btn btn-link dropdown-toggle" tabindex="0">dropdown button <i class="icon icon-caret"></i></a>
- <ul class="menu">
+ </div>
+ <div class="docs-note">
+ <p>Dropdown menus component is built entirely in CSS. It is triggered by <code>:focus</code> event.</p>
+ <p>Add a container element with the <code>dropdown</code> class. And add a focusable element with the <code>dropdown-toggle</code> class for the button and a <code>menu</code> component right next to it. You also need to add <code>tabindex</code> to make the buttons focusable.</p>
+ <p>If the dropdown is close to the right edge of the browser, you can add the <code>dropdown-right</code> class to the container to prevent it appearing off screen.</p>
+ </div>
+ <div class="columns">
+ <div class="column col-xs-12 text-right">
+ <div class="dropdown dropdown-right">
+ <a class="btn btn-primary dropdown-toggle" tabindex="0">dropdown button <i class="icon icon-caret"></i></a>
+ <ul class="menu text-left">
<li class="menu-item">
- <a href="#dropdowns">
- Slack
- </a>
+ <a href="#dropdowns">Slack</a>
</li>
<li class="menu-item">
- <a href="#dropdowns">
- Hipchat
- </a>
+ <a href="#dropdowns">Hipchat</a>
</li>
<li class="menu-item">
- <a href="#dropdowns">
- Skype
- </a>
+ <a href="#dropdowns">Skype</a>
</li>
</ul>
</div>
</div>
</div>
<div class="docs-note">
- <p>Dropdown menus component is built entirely in CSS. It is triggered by <code>:focus</code> event.</p>
- <p>Add a container element with the <code>dropdown</code> class. And add a focusable element with the <code>dropdown-toggle</code> class for the button and a <code>menu</code> component right next to it. You also need to add <code>tabindex</code> to make the buttons focusable. If the dropdown is close to the right edge of the browser, you can add the <code>dropdown-right</code> class to the container to prevent it appearing off screen.</p>
- </div>
- <div class="docs-note">
<p>Also, you can implement your JS to interact with the dropdown menus by adding the <code>active</code> class to the <code>dropdown</code> container.</p>
</div>
@@ -1290,8 +1354,8 @@
</div>
</div>
<div class="modal-footer">
- <a href="#modals" class="btn btn-link">Close</a>
<button class="btn btn-primary">Share</button>
+ <a href="#modals" class="btn btn-link">Close</a>
</div>
</div>
</div>
@@ -1322,7 +1386,7 @@
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Modal sizes</h4>
+ <h4 id="modals-sizes" class="s-subtitle">Modal sizes</h4>
<div class="columns">
<div class="column col-6 col-xs-12">
<div class="modal-temp modal-sm">
@@ -1338,8 +1402,8 @@
</div>
</div>
<div class="modal-footer">
- <button class="btn btn-link">Close</button>
<button class="btn btn-primary">Share</button>
+ <button class="btn btn-link">Close</button>
</div>
</div>
</div>
@@ -1374,8 +1438,8 @@
</div>
</div>
<div class="modal-footer">
- <button class="btn btn-link">Close</button>
<button class="btn btn-primary">Submit</button>
+ <button class="btn btn-link">Close</button>
</div>
</div>
</div>
@@ -1491,14 +1555,14 @@
<ul class="pagination">
<li class="page-item page-prev">
<a href="#pagination">
- <p class="page-item-subtitle">Previous</p>
- <h4 class="page-item-title">Getting started</h4>
+ <div class="page-item-subtitle">Previous</div>
+ <div class="page-item-title h5">Getting started</div>
</a>
</li>
<li class="page-item page-next">
<a href="#pagination">
- <p class="page-item-subtitle">Next</p>
- <h4 class="page-item-title">Layout</h4>
+ <div class="page-item-subtitle">Next</div>
+ <div class="page-item-title h5">Layout</div>
</a>
</li>
</ul>
@@ -1512,14 +1576,14 @@
<pre class="code" data-lang="HTML"><code>&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 page-prev&quot;</span>&gt;
&lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-subtitle&quot;</span>&gt;Previous&lt;<span class="tag">/p</span>&gt;
- &lt;<span class="tag">h3</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-title&quot;</span>&gt;Getting started&lt;<span class="tag">/h3</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-subtitle&quot;</span>&gt;Previous&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-title h5&quot;</span>&gt;Getting started&lt;<span class="tag">/div</span>&gt;
&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 page-next&quot;</span>&gt;
&lt;<span class="tag">a</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;
- &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-subtitle&quot;</span>&gt;Next&lt;<span class="tag">/p</span>&gt;
- &lt;<span class="tag">h3</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-title&quot;</span>&gt;Layout&lt;<span class="tag">/h3</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-subtitle&quot;</span>&gt;Next&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;page-item-title h5&quot;</span>&gt;Layout&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/a</span>&gt;
&lt;<span class="tag">/li</span>&gt;
&lt;<span class="tag">/ul</span>&gt;
@@ -1527,6 +1591,167 @@
</div>
+ <div id="panels" class="container">
+ <h3 class="s-title"><a href="#panels" class="anchor" aria-hidden="true">#</a>Panels</h3>
+ <div class="docs-note">
+ <p>Panels are flexible view container with auto-expand content section.</p>
+ </div>
+ <div class="columns">
+ <div class="column col-6 col-xs-12">
+ <div class="panel">
+ <div class="panel-header text-center">
+ <figure class="avatar avatar-lg">
+ <img src="img/avatar-2.png" alt="Avatar" />
+ </figure>
+ <div class="panel-title h5 mt-10">Bruce Banner</div>
+ <div class="panel-subtitle">THE HULK</div>
+ </div>
+ <nav class="panel-nav">
+ <ul class="tab tab-block">
+ <li class="tab-item active">
+ <a href="#panels">
+ Profile
+ </a>
+ </li>
+ <li class="tab-item">
+ <a href="#panels">
+ Files
+ </a>
+ </li>
+ <li class="tab-item">
+ <a href="#panels">
+ Tasks
+ </a>
+ </li>
+ </ul>
+ </nav>
+ <div class="panel-body">
+ <div class="tile tile-centered">
+ <div class="tile-content">
+ <div class="tile-title">E-mail</div>
+ <div class="tile-subtitle">bruce.banner@hulk.com</div>
+ </div>
+ <div class="tile-action">
+ <button class="btn btn-link btn-action btn-lg"><i class="icon icon-edit"></i></button>
+ </div>
+ </div>
+ <div class="tile tile-centered">
+ <div class="tile-content">
+ <div class="tile-title">Skype</div>
+ <div class="tile-subtitle">bruce.banner</div>
+ </div>
+ <div class="tile-action">
+ <button class="btn btn-link btn-action btn-lg"><i class="icon icon-edit"></i></button>
+ </div>
+ </div>
+ <div class="tile tile-centered">
+ <div class="tile-content">
+ <div class="tile-title">Location</div>
+ <div class="tile-subtitle">Dayton, Ohio</div>
+ </div>
+ <div class="tile-action">
+ <button class="btn btn-link btn-action btn-lg"><i class="icon icon-edit"></i></button>
+ </div>
+ </div>
+ </div>
+ <div class="panel-footer">
+ <button class="btn btn-primary btn-block">Save</button>
+ </div>
+ </div>
+ </div>
+ <div class="column col-6 col-xs-12">
+ <div class="panel">
+ <div class="panel-header">
+ <div class="panel-title h6">Comments</div>
+ </div>
+ <div class="panel-body">
+ <div class="tile">
+ <div class="tile-icon">
+ <figure class="avatar">
+ <img src="img/avatar-1.png" alt="Avatar" />
+ </figure>
+ </div>
+ <div class="tile-content">
+ <p class="tile-title">Thor Odinson</p>
+ <p class="tile-subtitle">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
+ </div>
+ </div>
+ <div class="tile">
+ <div class="tile-icon">
+ <figure class="avatar">
+ <img src="img/avatar-2.png" alt="Avatar" />
+ </figure>
+ </div>
+ <div class="tile-content">
+ <p class="tile-title">Bruce Banner</p>
+ <p class="tile-subtitle">The Strategic Homeland Intervention, Enforcement, and Logistics Division...</p>
+ </div>
+ </div>
+ <div class="tile">
+ <div class="tile-icon">
+ <figure class="avatar" data-initial="TS"></figure>
+ </div>
+ <div class="tile-content">
+ <p class="tile-title">Tony Stark</p>
+ <p class="tile-subtitle">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
+ </div>
+ </div>
+ <div class="tile">
+ <div class="tile-icon">
+ <figure class="avatar">
+ <img src="img/avatar-4.png" alt="Avatar" />
+ </figure>
+ </div>
+ <div class="tile-content">
+ <p class="tile-title">Steve Rogers</p>
+ <p class="tile-subtitle">The Strategic Homeland Intervention, Enforcement, and Logistics Division...</p>
+ </div>
+ </div>
+ <div class="tile">
+ <div class="tile-icon">
+ <figure class="avatar">
+ <img src="img/avatar-3.png" alt="Avatar" />
+ </figure>
+ </div>
+ <div class="tile-content">
+ <p class="tile-title">Natasha Romanoff</p>
+ <p class="tile-subtitle">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
+ </div>
+ </div>
+ </div>
+ <div class="panel-footer">
+ <div class="input-group">
+ <input type="text" class="form-input" placeholder="Hello" />
+ <button class="btn btn-primary input-group-btn">Send</button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="docs-note">
+ <p>Add a container element with the <code>panel</code> class. And add child elements with the <code>panel-header</code>, <code>panel-nav</code>, <code>panel-body</code> and/or <code>panel-footer</code> class. The <code>panel-body</code> can be auto expanded and vertically scrollable. </p>
+ </div>
+
+<!-- panels example -->
+<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-header&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-title&quot;</span>&gt;Comments&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-nav&quot;</span>&gt;
+ <span class="com">&lt;!-- navigation components: tabs, breadcrumbs or pagination --&gt;</span>
+ &lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-body&quot;</span>&gt;
+ <span class="com">&lt;!-- contents --&gt;</span>
+ &lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-footer&quot;</span>&gt;
+ <span class="com">&lt;!-- buttons or inputs --&gt;</span>
+ &lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
+ </div>
+
<div id="navs" class="container">
<h3 class="s-title"><a href="#navs" class="anchor" aria-hidden="true">#</a>Navs</h3>
<div class="columns">
@@ -1908,7 +2133,7 @@
<li class="tab-item active">
<a href="#tabs">
Music
- <button class="btn btn-clear"></button>
+ <span class="btn btn-clear"></span>
</a>
</li>
<li class="tab-item">
@@ -1972,7 +2197,7 @@
</div>
<div class="tile-content">
<p class="tile-title">The Avengers</p>
- <p class="tile-subtitle">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
+ <p class="tile-subtitle text-gray">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
</div>
<div class="tile-action">
<button class="btn btn-primary">Join</button>
@@ -1989,7 +2214,7 @@
</div>
<div class="tile-content">
<p class="tile-title">The S.H.I.E.L.D.</p>
- <p class="tile-subtitle">The Strategic Homeland Intervention, Enforcement, and Logistics Division...</p>
+ <p class="tile-subtitle text-gray">The Strategic Homeland Intervention, Enforcement, and Logistics Division...</p>
<p>
<button class="btn btn-primary btn-sm">Join</button>
<button class="btn btn-sm">Contact</button>
@@ -2012,7 +2237,7 @@
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;tile-content&quot;</span>&gt;
&lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;tile-title&quot;</span>&gt;The Avengers&lt;<span class="tag">/p</span>&gt;
- &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;tile-subtitle&quot;</span>&gt;Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...&lt;<span class="tag">/p</span>&gt;
+ &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;tile-subtitle text-gray&quot;</span>&gt;Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...&lt;<span class="tag">/p</span>&gt;
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;tile-action&quot;</span>&gt;
&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn btn-primary&quot;</span>&gt;Join&lt;<span class="tag">/button</span>&gt;
@@ -2020,7 +2245,7 @@
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Compact tiles</h4>
+ <h4 id="tiles-compact" class="s-subtitle">Compact tiles</h4>
<div class="docs-note">
<p>There is compact version of Tiles component, which is often used as contact and file info blocks.</p>
<p>Add the <code>tile-centered</code> class to the container <code>tile</code>. The <code>tile-icon</code>, <code>tile-content</code> and <code>tile-action</code> will be vertically centered.</p>
@@ -2035,7 +2260,7 @@
</div>
<div class="tile-content">
<div class="tile-title">spectre-docs.pdf</div>
- <div class="tile-subtitle">14MB · Public · 1 Jan, 2017</div>
+ <div class="tile-subtitle text-gray">14MB · Public · 1 Jan, 2017</div>
</div>
<div class="tile-action">
<button class="btn btn-link btn-action"><i class="icon icon-more-vert"></i></button>
@@ -2053,7 +2278,7 @@
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;tile-content&quot;</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;tile-title&quot;</span>&gt;spectre-docs.pdf&lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;tile-subtitle&quot;</span>&gt;14MB · Public · 1 Jan, 2017&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;tile-subtitle text-gray&quot;</span>&gt;14MB · Public · 1 Jan, 2017&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;tile-action&quot;</span>&gt;
&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn btn-link&quot;</span>&gt;
diff --git a/docs/css/docs.css b/docs/css/docs.css
index 02a6090..ee90ee6 100644
--- a/docs/css/docs.css
+++ b/docs/css/docs.css
@@ -1,7 +1,7 @@
/*! Spectre.css Docs | MIT License | github.com/picturepan2/spectre */
/* Spectre version */
.version::after {
- content: "0.2.15";
+ content: "0.3.1";
}
/* Spectre New Docs */
.s-container > .columns {
@@ -120,7 +120,7 @@
}
.s-content .docs-block {
border-radius: .1rem;
- padding: .5rem;
+ padding: .4rem;
}
.s-content .docs-block.bg-gray {
background: #f0f1f4;
@@ -256,23 +256,15 @@
color: #727e96;
}
/* Spectre Homepage style */
-.section-header {
- -webkit-backdrop-filter: blur(.5rem);
- backdrop-filter: blur(.5rem);
- background: rgba(248, 249, 250, .9);
+.section-hero {
padding: 1rem .5rem;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: 200;
+ position: relative;
}
-.section-header .s-brand {
- padding: 0;
- position: static;
+.section-hero .s-brand {
+ position: absolute;
}
-.section-hero {
- padding: 1.5rem .5rem;
- position: relative;
+.section-hero .s-brand h2 {
+ color: #5764c6;
}
.section-hero .column {
padding: .4rem;
@@ -302,7 +294,7 @@
}
.grid-hero {
margin-bottom: 2rem;
- margin-top: 5rem;
+ margin-top: 6rem;
}
.grid-hero h1 {
color: #454d5d;
@@ -413,12 +405,24 @@
}
.s-content .s-title,
.s-content .s-subtitle {
+ padding-top: 5rem;
position: static;
}
.s-content .s-title::before,
.s-content .s-subtitle::before {
display: none;
}
+ .section-hero .s-brand {
+ height: 5rem;
+ padding: 1.5rem .5rem;
+ }
+ .section-hero .s-brand .s-logo {
+ height: auto;
+ }
+ .section-hero .s-brand img {
+ height: 3.2rem;
+ width: 3.2rem;
+ }
}
@media screen and (max-width: 600px) {
.grid-hero h2 {
@@ -431,7 +435,7 @@
padding: 3.5rem .5rem 0 .5rem;
}
.s-content .docs-block {
- padding: .5rem .1rem;
+ padding: .4rem .1rem;
}
.s-content .anchor {
display: none;
diff --git a/docs/dist/spectre.css b/docs/dist/spectre.css
index bca18e2..030808a 100644
--- a/docs/dist/spectre.css
+++ b/docs/dist/spectre.css
@@ -478,8 +478,8 @@ kbd {
border-radius: .1rem;
color: #fff;
display: inline-block;
- line-height: 1;
- padding: .2em .3em;
+ line-height: 1.2;
+ padding: .1em .3em;
vertical-align: baseline;
}
mark {
@@ -487,8 +487,8 @@ mark {
border-radius: .1rem;
color: #454d5d;
display: inline-block;
- line-height: 1;
- padding: .2em .3em;
+ line-height: 1.2;
+ padding: .1em .3em;
vertical-align: baseline;
}
blockquote {
@@ -692,12 +692,12 @@ dl dd {
.btn.btn-sm {
font-size: .6rem;
height: 1.2rem;
- padding: .05rem .4rem;
+ padding: .05rem .3rem;
}
.btn.btn-lg {
font-size: .8rem;
height: 2rem;
- padding: .45rem .4rem;
+ padding: .45rem .6rem;
}
.btn.btn-block {
display: block;
@@ -851,7 +851,7 @@ textarea.form-input {
height: auto;
}
.form-input[type="file"] {
- height: auto;
+ padding: .125rem;
}
.form-input-hint {
color: #acb3c2;
@@ -874,18 +874,23 @@ textarea.form-input {
border-radius: .1rem;
color: inherit;
font-size: .7rem;
+ height: 1.6rem;
line-height: 1rem;
outline: none;
padding: .25rem .4rem;
vertical-align: middle;
width: 100%;
}
+.form-select[size],
+.form-select[multiple] {
+ height: auto;
+}
+.form-select[size] option,
.form-select[multiple] option {
padding: .1rem .2rem;
}
-.form-select:not([multiple]) {
+.form-select:not([multiple]):not([size]) {
background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23667189' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .35rem center / .4rem .5rem;
- height: 1.6rem;
padding-right: 1.1rem;
}
.form-select:focus {
@@ -1223,14 +1228,18 @@ input.disabled + .form-icon {
border-radius: .1rem;
color: #50596c;
display: inline-block;
- line-height: 1;
- padding: .2em .3em;
+ line-height: 1.2;
+ padding: .1em .3em;
vertical-align: baseline;
}
.label.label-primary {
background: #5764c6;
color: #fff;
}
+.label.label-secondary {
+ background: #eff1fa;
+ color: #5764c6;
+}
.label.label-success {
background: #32b643;
color: #fff;
@@ -1248,8 +1257,8 @@ code {
border-radius: .1rem;
color: #e06870;
display: inline-block;
- line-height: 1;
- padding: .2em .3em;
+ line-height: 1.2;
+ padding: .1em .3em;
vertical-align: baseline;
}
.code {
@@ -1301,6 +1310,7 @@ code {
.video-responsive iframe,
.video-responsive object,
.video-responsive embed {
+ border: 0;
bottom: 0;
height: 100%;
left: 0;
@@ -1349,6 +1359,13 @@ code {
.container.grid-xs {
max-width: 496px;
}
+.show-xs,
+.show-sm,
+.show-md,
+.show-lg,
+.show-xl {
+ display: none !important;
+}
.columns {
display: flex;
display: -ms-flexbox;
@@ -1363,7 +1380,7 @@ code {
margin-left: 0;
margin-right: 0;
}
-.columns.col-gapless .column {
+.columns.col-gapless > .column {
padding-left: 0;
padding-right: 0;
}
@@ -1433,6 +1450,23 @@ code {
.col-1 {
width: 8.33333333%;
}
+.col-auto {
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ max-width: none;
+ width: auto;
+}
+.col-mx-auto {
+ margin-left: auto;
+ margin-right: auto;
+}
+.col-ml-auto {
+ margin-left: auto;
+}
+.col-mr-auto {
+ margin-right: auto;
+}
@media screen and (max-width: 1280px) {
.col-xl-12,
.col-xl-11,
@@ -1486,6 +1520,12 @@ code {
.col-xl-1 {
width: 8.33333333%;
}
+ .hide-xl {
+ display: none !important;
+ }
+ .show-xl {
+ display: block !important;
+ }
}
@media screen and (max-width: 960px) {
.col-lg-12,
@@ -1540,6 +1580,12 @@ code {
.col-lg-1 {
width: 8.33333333%;
}
+ .hide-lg {
+ display: none !important;
+ }
+ .show-lg {
+ display: block !important;
+ }
}
@media screen and (max-width: 840px) {
.col-md-12,
@@ -1594,6 +1640,12 @@ code {
.col-md-1 {
width: 8.33333333%;
}
+ .hide-md {
+ display: none !important;
+ }
+ .show-md {
+ display: block !important;
+ }
}
@media screen and (max-width: 600px) {
.col-sm-12,
@@ -1648,6 +1700,12 @@ code {
.col-sm-1 {
width: 8.33333333%;
}
+ .hide-sm {
+ display: none !important;
+ }
+ .show-sm {
+ display: block !important;
+ }
}
@media screen and (max-width: 480px) {
.col-xs-12,
@@ -1702,15 +1760,6 @@ code {
.col-xs-1 {
width: 8.33333333%;
}
-}
-.show-xs,
-.show-sm,
-.show-md,
-.show-lg,
-.show-xl {
- display: none !important;
-}
-@media screen and (max-width: 480px) {
.hide-xs {
display: none !important;
}
@@ -1718,38 +1767,6 @@ code {
display: block !important;
}
}
-@media screen and (max-width: 600px) {
- .hide-sm {
- display: none !important;
- }
- .show-sm {
- display: block !important;
- }
-}
-@media screen and (max-width: 840px) {
- .hide-md {
- display: none !important;
- }
- .show-md {
- display: block !important;
- }
-}
-@media screen and (max-width: 960px) {
- .hide-lg {
- display: none !important;
- }
- .show-lg {
- display: block !important;
- }
-}
-@media screen and (max-width: 1280px) {
- .hide-xl {
- display: none !important;
- }
- .show-xl {
- display: block !important;
- }
-}
.navbar {
-webkit-align-items: stretch;
align-items: stretch;
@@ -1825,9 +1842,6 @@ code {
overflow-y: auto;
padding: 0 .8rem;
}
-.panel .panel-subtitle {
- color: #acb3c2;
-}
.empty {
background: #f8f9fa;
border-radius: .1rem;
@@ -1842,9 +1856,6 @@ code {
.empty .empty-subtitle {
margin: .4rem auto;
}
-.empty .empty-subtitle {
- color: #acb3c2;
-}
.empty .empty-action {
margin-top: .8rem;
}
@@ -2032,6 +2043,28 @@ code {
padding: 0;
width: .4rem;
}
+.breadcrumb {
+ list-style: none;
+ margin: .2rem 0;
+ padding: .2rem 0;
+}
+.breadcrumb .breadcrumb-item {
+ color: #727e96;
+ display: inline-block;
+ margin: 0;
+ padding: .2rem 0;
+}
+.breadcrumb .breadcrumb-item:not(:last-child) {
+ margin-right: .2rem;
+}
+.breadcrumb .breadcrumb-item:not(:last-child) a {
+ color: #727e96;
+}
+.breadcrumb .breadcrumb-item:not(:first-child)::before {
+ color: #e7e9ed;
+ content: "/";
+ padding-right: .2rem;
+}
.bar {
background: #f0f1f4;
border-radius: .1rem;
@@ -2107,7 +2140,12 @@ code {
background: #fff;
border: .05rem solid #e7e9ed;
border-radius: .1rem;
- display: block;
+ display: flex;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
}
.card .card-header,
.card .card-body,
@@ -2134,9 +2172,6 @@ code {
border-bottom-left-radius: .1rem;
border-bottom-right-radius: .1rem;
}
-.card .card-subtitle {
- color: #acb3c2;
-}
.chip {
-webkit-align-items: center;
align-items: center;
@@ -2313,91 +2348,43 @@ code {
padding: .8rem;
text-align: right;
}
-.breadcrumb,
-.tab,
-.pagination,
.nav {
- list-style: none;
- margin: .2rem 0;
-}
-.breadcrumb {
- padding: .2rem 0;
-}
-.breadcrumb .breadcrumb-item {
- color: #727e96;
- display: inline-block;
- margin: 0;
- padding: .2rem 0;
-}
-.breadcrumb .breadcrumb-item:not(:last-child) {
- margin-right: .2rem;
-}
-.breadcrumb .breadcrumb-item:not(:last-child) a {
- color: #727e96;
-}
-.breadcrumb .breadcrumb-item:not(:first-child)::before {
- color: #e7e9ed;
- content: "/";
- padding-right: .2rem;
-}
-.tab {
- -webkit-align-items: center;
- align-items: center;
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
- -ms-flex-align: center;
- -webkit-flex-wrap: wrap;
- -ms-flex-wrap: wrap;
- flex-wrap: wrap;
-}
-.tab .tab-item {
- margin-top: 0;
-}
-.tab .tab-item.tab-action {
- -webkit-flex: 1 0 auto;
- -ms-flex: 1 0 auto;
- flex: 1 0 auto;
- text-align: right;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ list-style: none;
+ margin: .2rem 0;
}
-.tab .tab-item a {
- border-bottom: .1rem solid transparent;
- color: inherit;
- display: block;
- margin-top: 0;
- padding: 6px 12px 4px 12px;
+.nav .nav-item a {
+ color: #727e96;
+ padding: .2rem .4rem;
text-decoration: none;
}
-.tab .tab-item a:focus,
-.tab .tab-item a:hover {
- color: #5764c6;
-}
-.tab .tab-item.active a,
-.tab .tab-item a.active {
- border-bottom-color: #5764c6;
+.nav .nav-item a:focus,
+.nav .nav-item a:hover {
color: #5764c6;
}
-.tab.tab-block .tab-item {
- -webkit-flex: 1 0 0;
- -ms-flex: 1 0 0;
- flex: 1 0 0;
- text-align: center;
+.nav .nav-item.active > a {
+ color: #5b657a;
+ font-weight: bold;
}
-.tab.tab-block .tab-item .badge[data-badge]::after {
- position: absolute;
- right: -4px;
- top: -4px;
- -webkit-transform: translate(0, 0);
- -ms-transform: translate(0, 0);
- transform: translate(0, 0);
+.nav .nav-item.active > a:focus,
+.nav .nav-item.active > a:hover {
+ color: #5764c6;
}
-.tab:not(.tab-block) .badge {
- padding-right: 2px;
+.nav .nav {
+ margin-bottom: .4rem;
+ margin-left: .8rem;
}
.pagination {
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
+ list-style: none;
+ margin: .2rem 0;
padding: .2rem 0;
}
.pagination .page-item {
@@ -2443,35 +2430,6 @@ code {
margin: 0;
opacity: .5;
}
-.nav {
- display: flex;
- display: -ms-flexbox;
- display: -webkit-flex;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
-}
-.nav .nav-item a {
- color: #727e96;
- padding: .2rem .4rem;
- text-decoration: none;
-}
-.nav .nav-item a:focus,
-.nav .nav-item a:hover {
- color: #5764c6;
-}
-.nav .nav-item.active > a {
- color: #5b657a;
- font-weight: bold;
-}
-.nav .nav-item.active > a:focus,
-.nav .nav-item.active > a:hover {
- color: #5764c6;
-}
-.nav .nav {
- margin-bottom: .4rem;
- margin-left: .8rem;
-}
.popover {
display: inline-block;
position: relative;
@@ -2599,6 +2557,66 @@ code {
.step .step-item.active ~ .step-item a::before {
background: #e7e9ed;
}
+.tab {
+ -webkit-align-items: center;
+ align-items: center;
+ border-bottom: .05rem solid #e7e9ed;
+ display: flex;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ -ms-flex-align: center;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ list-style: none;
+ margin: .2rem 0 .15rem 0;
+}
+.tab .tab-item {
+ margin-top: 0;
+}
+.tab .tab-item.tab-action {
+ -webkit-flex: 1 0 auto;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ text-align: right;
+}
+.tab .tab-item a {
+ border-bottom: .1rem solid transparent;
+ color: inherit;
+ display: block;
+ margin: 0 .4rem 0 0;
+ padding: .4rem .2rem .3rem .2rem;
+ text-decoration: none;
+}
+.tab .tab-item a:focus,
+.tab .tab-item a:hover {
+ color: #5764c6;
+}
+.tab .tab-item.active a,
+.tab .tab-item a.active {
+ border-bottom-color: #5764c6;
+ color: #5764c6;
+}
+.tab.tab-block .tab-item {
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0;
+ flex: 1 0 0;
+ text-align: center;
+}
+.tab.tab-block .tab-item a {
+ margin: 0;
+}
+.tab.tab-block .tab-item .badge[data-badge]::after {
+ position: absolute;
+ right: -4px;
+ top: -4px;
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0);
+}
+.tab:not(.tab-block) .badge {
+ padding-right: 2px;
+}
.tile {
-webkit-align-content: space-between;
align-content: space-between;
@@ -2627,11 +2645,8 @@ code {
.tile .tile-content:not(:last-child) {
padding-right: .4rem;
}
-.tile .tile-title {
- line-height: 1rem;
-}
+.tile .tile-title,
.tile .tile-subtitle {
- color: #acb3c2;
line-height: 1rem;
}
.tile.tile-centered {
@@ -2879,32 +2894,33 @@ a.text-error:hover {
.bg-error {
background: #e85600;
}
-.block {
+.d-block {
display: block;
}
-.inline {
+.d-inline {
display: inline;
}
-.inline-block {
+.d-inline-block {
display: inline-block;
}
-.flex {
+.d-flex {
display: flex;
display: -ms-flexbox;
display: -webkit-flex;
}
-.inline-flex {
+.d-inline-flex {
display: inline-flex;
display: -ms-inline-flexbox;
display: -webkit-inline-flex;
}
+.d-none,
.hide {
display: none !important;
}
-.visible {
+.d-visible {
visibility: visible;
}
-.invisible {
+.d-invisible {
visibility: hidden;
}
.text-hide {
@@ -3038,51 +3054,97 @@ a.text-error:hover {
margin-left: auto;
margin-right: auto;
}
+.m-0 {
+ margin: 0;
+}
+.mb-0 {
+ margin-bottom: 0;
+}
+.ml-0 {
+ margin-left: 0;
+}
+.mr-0 {
+ margin-right: 0;
+}
+.mt-0 {
+ margin-top: 0;
+}
+.mx-0 {
+ margin-left: 0;
+ margin-right: 0;
+}
+.my-0 {
+ margin-bottom: 0;
+ margin-top: 0;
+}
.m-1 {
- padding: .2rem;
+ margin: .2rem;
}
.mb-1 {
- padding-bottom: .2rem;
+ margin-bottom: .2rem;
}
.ml-1 {
- padding-left: .2rem;
+ margin-left: .2rem;
}
.mr-1 {
- padding-right: .2rem;
+ margin-right: .2rem;
}
.mt-1 {
- padding-top: .2rem;
+ margin-top: .2rem;
}
.mx-1 {
- padding-left: .2rem;
- padding-right: .2rem;
+ margin-left: .2rem;
+ margin-right: .2rem;
}
.my-1 {
- padding-bottom: .2rem;
- padding-top: .2rem;
+ margin-bottom: .2rem;
+ margin-top: .2rem;
}
.m-2 {
- padding: .4rem;
+ margin: .4rem;
}
.mb-2 {
- padding-bottom: .4rem;
+ margin-bottom: .4rem;
}
.ml-2 {
- padding-left: .4rem;
+ margin-left: .4rem;
}
.mr-2 {
- padding-right: .4rem;
+ margin-right: .4rem;
}
.mt-2 {
- padding-top: .4rem;
+ margin-top: .4rem;
}
.mx-2 {
- padding-left: .4rem;
- padding-right: .4rem;
+ margin-left: .4rem;
+ margin-right: .4rem;
}
.my-2 {
- padding-bottom: .4rem;
- padding-top: .4rem;
+ margin-bottom: .4rem;
+ margin-top: .4rem;
+}
+.p-0 {
+ padding: 0;
+}
+.pb-0 {
+ padding-bottom: 0;
+}
+.pl-0 {
+ padding-left: 0;
+}
+.pr-0 {
+ padding-right: 0;
+}
+.pt-0 {
+ padding-top: 0;
+}
+.px-0 {
+ padding-left: 0;
+ padding-right: 0;
+}
+.py-0 {
+ padding-bottom: 0;
+ padding-top: 0;
}
.p-1 {
padding: .2rem;
diff --git a/docs/dist/spectre.min.css b/docs/dist/spectre.min.css
index 4475d6b..59de04a 100644
--- a/docs/dist/spectre.min.css
+++ b/docs/dist/spectre.min.css
@@ -1 +1 @@
-/*! Spectre.css | MIT License | github.com/picturepan2/spectre */html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}small{font-size:80%;font-weight:400}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}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}fieldset{border:0;margin:0;padding:0}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[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-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}*,::after,::before{box-sizing:inherit}html{box-sizing:border-box;font-size:20px;line-height:1.42857143;-webkit-tap-highlight-color:transparent}body{background:#fff;color:#454d5d;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;font-size:.7rem;overflow-x:hidden;text-rendering:optimizeLegibility}a{color:#5764c6;outline:0;text-decoration:none}a:focus{box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}a.active,a:active,a:focus,a:hover{color:#4452c0;text-decoration:underline}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:500;line-height:1.2;margin-bottom:.5em;margin-top:0}.h1,.h2,.h3,.h4,.h5,.h6{font-weight:500}.h1,h1{font-size:2rem}.h2,h2{font-size:1.6rem}.h3,h3{font-size:1.4rem}.h4,h4{font-size:1.2rem}.h5,h5{font-size:1rem}.h6,h6{font-size:.8rem}p{line-height:1.2rem;margin:0 0 .8rem}a,ins,u{-webkit-text-decoration-skip:ink edges;text-decoration-skip:ink edges}abbr[title]{border-bottom:.05rem dotted;cursor:help;text-decoration:none}kbd{background:#454d5d;border-radius:.1rem;color:#fff;display:inline-block;line-height:1;padding:.2em .3em;vertical-align:baseline}mark{background:#ffe9b3;border-radius:.1rem;color:#454d5d;display:inline-block;line-height:1;padding:.2em .3em;vertical-align:baseline}blockquote{border-left:.1rem solid #e7e9ed;margin-left:0;padding:.4rem .8rem}blockquote p:last-child{margin-bottom:0}blockquote cite{color:#acb3c2}ol,ul{margin:.8rem 0 .8rem .8rem;padding:0}ol ol,ol ul,ul ol,ul ul{margin:.8rem 0 .8rem .8rem}ol li,ul li{margin-top:.4rem}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:.4rem 0 .8rem 0}:lang(zh){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",sans-serif}:lang(ja){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Hiragino Kaku Gothic Pro","Yu Gothic",YuGothic,Meiryo,"Helvetica Neue",sans-serif}:lang(ko){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Malgun Gothic","Helvetica Neue",sans-serif}.cjk ins,.cjk u,:lang(ja) ins,:lang(ja) u,:lang(zh) ins,:lang(zh) u{border-bottom:.05rem solid;text-decoration:none}.cjk del+del,.cjk del+s,.cjk ins+ins,.cjk ins+u,.cjk s+del,.cjk s+s,.cjk u+ins,.cjk u+u,:lang(ja) del+del,:lang(ja) del+s,:lang(ja) ins+ins,:lang(ja) ins+u,:lang(ja) s+del,:lang(ja) s+s,:lang(ja) u+ins,:lang(ja) u+u,:lang(zh) del+del,:lang(zh) del+s,:lang(zh) ins+ins,:lang(zh) ins+u,:lang(zh) s+del,:lang(zh) s+s,:lang(zh) u+ins,:lang(zh) u+u{margin-left:.125em}.table{border-collapse:collapse;border-spacing:0;text-align:left;width:100%}.table.table-striped tbody tr:nth-of-type(odd){background:#f8f9fa}.table.table-hover tbody tr:hover{background:#f0f1f4}.table tbody tr.active,.table.table-striped tbody tr.active{background:#f0f1f4}.table td,.table th{border-bottom:.05rem solid #e7e9ed;padding:.6rem .4rem}.table th{border-bottom-width:.1rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:.05rem solid #5764c6;border-radius:.1rem;color:#5764c6;cursor:pointer;display:inline-block;font-size:.7rem;height:1.6rem;line-height:1rem;outline:0;padding:.25rem .4rem;text-align:center;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn:focus{background:#eff1fa;box-shadow:0 0 0 .1rem rgba(87,100,198,.2);text-decoration:none}.btn:hover{background:#eff1fa;border-color:#4c59c2;text-decoration:none}.btn.active,.btn:active{background:#4c59c2;border-color:#3e4cb6;color:#fff;text-decoration:none}.btn.active.loading::after,.btn:active.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.disabled,.btn:disabled,.btn[disabled]{cursor:default;opacity:.5;pointer-events:none}.btn.btn-primary{background:#5764c6;border-color:#4c59c2;color:#fff}.btn.btn-primary:focus,.btn.btn-primary:hover{background:#4452c0;border-color:#3e4cb6;color:#fff}.btn.btn-primary.active,.btn.btn-primary:active{background:#3f4eba;border-color:#3b49af;color:#fff}.btn.btn-primary.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.btn-link{background:0 0;border-color:transparent;color:#5764c6}.btn.btn-link.active,.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover{color:#4452c0}.btn.btn-sm{font-size:.6rem;height:1.2rem;padding:.05rem .4rem}.btn.btn-lg{font-size:.8rem;height:2rem;padding:.45rem .4rem}.btn.btn-block{display:block;width:100%}.btn.btn-action{padding-left:0;padding-right:0;width:1.6rem}.btn.btn-action.btn-sm{width:1.2rem}.btn.btn-action.btn-lg{width:2rem}.btn.btn-clear{background:0 0;border:0;color:currentColor;height:.8rem;line-height:.8rem;margin-left:.2rem;margin-right:-2px;opacity:.45;padding:0 2px;text-decoration:none;width:.8rem}.btn.btn-clear:hover{opacity:.85}.btn.btn-clear::before{content:"\2715"}.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:-.05rem}.btn-group .btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.05rem}.btn-group .btn.active,.btn-group .btn:active,.btn-group .btn:focus,.btn-group .btn:hover{z-index:1}.btn-group.btn-group-block{display:flex;display:-ms-flexbox;display:-webkit-flex}.btn-group.btn-group-block .btn{-webkit-flex:1 0 0;-ms-flex:1 0 0;flex:1 0 0}.form-group:not(:last-child){margin-bottom:.4rem}fieldset{margin-bottom:.8rem}legend{font-size:.8rem;font-weight:500;margin-bottom:.8rem}.form-label{display:block;padding:.3rem 0}.form-label.label-sm{padding:.1rem 0}.form-label.label-lg{padding:.5rem 0}.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;background-image:none;border:.05rem solid #caced7;border-radius:.1rem;color:#454d5d;display:block;font-size:.7rem;height:1.6rem;line-height:1rem;max-width:100%;outline:0;padding:.25rem .4rem;position:relative;transition:all .2s ease;width:100%}.form-input:focus{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-input::-webkit-input-placeholder{color:#acb3c2}.form-input::-moz-placeholder{color:#acb3c2}.form-input:-ms-input-placeholder{color:#acb3c2}.form-input::placeholder{color:#acb3c2}.form-input.input-sm{font-size:.6rem;height:1.2rem;padding:.05rem .4rem}.form-input.input-lg{font-size:.8rem;height:2rem;padding:.45rem .4rem}.form-input.input-inline{display:inline-block;vertical-align:middle;width:auto}textarea.form-input{height:auto}.form-input[type=file]{height:auto}.form-input-hint{color:#acb3c2;font-size:.6rem;margin-top:.2rem}.has-success .form-input-hint,.is-success+.form-input-hint{color:#32b643}.has-error .form-input-hint,.is-error+.form-input-hint{color:#e85600}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.05rem solid #caced7;border-radius:.1rem;color:inherit;font-size:.7rem;line-height:1rem;outline:0;padding:.25rem .4rem;vertical-align:middle;width:100%}.form-select[multiple] option{padding:.1rem .2rem}.form-select:not([multiple]){background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23667189' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .35rem center/.4rem .5rem;height:1.6rem;padding-right:1.1rem}.form-select:focus{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-select::-ms-expand{display:none}.form-select.select-sm{font-size:.6rem;height:1.2rem;padding:.05rem 1.1rem .05rem .4rem}.form-select.select-lg{font-size:.8rem;height:2rem;padding:.45rem 1.1rem .45rem .4rem}.has-icon-left,.has-icon-right{position:relative}.has-icon-left .form-icon,.has-icon-right .form-icon{height:.7rem;margin:0 .25rem;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:.7rem}.has-icon-left .form-icon{left:.05rem}.has-icon-left .form-input{padding-left:1.2rem}.has-icon-right .form-icon{right:.05rem}.has-icon-right .form-input{padding-right:1.2rem}.form-checkbox,.form-radio,.form-switch{display:inline-block;line-height:1rem;padding:.1rem 1.1rem;position:relative}.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{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-checkbox input:checked+.form-icon,.form-radio input:checked+.form-icon,.form-switch input:checked+.form-icon{background:#5764c6;border-color:#5764c6}.form-checkbox .form-icon,.form-radio .form-icon,.form-switch .form-icon{border:.05rem solid #caced7;cursor:pointer;display:inline-block;position:absolute;transition:all .2s ease}.form-checkbox .form-icon,.form-radio .form-icon{background:#fff;height:.7rem;left:0;top:.25rem;width:.7rem}.form-checkbox input:active+.form-icon,.form-radio input:active+.form-icon{background:#f0f1f4}.form-checkbox .form-icon{border-radius:.1rem}.form-checkbox input:checked+.form-icon::before{background-clip:padding-box;border:.1rem solid #fff;border-left-width:0;border-top-width:0;content:"";height:10px;left:50%;margin-left:-3px;margin-top:-6px;position:absolute;top:50%;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:6px}.form-checkbox input:indeterminate+.form-icon{background:#5764c6;border-color:#5764c6}.form-checkbox input:indeterminate+.form-icon::before{background:#fff;content:"";height:2px;left:50%;margin-left:-5px;margin-top:-1px;position:absolute;top:50%;width:10px}.form-radio .form-icon{border-radius:.35rem}.form-radio input:checked+.form-icon::before{background:#fff;border-radius:.1rem;content:"";height:4px;left:50%;margin-left:-2px;margin-top:-2px;position:absolute;top:50%;width:4px}.form-switch{padding-left:2rem}.form-switch .form-icon{background:#e7e9ed;background-clip:padding-box;border-radius:.45rem;height:.9rem;left:0;top:.15rem;width:1.6rem}.form-switch .form-icon::before{background:#fff;border-radius:.4rem;content:"";display:block;height:.8rem;left:0;position:absolute;top:0;transition:all .2s ease;width:.8rem}.form-switch input:checked+.form-icon::before{left:14px}.form-switch input:active+.form-icon::before{background:#f8f9fa}.input-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.input-group .input-group-addon{background:#f8f9fa;border:.05rem solid #caced7;border-radius:.1rem;line-height:1rem;padding:.25rem .4rem}.input-group .input-group-addon.addon-sm{font-size:.6rem;padding:.05rem .4rem}.input-group .input-group-addon.addon-lg{font-size:.8rem;padding:.45rem .4rem}.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 .form-select: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 .form-select: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:-.05rem}.input-group .form-input:last-child:not(:first-child),.input-group .form-select: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:-.05rem}.input-group .form-input:focus,.input-group .form-select:focus,.input-group .input-group-addon:focus,.input-group .input-group-btn:focus{z-index:1}.input-group .form-select{width:auto}.input-group.input-inline{display:inline-flex;display:-ms-inline-flexbox;display:-webkit-inline-flex}.form-input.is-success,.form-select.is-success,.has-success .form-input,.has-success .form-select{border-color:#32b643}.form-input.is-success:focus,.form-select.is-success:focus,.has-success .form-input:focus,.has-success .form-select:focus{box-shadow:0 0 0 .1rem rgba(50,182,67,.2)}.form-input.is-error,.form-select.is-error,.has-error .form-input,.has-error .form-select{border-color:#e85600}.form-input.is-error:focus,.form-select.is-error:focus,.has-error .form-input:focus,.has-error .form-select:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-checkbox.is-error .form-icon,.form-radio.is-error .form-icon,.form-switch.is-error .form-icon,.has-error .form-checkbox .form-icon,.has-error .form-radio .form-icon,.has-error .form-switch .form-icon{border-color:#e85600}.form-checkbox.is-error input:checked+.form-icon,.form-radio.is-error input:checked+.form-icon,.form-switch.is-error input:checked+.form-icon,.has-error .form-checkbox input:checked+.form-icon,.has-error .form-radio input:checked+.form-icon,.has-error .form-switch input:checked+.form-icon{background:#e85600;border-color:#e85600}.form-checkbox.is-error input:focus+.form-icon,.form-radio.is-error input:focus+.form-icon,.form-switch.is-error input:focus+.form-icon,.has-error .form-checkbox input:focus+.form-icon,.has-error .form-radio input:focus+.form-icon,.has-error .form-switch input:focus+.form-icon{border-color:#e85600;box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-input:not(:placeholder-shown):invalid{border-color:#e85600}.form-input:not(:placeholder-shown):invalid:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-input:not(:placeholder-shown):invalid+.form-input-hint{color:#e85600}.form-input.disabled,.form-input:disabled,.form-select.disabled,.form-select:disabled{background-color:#f0f1f4;cursor:not-allowed;opacity:.5}.form-input[readonly]{background-color:#f8f9fa}input.disabled+.form-icon,input:disabled+.form-icon{background:#f0f1f4;cursor:not-allowed;opacity:.5}.form-switch input.disabled+.form-icon::before,.form-switch input:disabled+.form-icon::before{background:#fff}.form-horizontal{padding:.4rem}.form-horizontal .form-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.form-horizontal .form-checkbox,.form-horizontal .form-radio,.form-horizontal .form-switch{margin:.2rem 0}.label{background:#f8f9fa;border-radius:.1rem;color:#50596c;display:inline-block;line-height:1;padding:.2em .3em;vertical-align:baseline}.label.label-primary{background:#5764c6;color:#fff}.label.label-success{background:#32b643;color:#fff}.label.label-warning{background:#ffb700;color:#fff}.label.label-error{background:#e85600;color:#fff}code{background:#fdf4f4;border-radius:.1rem;color:#e06870;display:inline-block;line-height:1;padding:.2em .3em;vertical-align:baseline}.code{border-radius:.1rem;color:#454d5d;line-height:1rem;position:relative}.code::before{color:#acb3c2;content:attr(data-lang);font-size:.6rem;position:absolute;right:.4rem;top:.1rem}.code code{background:#f8f9fa;color:inherit;display:block;line-height:inherit;overflow-x:auto;padding:1rem;width:100%}.img-responsive{display:block;height:auto;max-width:100%}.img-fit-cover{object-fit:cover}.img-fit-contain{object-fit:contain}.video-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.video-responsive::before{content:"";display:block;padding-bottom:56.25%}.video-responsive embed,.video-responsive iframe,.video-responsive object{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.video-responsive video{height:auto;max-width:100%;width:100%}.video-responsive-4-3::before{padding-bottom:75%}.video-responsive-1-1::before{padding-bottom:100%}.figure{margin:0 0 .4rem 0}.figure .figure-caption{color:#727e96;margin-top:.4rem}.container{margin-left:auto;margin-right:auto;padding-left:.4rem;padding-right:.4rem;width:100%}.container.grid-xl{max-width:1296px}.container.grid-lg{max-width:976px}.container.grid-md{max-width:856px}.container.grid-sm{max-width:616px}.container.grid-xs{max-width:496px}.columns{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-.4rem;margin-right:-.4rem}.columns.col-gapless{margin-left:0;margin-right:0}.columns.col-gapless .column{padding-left:0;padding-right:0}.columns.col-oneline{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto}.column{-webkit-flex:1;-ms-flex:1;flex:1;max-width:100%;padding-left:.4rem;padding-right:.4rem}.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:1280px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-xl-12{width:100%}.col-xl-11{width:91.66666667%}.col-xl-10{width:83.33333333%}.col-xl-9{width:75%}.col-xl-8{width:66.66666667%}.col-xl-7{width:58.33333333%}.col-xl-6{width:50%}.col-xl-5{width:41.66666667%}.col-xl-4{width:33.33333333%}.col-xl-3{width:25%}.col-xl-2{width:16.66666667%}.col-xl-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%}}.show-lg,.show-md,.show-sm,.show-xl,.show-xs{display:none!important}@media screen and (max-width:480px){.hide-xs{display:none!important}.show-xs{display:block!important}}@media screen and (max-width:600px){.hide-sm{display:none!important}.show-sm{display:block!important}}@media screen and (max-width:840px){.hide-md{display:none!important}.show-md{display:block!important}}@media screen and (max-width:960px){.hide-lg{display:none!important}.show-lg{display:block!important}}@media screen and (max-width:1280px){.hide-xl{display:none!important}.show-xl{display:block!important}}.navbar{-webkit-align-items:stretch;align-items:stretch;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:stretch;-ms-flex-pack:justify;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;justify-content:space-between}.navbar .navbar-section{-webkit-align-items:center;align-items:center;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex:1 0 0;-ms-flex:1 0 0;flex:1 0 0;-ms-flex-align:center}.navbar .navbar-section:last-child{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.navbar .navbar-center{-webkit-align-items:center;align-items:center;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center}.navbar .navbar-brand{font-size:.8rem;font-weight:500;text-decoration:none}.panel{border:.05rem solid #e7e9ed;border-radius:.1rem;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.panel .panel-footer,.panel .panel-header{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:.8rem}.panel .panel-nav{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.panel .panel-body{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;padding:0 .8rem}.panel .panel-subtitle{color:#acb3c2}.empty{background:#f8f9fa;border-radius:.1rem;color:#727e96;padding:1.6rem;text-align:center}.empty .empty-icon{margin-bottom:.8rem}.empty .empty-subtitle,.empty .empty-title{margin:.4rem auto}.empty .empty-subtitle{color:#acb3c2}.empty .empty-action{margin-top:.8rem}.accordion .accordion-item input:checked~.accordion-header .icon{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.accordion .accordion-item input:checked~.accordion-body{max-height:1000px}.accordion .accordion-item .accordion-header{display:block;padding:.2rem .4rem}.accordion .accordion-item .accordion-header .icon{transition:all .2s ease}.accordion .accordion-item .accordion-body{margin-bottom:.4rem;max-height:0;overflow:hidden;transition:max-height .2s ease}.form-autocomplete{position:relative}.form-autocomplete .form-autocomplete-input{-webkit-align-content:flex-start;align-content:flex-start;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-line-pack:start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;height:auto;min-height:1.6rem;padding:.05rem 0 0 .05rem}.form-autocomplete .form-autocomplete-input.is-focused{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-autocomplete .form-autocomplete-input .form-input{border-color:transparent;box-shadow:none;display:inline-block;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;height:1.4rem;line-height:.8rem;width:auto}.form-autocomplete mark{font-size:1;padding:.1em 0}.form-autocomplete .menu{left:0;position:absolute;top:100%;width:100%}.avatar{background:#5764c6;border-radius:50%;color:rgba(255,255,255,.85);display:inline-block;font-size:.72727273rem;font-weight:300;height:1.6rem;line-height:1;margin:0;position:relative;vertical-align:middle;width:1.6rem}.avatar.avatar-xs{font-size:.36363636rem;height:.8rem;width:.8rem}.avatar.avatar-sm{font-size:.54545455rem;height:1.2rem;width:1.2rem}.avatar.avatar-lg{font-size:1.09090909rem;height:2.4rem;width:2.4rem}.avatar.avatar-xl{font-size:1.45454545rem;height:3.2rem;width:3.2rem}.avatar img{border-radius:50%;height:100%;position:relative;width:100%;z-index:100}.avatar .avatar-icon{background:#fff;bottom:14.64%;height:50%;padding:.1rem;position:absolute;right:14.64%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%);width:50%}.avatar[data-initial]::before{color:currentColor;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:1}.badge{position:relative;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge]::after{background:#5764c6;background-clip:padding-box;border-radius:.5rem;box-shadow:0 0 0 .1rem #fff;color:#fff;content:attr(data-badge);display:inline-block;-webkit-transform:translate(-.1rem,-.5rem);-ms-transform:translate(-.1rem,-.5rem);transform:translate(-.1rem,-.5rem)}.badge[data-badge]::after{font-size:.6rem;height:18px;line-height:1;min-width:18px;padding:3px 5px;text-align:center;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge=""]::after{height:6px;min-width:6px;padding:0;width:6px}.badge.btn::after{position:absolute;right:0;top:0;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.badge.avatar::after{position:absolute;right:14.64%;top:14.64%;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);z-index:100}.badge.avatar-xs::after{content:"";height:.4rem;min-width:.4rem;padding:0;width:.4rem}.bar{background:#f0f1f4;border-radius:.1rem;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:.8rem;width:100%}.bar.bar-sm{height:.2rem}.bar .bar-item{background:#5764c6;color:#fff;display:block;-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0;font-size:.6rem;height:100%;line-height:.8rem;position:relative;text-align:center;width:0}.bar .bar-item:first-child{border-bottom-left-radius:.1rem;border-top-left-radius:.1rem}.bar .bar-item:last-child{border-bottom-right-radius:.1rem;border-top-right-radius:.1rem;-ms-flex-negative:1;-webkit-flex-shrink:1;flex-shrink:1}.bar-slider{height:.1rem;margin:.4rem 0;position:relative}.bar-slider .bar-item{left:0;padding:0;position:absolute}.bar-slider .bar-item:not(:last-child):first-child{background:#f0f1f4;z-index:1}.bar-slider .bar-slider-btn{background:#5764c6;border:0;border-radius:50%;height:.6rem;padding:0;position:absolute;right:0;top:50%;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);width:.6rem}.bar-slider .bar-slider-btn:active{box-shadow:0 0 0 .1rem #5764c6}.card{background:#fff;border:.05rem solid #e7e9ed;border-radius:.1rem;display:block}.card .card-body,.card .card-footer,.card .card-header{padding:.8rem;padding-bottom:0}.card .card-body:last-child,.card .card-footer:last-child,.card .card-header:last-child{padding-bottom:.8rem}.card .card-image{padding-top:.8rem}.card .card-image:first-child{padding-top:0}.card .card-image:first-child img{border-top-left-radius:.1rem;border-top-right-radius:.1rem}.card .card-image:last-child img{border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem}.card .card-subtitle{color:#acb3c2}.chip{-webkit-align-items:center;align-items:center;background:#f0f1f4;border-radius:.1rem;color:#727e96;display:-ms-inline-flexbox;display:inline-flex;display:-webkit-inline-flex;-ms-flex-align:center;height:1.4rem;margin:0 .05rem .05rem 0;max-width:100%;padding:.05rem .4rem;text-decoration:none;vertical-align:middle}.chip.active{background:#5764c6;color:#fff}.chip .avatar{margin-left:-.2rem;margin-right:.2rem}.dropdown{display:inline-block;position:relative}.dropdown .menu{-webkit-animation:slide-down .15s ease 1;animation:slide-down .15s ease 1;display:none;left:0;max-height:50vh;overflow-y:auto;position:absolute;top:100%}.dropdown.dropdown-right .menu{left:auto;right:0}.dropdown .dropdown-toggle:focus+.menu,.dropdown .menu:hover,.dropdown.active .menu{display:block}.dropdown .btn-group .dropdown-toggle:nth-last-child(2){border-bottom-right-radius:.1rem;border-top-right-radius:.1rem}.menu{background:#fff;border-radius:.1rem;box-shadow:0 .05rem .2rem rgba(69,77,93,.3);list-style:none;margin:0;min-width:180px;padding:.4rem;-webkit-transform:translateY(.2rem);-ms-transform:translateY(.2rem);transform:translateY(.2rem);z-index:100}.menu.menu-nav{background:0 0;box-shadow:none}.menu .menu-item{margin-top:0;padding:0 .4rem;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.menu .menu-item>a{border-radius:.1rem;color:inherit;display:block;margin:0 -.4rem;padding:.2rem .4rem;text-decoration:none}.menu .menu-item>a:focus,.menu .menu-item>a:hover{background:#eff1fa;color:#5764c6}.menu .menu-item>a.active,.menu .menu-item>a:active{background:#eff1fa;color:#5764c6}.menu .menu-item+.menu-item{margin-top:.2rem}.menu .menu-badge{float:right;padding:.2rem 0}.menu .menu-badge .btn{margin-top:-.1rem}.modal{-webkit-align-items:center;align-items:center;bottom:0;display:none;-ms-flex-align:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;left:0;opacity:0;overflow:hidden;padding:.4rem;position:fixed;right:0;top:0}.modal.active,.modal:target{display:flex;display:-ms-flexbox;display:-webkit-flex;opacity:1;z-index:400}.modal.active .modal-overlay,.modal:target .modal-overlay{background:rgba(248,249,250,.75);bottom:0;cursor:default;display:block;left:0;position:absolute;right:0;top:0}.modal.active .modal-container,.modal:target .modal-container{-webkit-animation:slide-down .2s ease 1;animation:slide-down .2s ease 1;max-width:640px;z-index:1}.modal.modal-sm .modal-container{max-width:320px}.modal-container{background:#fff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(69,77,93,.3);display:block;padding:0;text-align:left}.modal-container .modal-header{padding:.8rem}.modal-container .modal-header .modal-title{margin:0}.modal-container .modal-body{max-height:50vh;overflow-y:auto;padding:.8rem;position:relative}.modal-container .modal-footer{padding:.8rem;text-align:right}.breadcrumb,.nav,.pagination,.tab{list-style:none;margin:.2rem 0}.breadcrumb{padding:.2rem 0}.breadcrumb .breadcrumb-item{color:#727e96;display:inline-block;margin:0;padding:.2rem 0}.breadcrumb .breadcrumb-item:not(:last-child){margin-right:.2rem}.breadcrumb .breadcrumb-item:not(:last-child) a{color:#727e96}.breadcrumb .breadcrumb-item:not(:first-child)::before{color:#e7e9ed;content:"/";padding-right:.2rem}.tab{-webkit-align-items:center;align-items:center;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.tab .tab-item{margin-top:0}.tab .tab-item.tab-action{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;text-align:right}.tab .tab-item a{border-bottom:.1rem solid transparent;color:inherit;display:block;margin-top:0;padding:6px 12px 4px 12px;text-decoration:none}.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:#5764c6;color:#5764c6}.tab.tab-block .tab-item{-webkit-flex:1 0 0;-ms-flex:1 0 0;flex:1 0 0;text-align:center}.tab.tab-block .tab-item .badge[data-badge]::after{position:absolute;right:-4px;top:-4px;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.tab:not(.tab-block) .badge{padding-right:2px}.pagination{display:flex;display:-ms-flexbox;display:-webkit-flex;padding:.2rem 0}.pagination .page-item{margin:.2rem .05rem}.pagination .page-item span{display:inline-block;padding:.2rem .2rem}.pagination .page-item a{border-radius:.1rem;color:#727e96;display:inline-block;padding:.2rem .4rem;text-decoration:none}.pagination .page-item a:focus,.pagination .page-item a:hover{color:#5764c6}.pagination .page-item.disabled a{cursor:default;opacity:.5;pointer-events:none}.pagination .page-item.active a{background:#5764c6;color:#fff}.pagination .page-item.page-next,.pagination .page-item.page-prev{-webkit-flex:1 0 50%;-ms-flex:1 0 50%;flex:1 0 50%}.pagination .page-item.page-next{text-align:right}.pagination .page-item .page-item-title{margin:0}.pagination .page-item .page-item-subtitle{margin:0;opacity:.5}.nav{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.nav .nav-item a{color:#727e96;padding:.2rem .4rem;text-decoration:none}.nav .nav-item a:focus,.nav .nav-item a:hover{color:#5764c6}.nav .nav-item.active>a{color:#5b657a;font-weight:700}.nav .nav-item.active>a:focus,.nav .nav-item.active>a:hover{color:#5764c6}.nav .nav{margin-bottom:.4rem;margin-left:.8rem}.popover{display:inline-block;position:relative}.popover .popover-container{content:attr(data-tooltip);left:50%;opacity:0;padding:.4rem;position:absolute;top:0;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);transition:transform .2s ease,-webkit-transform .2s ease;transition:transform .2s ease;transition:-webkit-transform .2s ease;width:320px;z-index:400}.popover .popover-container:hover,.popover :focus+.popover-container,.popover:hover .popover-container{display:block;opacity:1;-webkit-transform:translate(-50%,-100%) scale(1);-ms-transform:translate(-50%,-100%) scale(1);transform:translate(-50%,-100%) scale(1)}.popover.popover-right .popover-container{left:100%;top:50%}.popover.popover-right .popover-container:hover,.popover.popover-right :focus+.popover-container,.popover.popover-right:hover .popover-container{-webkit-transform:translate(0,-50%) scale(1);-ms-transform:translate(0,-50%) scale(1);transform:translate(0,-50%) scale(1)}.popover.popover-bottom .popover-container{left:50%;top:100%}.popover.popover-bottom .popover-container:hover,.popover.popover-bottom :focus+.popover-container,.popover.popover-bottom:hover .popover-container{-webkit-transform:translate(-50%,0) scale(1);-ms-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.popover.popover-left .popover-container{left:0;top:50%}.popover.popover-left .popover-container:hover,.popover.popover-left :focus+.popover-container,.popover.popover-left:hover .popover-container{-webkit-transform:translate(-100%,-50%) scale(1);-ms-transform:translate(-100%,-50%) scale(1);transform:translate(-100%,-50%) scale(1)}.popover .card{border:0;box-shadow:0 .2rem .5rem rgba(69,77,93,.3)}.step{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;list-style:none;margin:.2rem 0;width:100%}.step .step-item{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;margin-top:0;min-height:20px;position:relative;text-align:center}.step .step-item:not(:first-child)::before{background:#5764c6;content:"";height:2px;left:-50%;position:absolute;top:9px;width:100%}.step .step-item a{color:#acb3c2;display:inline-block;padding:20px 10px 0;text-decoration:none}.step .step-item a::before{background:#5764c6;border:.1rem solid #fff;border-radius:50%;content:"";display:block;height:.6rem;left:50%;position:absolute;top:.2rem;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:.6rem;z-index:1}.step .step-item.active a::before{background:#fff;border:.1rem solid #5764c6}.step .step-item.active~.step-item::before{background:#e7e9ed}.step .step-item.active~.step-item a::before{background:#e7e9ed}.tile{-webkit-align-content:space-between;align-content:space-between;-webkit-align-items:flex-start;align-items:flex-start;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:start;-ms-flex-line-pack:justify}.tile .tile-action,.tile .tile-icon{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.tile .tile-content{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.tile .tile-content:not(:first-child){padding-left:.4rem}.tile .tile-content:not(:last-child){padding-right:.4rem}.tile .tile-title{line-height:1rem}.tile .tile-subtitle{color:#acb3c2;line-height:1rem}.tile.tile-centered{-webkit-align-items:center;align-items:center;-ms-flex-align:center}.tile.tile-centered .tile-content{overflow:hidden}.tile.tile-centered .tile-subtitle,.tile.tile-centered .tile-title{margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast{background:rgba(69,77,93,.9);border:.05rem solid #454d5d;border-color:#454d5d;border-radius:.1rem;color:#fff;display:block;padding:.4rem;width:100%}.toast.toast-primary{background:rgba(87,100,198,.9);border-color:#5764c6}.toast.toast-success{background:rgba(50,182,67,.9);border-color:#32b643}.toast.toast-warning{background:rgba(255,183,0,.9);border-color:#ffb700}.toast.toast-error{background:rgba(232,86,0,.9);border-color:#e85600}.toast a{color:#fff;text-decoration:underline}.toast a.active,.toast a:active,.toast a:focus,.toast a:hover{opacity:.75}.toast .btn-clear{margin:2px -2px 2px 4px}.tooltip{position:relative}.tooltip::after{background:rgba(69,77,93,.9);border-radius:.1rem;bottom:100%;color:#fff;content:attr(data-tooltip);display:block;font-size:.6rem;left:50%;max-width:320px;opacity:0;overflow:hidden;padding:.2rem .4rem;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-transform:translate(-50%,.4rem);-ms-transform:translate(-50%,.4rem);transform:translate(-50%,.4rem);transition:all .2s ease;white-space:nowrap;z-index:300}.tooltip:focus::after,.tooltip:hover::after{opacity:1;-webkit-transform:translate(-50%,-.2rem);-ms-transform:translate(-50%,-.2rem);transform:translate(-50%,-.2rem)}.tooltip.disabled,.tooltip[disabled]{pointer-events:auto}.tooltip.tooltip-right::after{bottom:50%;left:100%;-webkit-transform:translate(-.2rem,50%);-ms-transform:translate(-.2rem,50%);transform:translate(-.2rem,50%)}.tooltip.tooltip-right:focus::after,.tooltip.tooltip-right:hover::after{-webkit-transform:translate(.2rem,50%);-ms-transform:translate(.2rem,50%);transform:translate(.2rem,50%)}.tooltip.tooltip-bottom::after{bottom:auto;top:100%;-webkit-transform:translate(-50%,-.4rem);-ms-transform:translate(-50%,-.4rem);transform:translate(-50%,-.4rem)}.tooltip.tooltip-bottom:focus::after,.tooltip.tooltip-bottom:hover::after{-webkit-transform:translate(-50%,.2rem);-ms-transform:translate(-50%,.2rem);transform:translate(-50%,.2rem)}.tooltip.tooltip-left::after{bottom:50%;left:auto;right:100%;-webkit-transform:translate(.4rem,50%);-ms-transform:translate(.4rem,50%);transform:translate(.4rem,50%)}.tooltip.tooltip-left:focus::after,.tooltip.tooltip-left:hover::after{-webkit-transform:translate(-.2rem,50%);-ms-transform:translate(-.2rem,50%);transform:translate(-.2rem,50%)}@-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%{opacity:0;-webkit-transform:translateY(-1.6rem);transform:translateY(-1.6rem)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;-webkit-transform:translateY(-1.6rem);transform:translateY(-1.6rem)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.text-primary{color:#5764c6}a.text-primary:focus,a.text-primary:hover{color:#4452c0}.text-secondary{color:#e4e6f6}a.text-secondary:focus,a.text-secondary:hover{color:#d1d4ef}.text-gray{color:#acb3c2}a.text-gray:focus,a.text-gray:hover{color:#9ea6b7}.text-light{color:#fff}a.text-light:focus,a.text-light:hover{color:#f2f2f2}.text-success{color:#32b643}a.text-success:focus,a.text-success:hover{color:#2da23c}.text-warning{color:#ffb700}a.text-warning:focus,a.text-warning:hover{color:#e6a500}.text-error{color:#e85600}a.text-error:focus,a.text-error:hover{color:#cf4d00}.bg-primary{background:#5764c6}.bg-secondary{background:#eff1fa}.bg-dark{background:#454d5d}.bg-gray{background:#f8f9fa}.bg-success{background:#32b643}.bg-warning{background:#ffb700}.bg-error{background:#e85600}.block{display:block}.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-size:0;line-height:0;text-shadow:none}.text-assistive{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hand{cursor:pointer}.divider,.divider-vert{display:block;position:relative}.divider-vert[data-content]::after,.divider[data-content]::after{background:#fff;color:#acb3c2;content:attr(data-content);display:inline-block;font-size:.6rem;padding:0 .4rem;-webkit-transform:translateY(-.55rem);-ms-transform:translateY(-.55rem);transform:translateY(-.55rem)}.divider{border-top:.05rem solid #e7e9ed;height:.05rem;margin:.4rem 0}.divider[data-content]{margin:.8rem 0}.divider-vert{display:block;padding:.8rem}.divider-vert::before{border-left:.05rem solid #e7e9ed;bottom:.4rem;content:"";display:block;left:50%;position:absolute;top:.4rem;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.divider-vert[data-content]::after{left:50%;padding:.2rem 0;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.loading{color:transparent!important;min-height:.8rem;pointer-events:none;position:relative}.loading::after{-webkit-animation:loading .5s infinite linear;animation:loading .5s infinite linear;border:.1rem solid #5764c6;border-radius:50%;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:.8rem;left:50%;margin-left:-.4rem;margin-top:-.4rem;position:absolute;top:50%;width:.8rem;z-index:1}.loading.loading-lg{min-height:2rem}.loading.loading-lg::after{height:1.6rem;margin-left:-.8rem;margin-top:-.8rem;width:1.6rem}.clearfix::after,.container::after{clear:both;content:"";display:table}.float-left{float:left!important}.float-right{float:right!important}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.centered{display:block;float:none;margin-left:auto;margin-right:auto}.m-1{padding:.2rem}.mb-1{padding-bottom:.2rem}.ml-1{padding-left:.2rem}.mr-1{padding-right:.2rem}.mt-1{padding-top:.2rem}.mx-1{padding-left:.2rem;padding-right:.2rem}.my-1{padding-bottom:.2rem;padding-top:.2rem}.m-2{padding:.4rem}.mb-2{padding-bottom:.4rem}.ml-2{padding-left:.4rem}.mr-2{padding-right:.4rem}.mt-2{padding-top:.4rem}.mx-2{padding-left:.4rem;padding-right:.4rem}.my-2{padding-bottom:.4rem;padding-top:.4rem}.p-1{padding:.2rem}.pb-1{padding-bottom:.2rem}.pl-1{padding-left:.2rem}.pr-1{padding-right:.2rem}.pt-1{padding-top:.2rem}.px-1{padding-left:.2rem;padding-right:.2rem}.py-1{padding-bottom:.2rem;padding-top:.2rem}.p-2{padding:.4rem}.pb-2{padding-bottom:.4rem}.pl-2{padding-left:.4rem}.pr-2{padding-right:.4rem}.pt-2{padding-top:.4rem}.px-2{padding-left:.4rem;padding-right:.4rem}.py-2{padding-bottom:.4rem;padding-top:.4rem}.rounded{border-radius:.1rem}.circle{border-radius:50%}.text-left{text-align:left}.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-large{font-size:1.2em}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clip{overflow:hidden;text-overflow:clip;white-space:nowrap}.text-break{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word} \ No newline at end of file
+/*! Spectre.css | MIT License | github.com/picturepan2/spectre */html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}small{font-size:80%;font-weight:400}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}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}fieldset{border:0;margin:0;padding:0}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[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-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}*,::after,::before{box-sizing:inherit}html{box-sizing:border-box;font-size:20px;line-height:1.42857143;-webkit-tap-highlight-color:transparent}body{background:#fff;color:#454d5d;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;font-size:.7rem;overflow-x:hidden;text-rendering:optimizeLegibility}a{color:#5764c6;outline:0;text-decoration:none}a:focus{box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}a.active,a:active,a:focus,a:hover{color:#4452c0;text-decoration:underline}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:500;line-height:1.2;margin-bottom:.5em;margin-top:0}.h1,.h2,.h3,.h4,.h5,.h6{font-weight:500}.h1,h1{font-size:2rem}.h2,h2{font-size:1.6rem}.h3,h3{font-size:1.4rem}.h4,h4{font-size:1.2rem}.h5,h5{font-size:1rem}.h6,h6{font-size:.8rem}p{line-height:1.2rem;margin:0 0 .8rem}a,ins,u{-webkit-text-decoration-skip:ink edges;text-decoration-skip:ink edges}abbr[title]{border-bottom:.05rem dotted;cursor:help;text-decoration:none}kbd{background:#454d5d;border-radius:.1rem;color:#fff;display:inline-block;line-height:1.2;padding:.1em .3em;vertical-align:baseline}mark{background:#ffe9b3;border-radius:.1rem;color:#454d5d;display:inline-block;line-height:1.2;padding:.1em .3em;vertical-align:baseline}blockquote{border-left:.1rem solid #e7e9ed;margin-left:0;padding:.4rem .8rem}blockquote p:last-child{margin-bottom:0}blockquote cite{color:#acb3c2}ol,ul{margin:.8rem 0 .8rem .8rem;padding:0}ol ol,ol ul,ul ol,ul ul{margin:.8rem 0 .8rem .8rem}ol li,ul li{margin-top:.4rem}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:.4rem 0 .8rem 0}:lang(zh){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",sans-serif}:lang(ja){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Hiragino Kaku Gothic Pro","Yu Gothic",YuGothic,Meiryo,"Helvetica Neue",sans-serif}:lang(ko){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Malgun Gothic","Helvetica Neue",sans-serif}.cjk ins,.cjk u,:lang(ja) ins,:lang(ja) u,:lang(zh) ins,:lang(zh) u{border-bottom:.05rem solid;text-decoration:none}.cjk del+del,.cjk del+s,.cjk ins+ins,.cjk ins+u,.cjk s+del,.cjk s+s,.cjk u+ins,.cjk u+u,:lang(ja) del+del,:lang(ja) del+s,:lang(ja) ins+ins,:lang(ja) ins+u,:lang(ja) s+del,:lang(ja) s+s,:lang(ja) u+ins,:lang(ja) u+u,:lang(zh) del+del,:lang(zh) del+s,:lang(zh) ins+ins,:lang(zh) ins+u,:lang(zh) s+del,:lang(zh) s+s,:lang(zh) u+ins,:lang(zh) u+u{margin-left:.125em}.table{border-collapse:collapse;border-spacing:0;text-align:left;width:100%}.table.table-striped tbody tr:nth-of-type(odd){background:#f8f9fa}.table.table-hover tbody tr:hover{background:#f0f1f4}.table tbody tr.active,.table.table-striped tbody tr.active{background:#f0f1f4}.table td,.table th{border-bottom:.05rem solid #e7e9ed;padding:.6rem .4rem}.table th{border-bottom-width:.1rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:.05rem solid #5764c6;border-radius:.1rem;color:#5764c6;cursor:pointer;display:inline-block;font-size:.7rem;height:1.6rem;line-height:1rem;outline:0;padding:.25rem .4rem;text-align:center;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn:focus{background:#eff1fa;box-shadow:0 0 0 .1rem rgba(87,100,198,.2);text-decoration:none}.btn:hover{background:#eff1fa;border-color:#4c59c2;text-decoration:none}.btn.active,.btn:active{background:#4c59c2;border-color:#3e4cb6;color:#fff;text-decoration:none}.btn.active.loading::after,.btn:active.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.disabled,.btn:disabled,.btn[disabled]{cursor:default;opacity:.5;pointer-events:none}.btn.btn-primary{background:#5764c6;border-color:#4c59c2;color:#fff}.btn.btn-primary:focus,.btn.btn-primary:hover{background:#4452c0;border-color:#3e4cb6;color:#fff}.btn.btn-primary.active,.btn.btn-primary:active{background:#3f4eba;border-color:#3b49af;color:#fff}.btn.btn-primary.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.btn-link{background:0 0;border-color:transparent;color:#5764c6}.btn.btn-link.active,.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover{color:#4452c0}.btn.btn-sm{font-size:.6rem;height:1.2rem;padding:.05rem .3rem}.btn.btn-lg{font-size:.8rem;height:2rem;padding:.45rem .6rem}.btn.btn-block{display:block;width:100%}.btn.btn-action{padding-left:0;padding-right:0;width:1.6rem}.btn.btn-action.btn-sm{width:1.2rem}.btn.btn-action.btn-lg{width:2rem}.btn.btn-clear{background:0 0;border:0;color:currentColor;height:.8rem;line-height:.8rem;margin-left:.2rem;margin-right:-2px;opacity:.45;padding:0 2px;text-decoration:none;width:.8rem}.btn.btn-clear:hover{opacity:.85}.btn.btn-clear::before{content:"\2715"}.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:-.05rem}.btn-group .btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.05rem}.btn-group .btn.active,.btn-group .btn:active,.btn-group .btn:focus,.btn-group .btn:hover{z-index:1}.btn-group.btn-group-block{display:flex;display:-ms-flexbox;display:-webkit-flex}.btn-group.btn-group-block .btn{-webkit-flex:1 0 0;-ms-flex:1 0 0;flex:1 0 0}.form-group:not(:last-child){margin-bottom:.4rem}fieldset{margin-bottom:.8rem}legend{font-size:.8rem;font-weight:500;margin-bottom:.8rem}.form-label{display:block;padding:.3rem 0}.form-label.label-sm{padding:.1rem 0}.form-label.label-lg{padding:.5rem 0}.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;background-image:none;border:.05rem solid #caced7;border-radius:.1rem;color:#454d5d;display:block;font-size:.7rem;height:1.6rem;line-height:1rem;max-width:100%;outline:0;padding:.25rem .4rem;position:relative;transition:all .2s ease;width:100%}.form-input:focus{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-input::-webkit-input-placeholder{color:#acb3c2}.form-input::-moz-placeholder{color:#acb3c2}.form-input:-ms-input-placeholder{color:#acb3c2}.form-input::placeholder{color:#acb3c2}.form-input.input-sm{font-size:.6rem;height:1.2rem;padding:.05rem .4rem}.form-input.input-lg{font-size:.8rem;height:2rem;padding:.45rem .4rem}.form-input.input-inline{display:inline-block;vertical-align:middle;width:auto}textarea.form-input{height:auto}.form-input[type=file]{padding:.125rem}.form-input-hint{color:#acb3c2;font-size:.6rem;margin-top:.2rem}.has-success .form-input-hint,.is-success+.form-input-hint{color:#32b643}.has-error .form-input-hint,.is-error+.form-input-hint{color:#e85600}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.05rem solid #caced7;border-radius:.1rem;color:inherit;font-size:.7rem;height:1.6rem;line-height:1rem;outline:0;padding:.25rem .4rem;vertical-align:middle;width:100%}.form-select[multiple],.form-select[size]{height:auto}.form-select[multiple] option,.form-select[size] option{padding:.1rem .2rem}.form-select:not([multiple]):not([size]){background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23667189' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .35rem center/.4rem .5rem;padding-right:1.1rem}.form-select:focus{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-select::-ms-expand{display:none}.form-select.select-sm{font-size:.6rem;height:1.2rem;padding:.05rem 1.1rem .05rem .4rem}.form-select.select-lg{font-size:.8rem;height:2rem;padding:.45rem 1.1rem .45rem .4rem}.has-icon-left,.has-icon-right{position:relative}.has-icon-left .form-icon,.has-icon-right .form-icon{height:.7rem;margin:0 .25rem;position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:.7rem}.has-icon-left .form-icon{left:.05rem}.has-icon-left .form-input{padding-left:1.2rem}.has-icon-right .form-icon{right:.05rem}.has-icon-right .form-input{padding-right:1.2rem}.form-checkbox,.form-radio,.form-switch{display:inline-block;line-height:1rem;padding:.1rem 1.1rem;position:relative}.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{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-checkbox input:checked+.form-icon,.form-radio input:checked+.form-icon,.form-switch input:checked+.form-icon{background:#5764c6;border-color:#5764c6}.form-checkbox .form-icon,.form-radio .form-icon,.form-switch .form-icon{border:.05rem solid #caced7;cursor:pointer;display:inline-block;position:absolute;transition:all .2s ease}.form-checkbox .form-icon,.form-radio .form-icon{background:#fff;height:.7rem;left:0;top:.25rem;width:.7rem}.form-checkbox input:active+.form-icon,.form-radio input:active+.form-icon{background:#f0f1f4}.form-checkbox .form-icon{border-radius:.1rem}.form-checkbox input:checked+.form-icon::before{background-clip:padding-box;border:.1rem solid #fff;border-left-width:0;border-top-width:0;content:"";height:10px;left:50%;margin-left:-3px;margin-top:-6px;position:absolute;top:50%;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:6px}.form-checkbox input:indeterminate+.form-icon{background:#5764c6;border-color:#5764c6}.form-checkbox input:indeterminate+.form-icon::before{background:#fff;content:"";height:2px;left:50%;margin-left:-5px;margin-top:-1px;position:absolute;top:50%;width:10px}.form-radio .form-icon{border-radius:.35rem}.form-radio input:checked+.form-icon::before{background:#fff;border-radius:.1rem;content:"";height:4px;left:50%;margin-left:-2px;margin-top:-2px;position:absolute;top:50%;width:4px}.form-switch{padding-left:2rem}.form-switch .form-icon{background:#e7e9ed;background-clip:padding-box;border-radius:.45rem;height:.9rem;left:0;top:.15rem;width:1.6rem}.form-switch .form-icon::before{background:#fff;border-radius:.4rem;content:"";display:block;height:.8rem;left:0;position:absolute;top:0;transition:all .2s ease;width:.8rem}.form-switch input:checked+.form-icon::before{left:14px}.form-switch input:active+.form-icon::before{background:#f8f9fa}.input-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.input-group .input-group-addon{background:#f8f9fa;border:.05rem solid #caced7;border-radius:.1rem;line-height:1rem;padding:.25rem .4rem}.input-group .input-group-addon.addon-sm{font-size:.6rem;padding:.05rem .4rem}.input-group .input-group-addon.addon-lg{font-size:.8rem;padding:.45rem .4rem}.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 .form-select: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 .form-select: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:-.05rem}.input-group .form-input:last-child:not(:first-child),.input-group .form-select: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:-.05rem}.input-group .form-input:focus,.input-group .form-select:focus,.input-group .input-group-addon:focus,.input-group .input-group-btn:focus{z-index:1}.input-group .form-select{width:auto}.input-group.input-inline{display:inline-flex;display:-ms-inline-flexbox;display:-webkit-inline-flex}.form-input.is-success,.form-select.is-success,.has-success .form-input,.has-success .form-select{border-color:#32b643}.form-input.is-success:focus,.form-select.is-success:focus,.has-success .form-input:focus,.has-success .form-select:focus{box-shadow:0 0 0 .1rem rgba(50,182,67,.2)}.form-input.is-error,.form-select.is-error,.has-error .form-input,.has-error .form-select{border-color:#e85600}.form-input.is-error:focus,.form-select.is-error:focus,.has-error .form-input:focus,.has-error .form-select:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-checkbox.is-error .form-icon,.form-radio.is-error .form-icon,.form-switch.is-error .form-icon,.has-error .form-checkbox .form-icon,.has-error .form-radio .form-icon,.has-error .form-switch .form-icon{border-color:#e85600}.form-checkbox.is-error input:checked+.form-icon,.form-radio.is-error input:checked+.form-icon,.form-switch.is-error input:checked+.form-icon,.has-error .form-checkbox input:checked+.form-icon,.has-error .form-radio input:checked+.form-icon,.has-error .form-switch input:checked+.form-icon{background:#e85600;border-color:#e85600}.form-checkbox.is-error input:focus+.form-icon,.form-radio.is-error input:focus+.form-icon,.form-switch.is-error input:focus+.form-icon,.has-error .form-checkbox input:focus+.form-icon,.has-error .form-radio input:focus+.form-icon,.has-error .form-switch input:focus+.form-icon{border-color:#e85600;box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-input:not(:placeholder-shown):invalid{border-color:#e85600}.form-input:not(:placeholder-shown):invalid:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-input:not(:placeholder-shown):invalid+.form-input-hint{color:#e85600}.form-input.disabled,.form-input:disabled,.form-select.disabled,.form-select:disabled{background-color:#f0f1f4;cursor:not-allowed;opacity:.5}.form-input[readonly]{background-color:#f8f9fa}input.disabled+.form-icon,input:disabled+.form-icon{background:#f0f1f4;cursor:not-allowed;opacity:.5}.form-switch input.disabled+.form-icon::before,.form-switch input:disabled+.form-icon::before{background:#fff}.form-horizontal{padding:.4rem}.form-horizontal .form-group{display:flex;display:-ms-flexbox;display:-webkit-flex}.form-horizontal .form-checkbox,.form-horizontal .form-radio,.form-horizontal .form-switch{margin:.2rem 0}.label{background:#f8f9fa;border-radius:.1rem;color:#50596c;display:inline-block;line-height:1.2;padding:.1em .3em;vertical-align:baseline}.label.label-primary{background:#5764c6;color:#fff}.label.label-secondary{background:#eff1fa;color:#5764c6}.label.label-success{background:#32b643;color:#fff}.label.label-warning{background:#ffb700;color:#fff}.label.label-error{background:#e85600;color:#fff}code{background:#fdf4f4;border-radius:.1rem;color:#e06870;display:inline-block;line-height:1.2;padding:.1em .3em;vertical-align:baseline}.code{border-radius:.1rem;color:#454d5d;line-height:1rem;position:relative}.code::before{color:#acb3c2;content:attr(data-lang);font-size:.6rem;position:absolute;right:.4rem;top:.1rem}.code code{background:#f8f9fa;color:inherit;display:block;line-height:inherit;overflow-x:auto;padding:1rem;width:100%}.img-responsive{display:block;height:auto;max-width:100%}.img-fit-cover{object-fit:cover}.img-fit-contain{object-fit:contain}.video-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.video-responsive::before{content:"";display:block;padding-bottom:56.25%}.video-responsive embed,.video-responsive iframe,.video-responsive object{border:0;bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.video-responsive video{height:auto;max-width:100%;width:100%}.video-responsive-4-3::before{padding-bottom:75%}.video-responsive-1-1::before{padding-bottom:100%}.figure{margin:0 0 .4rem 0}.figure .figure-caption{color:#727e96;margin-top:.4rem}.container{margin-left:auto;margin-right:auto;padding-left:.4rem;padding-right:.4rem;width:100%}.container.grid-xl{max-width:1296px}.container.grid-lg{max-width:976px}.container.grid-md{max-width:856px}.container.grid-sm{max-width:616px}.container.grid-xs{max-width:496px}.show-lg,.show-md,.show-sm,.show-xl,.show-xs{display:none!important}.columns{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-.4rem;margin-right:-.4rem}.columns.col-gapless{margin-left:0;margin-right:0}.columns.col-gapless>.column{padding-left:0;padding-right:0}.columns.col-oneline{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto}.column{-webkit-flex:1;-ms-flex:1;flex:1;max-width:100%;padding-left:.4rem;padding-right:.4rem}.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%}.col-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;max-width:none;width:auto}.col-mx-auto{margin-left:auto;margin-right:auto}.col-ml-auto{margin-left:auto}.col-mr-auto{margin-right:auto}@media screen and (max-width:1280px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{-webkit-flex:none;-ms-flex:none;flex:none}.col-xl-12{width:100%}.col-xl-11{width:91.66666667%}.col-xl-10{width:83.33333333%}.col-xl-9{width:75%}.col-xl-8{width:66.66666667%}.col-xl-7{width:58.33333333%}.col-xl-6{width:50%}.col-xl-5{width:41.66666667%}.col-xl-4{width:33.33333333%}.col-xl-3{width:25%}.col-xl-2{width:16.66666667%}.col-xl-1{width:8.33333333%}.hide-xl{display:none!important}.show-xl{display:block!important}}@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%}.hide-lg{display:none!important}.show-lg{display:block!important}}@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%}.hide-md{display:none!important}.show-md{display:block!important}}@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%}.hide-sm{display:none!important}.show-sm{display:block!important}}@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}.show-xs{display:block!important}}.navbar{-webkit-align-items:stretch;align-items:stretch;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:stretch;-ms-flex-pack:justify;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;justify-content:space-between}.navbar .navbar-section{-webkit-align-items:center;align-items:center;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex:1 0 0;-ms-flex:1 0 0;flex:1 0 0;-ms-flex-align:center}.navbar .navbar-section:last-child{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.navbar .navbar-center{-webkit-align-items:center;align-items:center;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center}.navbar .navbar-brand{font-size:.8rem;font-weight:500;text-decoration:none}.panel{border:.05rem solid #e7e9ed;border-radius:.1rem;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.panel .panel-footer,.panel .panel-header{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:.8rem}.panel .panel-nav{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.panel .panel-body{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;padding:0 .8rem}.empty{background:#f8f9fa;border-radius:.1rem;color:#727e96;padding:1.6rem;text-align:center}.empty .empty-icon{margin-bottom:.8rem}.empty .empty-subtitle,.empty .empty-title{margin:.4rem auto}.empty .empty-action{margin-top:.8rem}.accordion .accordion-item input:checked~.accordion-header .icon{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.accordion .accordion-item input:checked~.accordion-body{max-height:1000px}.accordion .accordion-item .accordion-header{display:block;padding:.2rem .4rem}.accordion .accordion-item .accordion-header .icon{transition:all .2s ease}.accordion .accordion-item .accordion-body{margin-bottom:.4rem;max-height:0;overflow:hidden;transition:max-height .2s ease}.form-autocomplete{position:relative}.form-autocomplete .form-autocomplete-input{-webkit-align-content:flex-start;align-content:flex-start;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-line-pack:start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;height:auto;min-height:1.6rem;padding:.05rem 0 0 .05rem}.form-autocomplete .form-autocomplete-input.is-focused{border-color:#5764c6;box-shadow:0 0 0 .1rem rgba(87,100,198,.2)}.form-autocomplete .form-autocomplete-input .form-input{border-color:transparent;box-shadow:none;display:inline-block;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;height:1.4rem;line-height:.8rem;width:auto}.form-autocomplete mark{font-size:1;padding:.1em 0}.form-autocomplete .menu{left:0;position:absolute;top:100%;width:100%}.avatar{background:#5764c6;border-radius:50%;color:rgba(255,255,255,.85);display:inline-block;font-size:.72727273rem;font-weight:300;height:1.6rem;line-height:1;margin:0;position:relative;vertical-align:middle;width:1.6rem}.avatar.avatar-xs{font-size:.36363636rem;height:.8rem;width:.8rem}.avatar.avatar-sm{font-size:.54545455rem;height:1.2rem;width:1.2rem}.avatar.avatar-lg{font-size:1.09090909rem;height:2.4rem;width:2.4rem}.avatar.avatar-xl{font-size:1.45454545rem;height:3.2rem;width:3.2rem}.avatar img{border-radius:50%;height:100%;position:relative;width:100%;z-index:100}.avatar .avatar-icon{background:#fff;bottom:14.64%;height:50%;padding:.1rem;position:absolute;right:14.64%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%);width:50%}.avatar[data-initial]::before{color:currentColor;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:1}.badge{position:relative;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge]::after{background:#5764c6;background-clip:padding-box;border-radius:.5rem;box-shadow:0 0 0 .1rem #fff;color:#fff;content:attr(data-badge);display:inline-block;-webkit-transform:translate(-.1rem,-.5rem);-ms-transform:translate(-.1rem,-.5rem);transform:translate(-.1rem,-.5rem)}.badge[data-badge]::after{font-size:.6rem;height:18px;line-height:1;min-width:18px;padding:3px 5px;text-align:center;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge=""]::after{height:6px;min-width:6px;padding:0;width:6px}.badge.btn::after{position:absolute;right:0;top:0;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.badge.avatar::after{position:absolute;right:14.64%;top:14.64%;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);z-index:100}.badge.avatar-xs::after{content:"";height:.4rem;min-width:.4rem;padding:0;width:.4rem}.breadcrumb{list-style:none;margin:.2rem 0;padding:.2rem 0}.breadcrumb .breadcrumb-item{color:#727e96;display:inline-block;margin:0;padding:.2rem 0}.breadcrumb .breadcrumb-item:not(:last-child){margin-right:.2rem}.breadcrumb .breadcrumb-item:not(:last-child) a{color:#727e96}.breadcrumb .breadcrumb-item:not(:first-child)::before{color:#e7e9ed;content:"/";padding-right:.2rem}.bar{background:#f0f1f4;border-radius:.1rem;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:.8rem;width:100%}.bar.bar-sm{height:.2rem}.bar .bar-item{background:#5764c6;color:#fff;display:block;-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0;font-size:.6rem;height:100%;line-height:.8rem;position:relative;text-align:center;width:0}.bar .bar-item:first-child{border-bottom-left-radius:.1rem;border-top-left-radius:.1rem}.bar .bar-item:last-child{border-bottom-right-radius:.1rem;border-top-right-radius:.1rem;-ms-flex-negative:1;-webkit-flex-shrink:1;flex-shrink:1}.bar-slider{height:.1rem;margin:.4rem 0;position:relative}.bar-slider .bar-item{left:0;padding:0;position:absolute}.bar-slider .bar-item:not(:last-child):first-child{background:#f0f1f4;z-index:1}.bar-slider .bar-slider-btn{background:#5764c6;border:0;border-radius:50%;height:.6rem;padding:0;position:absolute;right:0;top:50%;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);width:.6rem}.bar-slider .bar-slider-btn:active{box-shadow:0 0 0 .1rem #5764c6}.card{background:#fff;border:.05rem solid #e7e9ed;border-radius:.1rem;display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card .card-body,.card .card-footer,.card .card-header{padding:.8rem;padding-bottom:0}.card .card-body:last-child,.card .card-footer:last-child,.card .card-header:last-child{padding-bottom:.8rem}.card .card-image{padding-top:.8rem}.card .card-image:first-child{padding-top:0}.card .card-image:first-child img{border-top-left-radius:.1rem;border-top-right-radius:.1rem}.card .card-image:last-child img{border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem}.chip{-webkit-align-items:center;align-items:center;background:#f0f1f4;border-radius:.1rem;color:#727e96;display:-ms-inline-flexbox;display:inline-flex;display:-webkit-inline-flex;-ms-flex-align:center;height:1.4rem;margin:0 .05rem .05rem 0;max-width:100%;padding:.05rem .4rem;text-decoration:none;vertical-align:middle}.chip.active{background:#5764c6;color:#fff}.chip .avatar{margin-left:-.2rem;margin-right:.2rem}.dropdown{display:inline-block;position:relative}.dropdown .menu{-webkit-animation:slide-down .15s ease 1;animation:slide-down .15s ease 1;display:none;left:0;max-height:50vh;overflow-y:auto;position:absolute;top:100%}.dropdown.dropdown-right .menu{left:auto;right:0}.dropdown .dropdown-toggle:focus+.menu,.dropdown .menu:hover,.dropdown.active .menu{display:block}.dropdown .btn-group .dropdown-toggle:nth-last-child(2){border-bottom-right-radius:.1rem;border-top-right-radius:.1rem}.menu{background:#fff;border-radius:.1rem;box-shadow:0 .05rem .2rem rgba(69,77,93,.3);list-style:none;margin:0;min-width:180px;padding:.4rem;-webkit-transform:translateY(.2rem);-ms-transform:translateY(.2rem);transform:translateY(.2rem);z-index:100}.menu.menu-nav{background:0 0;box-shadow:none}.menu .menu-item{margin-top:0;padding:0 .4rem;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.menu .menu-item>a{border-radius:.1rem;color:inherit;display:block;margin:0 -.4rem;padding:.2rem .4rem;text-decoration:none}.menu .menu-item>a:focus,.menu .menu-item>a:hover{background:#eff1fa;color:#5764c6}.menu .menu-item>a.active,.menu .menu-item>a:active{background:#eff1fa;color:#5764c6}.menu .menu-item+.menu-item{margin-top:.2rem}.menu .menu-badge{float:right;padding:.2rem 0}.menu .menu-badge .btn{margin-top:-.1rem}.modal{-webkit-align-items:center;align-items:center;bottom:0;display:none;-ms-flex-align:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;left:0;opacity:0;overflow:hidden;padding:.4rem;position:fixed;right:0;top:0}.modal.active,.modal:target{display:flex;display:-ms-flexbox;display:-webkit-flex;opacity:1;z-index:400}.modal.active .modal-overlay,.modal:target .modal-overlay{background:rgba(248,249,250,.75);bottom:0;cursor:default;display:block;left:0;position:absolute;right:0;top:0}.modal.active .modal-container,.modal:target .modal-container{-webkit-animation:slide-down .2s ease 1;animation:slide-down .2s ease 1;max-width:640px;z-index:1}.modal.modal-sm .modal-container{max-width:320px}.modal-container{background:#fff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(69,77,93,.3);display:block;padding:0;text-align:left}.modal-container .modal-header{padding:.8rem}.modal-container .modal-header .modal-title{margin:0}.modal-container .modal-body{max-height:50vh;overflow-y:auto;padding:.8rem;position:relative}.modal-container .modal-footer{padding:.8rem;text-align:right}.nav{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;list-style:none;margin:.2rem 0}.nav .nav-item a{color:#727e96;padding:.2rem .4rem;text-decoration:none}.nav .nav-item a:focus,.nav .nav-item a:hover{color:#5764c6}.nav .nav-item.active>a{color:#5b657a;font-weight:700}.nav .nav-item.active>a:focus,.nav .nav-item.active>a:hover{color:#5764c6}.nav .nav{margin-bottom:.4rem;margin-left:.8rem}.pagination{display:flex;display:-ms-flexbox;display:-webkit-flex;list-style:none;margin:.2rem 0;padding:.2rem 0}.pagination .page-item{margin:.2rem .05rem}.pagination .page-item span{display:inline-block;padding:.2rem .2rem}.pagination .page-item a{border-radius:.1rem;color:#727e96;display:inline-block;padding:.2rem .4rem;text-decoration:none}.pagination .page-item a:focus,.pagination .page-item a:hover{color:#5764c6}.pagination .page-item.disabled a{cursor:default;opacity:.5;pointer-events:none}.pagination .page-item.active a{background:#5764c6;color:#fff}.pagination .page-item.page-next,.pagination .page-item.page-prev{-webkit-flex:1 0 50%;-ms-flex:1 0 50%;flex:1 0 50%}.pagination .page-item.page-next{text-align:right}.pagination .page-item .page-item-title{margin:0}.pagination .page-item .page-item-subtitle{margin:0;opacity:.5}.popover{display:inline-block;position:relative}.popover .popover-container{content:attr(data-tooltip);left:50%;opacity:0;padding:.4rem;position:absolute;top:0;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);transition:transform .2s ease,-webkit-transform .2s ease;transition:transform .2s ease;transition:-webkit-transform .2s ease;width:320px;z-index:400}.popover .popover-container:hover,.popover :focus+.popover-container,.popover:hover .popover-container{display:block;opacity:1;-webkit-transform:translate(-50%,-100%) scale(1);-ms-transform:translate(-50%,-100%) scale(1);transform:translate(-50%,-100%) scale(1)}.popover.popover-right .popover-container{left:100%;top:50%}.popover.popover-right .popover-container:hover,.popover.popover-right :focus+.popover-container,.popover.popover-right:hover .popover-container{-webkit-transform:translate(0,-50%) scale(1);-ms-transform:translate(0,-50%) scale(1);transform:translate(0,-50%) scale(1)}.popover.popover-bottom .popover-container{left:50%;top:100%}.popover.popover-bottom .popover-container:hover,.popover.popover-bottom :focus+.popover-container,.popover.popover-bottom:hover .popover-container{-webkit-transform:translate(-50%,0) scale(1);-ms-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.popover.popover-left .popover-container{left:0;top:50%}.popover.popover-left .popover-container:hover,.popover.popover-left :focus+.popover-container,.popover.popover-left:hover .popover-container{-webkit-transform:translate(-100%,-50%) scale(1);-ms-transform:translate(-100%,-50%) scale(1);transform:translate(-100%,-50%) scale(1)}.popover .card{border:0;box-shadow:0 .2rem .5rem rgba(69,77,93,.3)}.step{display:flex;display:-ms-flexbox;display:-webkit-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;list-style:none;margin:.2rem 0;width:100%}.step .step-item{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;margin-top:0;min-height:20px;position:relative;text-align:center}.step .step-item:not(:first-child)::before{background:#5764c6;content:"";height:2px;left:-50%;position:absolute;top:9px;width:100%}.step .step-item a{color:#acb3c2;display:inline-block;padding:20px 10px 0;text-decoration:none}.step .step-item a::before{background:#5764c6;border:.1rem solid #fff;border-radius:50%;content:"";display:block;height:.6rem;left:50%;position:absolute;top:.2rem;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:.6rem;z-index:1}.step .step-item.active a::before{background:#fff;border:.1rem solid #5764c6}.step .step-item.active~.step-item::before{background:#e7e9ed}.step .step-item.active~.step-item a::before{background:#e7e9ed}.tab{-webkit-align-items:center;align-items:center;border-bottom:.05rem solid #e7e9ed;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:.2rem 0 .15rem 0}.tab .tab-item{margin-top:0}.tab .tab-item.tab-action{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;text-align:right}.tab .tab-item a{border-bottom:.1rem solid transparent;color:inherit;display:block;margin:0 .4rem 0 0;padding:.4rem .2rem .3rem .2rem;text-decoration:none}.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:#5764c6;color:#5764c6}.tab.tab-block .tab-item{-webkit-flex:1 0 0;-ms-flex:1 0 0;flex:1 0 0;text-align:center}.tab.tab-block .tab-item a{margin:0}.tab.tab-block .tab-item .badge[data-badge]::after{position:absolute;right:-4px;top:-4px;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.tab:not(.tab-block) .badge{padding-right:2px}.tile{-webkit-align-content:space-between;align-content:space-between;-webkit-align-items:flex-start;align-items:flex-start;display:flex;display:-ms-flexbox;display:-webkit-flex;-ms-flex-align:start;-ms-flex-line-pack:justify}.tile .tile-action,.tile .tile-icon{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.tile .tile-content{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.tile .tile-content:not(:first-child){padding-left:.4rem}.tile .tile-content:not(:last-child){padding-right:.4rem}.tile .tile-subtitle,.tile .tile-title{line-height:1rem}.tile.tile-centered{-webkit-align-items:center;align-items:center;-ms-flex-align:center}.tile.tile-centered .tile-content{overflow:hidden}.tile.tile-centered .tile-subtitle,.tile.tile-centered .tile-title{margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast{background:rgba(69,77,93,.9);border:.05rem solid #454d5d;border-color:#454d5d;border-radius:.1rem;color:#fff;display:block;padding:.4rem;width:100%}.toast.toast-primary{background:rgba(87,100,198,.9);border-color:#5764c6}.toast.toast-success{background:rgba(50,182,67,.9);border-color:#32b643}.toast.toast-warning{background:rgba(255,183,0,.9);border-color:#ffb700}.toast.toast-error{background:rgba(232,86,0,.9);border-color:#e85600}.toast a{color:#fff;text-decoration:underline}.toast a.active,.toast a:active,.toast a:focus,.toast a:hover{opacity:.75}.toast .btn-clear{margin:2px -2px 2px 4px}.tooltip{position:relative}.tooltip::after{background:rgba(69,77,93,.9);border-radius:.1rem;bottom:100%;color:#fff;content:attr(data-tooltip);display:block;font-size:.6rem;left:50%;max-width:320px;opacity:0;overflow:hidden;padding:.2rem .4rem;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-transform:translate(-50%,.4rem);-ms-transform:translate(-50%,.4rem);transform:translate(-50%,.4rem);transition:all .2s ease;white-space:nowrap;z-index:300}.tooltip:focus::after,.tooltip:hover::after{opacity:1;-webkit-transform:translate(-50%,-.2rem);-ms-transform:translate(-50%,-.2rem);transform:translate(-50%,-.2rem)}.tooltip.disabled,.tooltip[disabled]{pointer-events:auto}.tooltip.tooltip-right::after{bottom:50%;left:100%;-webkit-transform:translate(-.2rem,50%);-ms-transform:translate(-.2rem,50%);transform:translate(-.2rem,50%)}.tooltip.tooltip-right:focus::after,.tooltip.tooltip-right:hover::after{-webkit-transform:translate(.2rem,50%);-ms-transform:translate(.2rem,50%);transform:translate(.2rem,50%)}.tooltip.tooltip-bottom::after{bottom:auto;top:100%;-webkit-transform:translate(-50%,-.4rem);-ms-transform:translate(-50%,-.4rem);transform:translate(-50%,-.4rem)}.tooltip.tooltip-bottom:focus::after,.tooltip.tooltip-bottom:hover::after{-webkit-transform:translate(-50%,.2rem);-ms-transform:translate(-50%,.2rem);transform:translate(-50%,.2rem)}.tooltip.tooltip-left::after{bottom:50%;left:auto;right:100%;-webkit-transform:translate(.4rem,50%);-ms-transform:translate(.4rem,50%);transform:translate(.4rem,50%)}.tooltip.tooltip-left:focus::after,.tooltip.tooltip-left:hover::after{-webkit-transform:translate(-.2rem,50%);-ms-transform:translate(-.2rem,50%);transform:translate(-.2rem,50%)}@-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%{opacity:0;-webkit-transform:translateY(-1.6rem);transform:translateY(-1.6rem)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;-webkit-transform:translateY(-1.6rem);transform:translateY(-1.6rem)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.text-primary{color:#5764c6}a.text-primary:focus,a.text-primary:hover{color:#4452c0}.text-secondary{color:#e4e6f6}a.text-secondary:focus,a.text-secondary:hover{color:#d1d4ef}.text-gray{color:#acb3c2}a.text-gray:focus,a.text-gray:hover{color:#9ea6b7}.text-light{color:#fff}a.text-light:focus,a.text-light:hover{color:#f2f2f2}.text-success{color:#32b643}a.text-success:focus,a.text-success:hover{color:#2da23c}.text-warning{color:#ffb700}a.text-warning:focus,a.text-warning:hover{color:#e6a500}.text-error{color:#e85600}a.text-error:focus,a.text-error:hover{color:#cf4d00}.bg-primary{background:#5764c6}.bg-secondary{background:#eff1fa}.bg-dark{background:#454d5d}.bg-gray{background:#f8f9fa}.bg-success{background:#32b643}.bg-warning{background:#ffb700}.bg-error{background:#e85600}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex;display:-ms-flexbox;display:-webkit-flex}.d-inline-flex{display:inline-flex;display:-ms-inline-flexbox;display:-webkit-inline-flex}.d-none,.hide{display:none!important}.d-visible{visibility:visible}.d-invisible{visibility:hidden}.text-hide{background:0 0;border:0;color:transparent;font-size:0;line-height:0;text-shadow:none}.text-assistive{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.hand{cursor:pointer}.divider,.divider-vert{display:block;position:relative}.divider-vert[data-content]::after,.divider[data-content]::after{background:#fff;color:#acb3c2;content:attr(data-content);display:inline-block;font-size:.6rem;padding:0 .4rem;-webkit-transform:translateY(-.55rem);-ms-transform:translateY(-.55rem);transform:translateY(-.55rem)}.divider{border-top:.05rem solid #e7e9ed;height:.05rem;margin:.4rem 0}.divider[data-content]{margin:.8rem 0}.divider-vert{display:block;padding:.8rem}.divider-vert::before{border-left:.05rem solid #e7e9ed;bottom:.4rem;content:"";display:block;left:50%;position:absolute;top:.4rem;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.divider-vert[data-content]::after{left:50%;padding:.2rem 0;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.loading{color:transparent!important;min-height:.8rem;pointer-events:none;position:relative}.loading::after{-webkit-animation:loading .5s infinite linear;animation:loading .5s infinite linear;border:.1rem solid #5764c6;border-radius:50%;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:.8rem;left:50%;margin-left:-.4rem;margin-top:-.4rem;position:absolute;top:50%;width:.8rem;z-index:1}.loading.loading-lg{min-height:2rem}.loading.loading-lg::after{height:1.6rem;margin-left:-.8rem;margin-top:-.8rem;width:1.6rem}.clearfix::after,.container::after{clear:both;content:"";display:table}.float-left{float:left!important}.float-right{float:right!important}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.centered{display:block;float:none;margin-left:auto;margin-right:auto}.m-0{margin:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mr-0{margin-right:0}.mt-0{margin-top:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-bottom:0;margin-top:0}.m-1{margin:.2rem}.mb-1{margin-bottom:.2rem}.ml-1{margin-left:.2rem}.mr-1{margin-right:.2rem}.mt-1{margin-top:.2rem}.mx-1{margin-left:.2rem;margin-right:.2rem}.my-1{margin-bottom:.2rem;margin-top:.2rem}.m-2{margin:.4rem}.mb-2{margin-bottom:.4rem}.ml-2{margin-left:.4rem}.mr-2{margin-right:.4rem}.mt-2{margin-top:.4rem}.mx-2{margin-left:.4rem;margin-right:.4rem}.my-2{margin-bottom:.4rem;margin-top:.4rem}.p-0{padding:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pr-0{padding-right:0}.pt-0{padding-top:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-bottom:0;padding-top:0}.p-1{padding:.2rem}.pb-1{padding-bottom:.2rem}.pl-1{padding-left:.2rem}.pr-1{padding-right:.2rem}.pt-1{padding-top:.2rem}.px-1{padding-left:.2rem;padding-right:.2rem}.py-1{padding-bottom:.2rem;padding-top:.2rem}.p-2{padding:.4rem}.pb-2{padding-bottom:.4rem}.pl-2{padding-left:.4rem}.pr-2{padding-right:.4rem}.pt-2{padding-top:.4rem}.px-2{padding-left:.4rem;padding-right:.4rem}.py-2{padding-bottom:.4rem;padding-top:.4rem}.rounded{border-radius:.1rem}.circle{border-radius:50%}.text-left{text-align:left}.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-large{font-size:1.2em}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clip{overflow:hidden;text-overflow:clip;white-space:nowrap}.text-break{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word} \ No newline at end of file
diff --git a/docs/elements.html b/docs/elements.html
index 3994590..ced6625 100644
--- a/docs/elements.html
+++ b/docs/elements.html
@@ -104,12 +104,6 @@
<li class="menu-item">
<a href="layout.html#navbar">Navbar</a>
</li>
- <li class="menu-item">
- <a href="layout.html#panels">Panels</a>
- </li>
- <li class="menu-item">
- <a href="layout.html#empty">Empty states</a>
- </li>
</ul>
</div>
</div>
@@ -145,6 +139,9 @@
<a href="components.html#chips">Chips</a>
</li>
<li class="menu-item">
+ <a href="components.html#empty">Empty states</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#menus">Menus</a>
</li>
<li class="menu-item">
@@ -157,6 +154,9 @@
<a href="components.html#pagination">Pagination</a>
</li>
<li class="menu-item">
+ <a href="components.html#panels">Panels</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#popovers">Popovers</a>
</li>
<li class="menu-item">
@@ -256,7 +256,7 @@
<div class="docs-note">
<p>Typography sets default styles for headings, paragraphs, semantic text, blockquote and lists elements.</p>
</div>
- <h4 class="s-subtitle">Headings</h4>
+ <h4 id="typography-headings" class="s-subtitle">Headings</h4>
<div class="columns">
<div class="column col-12">
<h1>H1 Heading <small class="label">40px</small></h1>
@@ -284,7 +284,7 @@
&lt;<span class="tag">span</span> <span class="atn">class</span>=<span class="atv">&quot;h1&quot;</span>&gt;H1 Heading&lt;<span class="tag">/span</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Paragraphs</h4>
+ <h4 id="typography-paragraphs" class="s-subtitle">Paragraphs</h4>
<div class="docs-note">
<p>Lorem ipsum dolor sit amet, consectetur <a href="#typography">adipiscing elit. Praesent risus leo, dictum in vehicula sit amet</a>, feugiat tempus tellus. Duis quis sodales risus. Etiam euismod ornare consequat.</p>
<p>Climb leg rub face on everything give attitude nap all day for under the bed. Chase mice attack feet but rub face on everything hopped up on goofballs.</p>
@@ -295,7 +295,7 @@
&lt;<span class="tag">p</span>&gt;...&lt;<span class="tag">/p</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Semantic text elements</h4>
+ <h4 id="typography-semantic-text" class="s-subtitle">Semantic text elements</h4>
<div class="columns">
<div class="column col-4 col-xs-12">
<abbr title="Internationalization">I18N</abbr>
@@ -374,7 +374,7 @@
</div>
</div>
- <h4 class="s-subtitle">Optimized for east asian fonts</h4>
+ <h4 id="typography-east-asian" class="s-subtitle">Optimized for east asian fonts</h4>
<h5><small lang="zh-Hans">你好</small>, <small lang="ja">こんにちは</small>, <small lang="ko">안녕하세요</small></h5>
<div class="docs-note">
<h6>Chinese (Simplified)</h6>
@@ -409,7 +409,7 @@
&lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;cjk&quot;</span>&gt;&lt;<span class="tag">del</span>&gt;祇園&lt;<span class="tag">/del</span>&gt;&lt;<span class="tag">del</span>&gt;精舎&lt;<span class="tag">/del</span>&gt;の鐘の声、諸行無常の響きあり。……&lt;<span class="tag">/p</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Blockquote</h4>
+ <h4 id="typography-blockquote" class="s-subtitle">Blockquote</h4>
<blockquote>
<p>The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday life. </p>
<cite>- Bill Gates</cite>
@@ -422,7 +422,7 @@
&lt;<span class="tag">/blockquote</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Lists</h4>
+ <h4 id="typography-lists" class="s-subtitle">Lists</h4>
<div class="columns">
<div class="column col-4 col-xs-12">
<ul class="list">
@@ -555,11 +555,7 @@
<div class="columns">
<div class="column col-xs-12">
<button class="btn loading-inline">default button</button>
- </div>
- <div class="column col-xs-12">
<button class="btn btn-primary">primary button</button>
- </div>
- <div class="column col-xs-12">
<button class="btn btn-link">link button</button>
</div>
</div>
@@ -568,60 +564,25 @@
<p>Add the <code>btn</code> class to &lt;a&gt;, &lt;input&gt; or &lt;button&gt; elements for a default button. There are classes <code>btn-primary</code> and <code>btn-link</code> for predefined primary and link buttons. </p>
</div>
- <div class="docs-note">
- <p>Add the <code>disabled</code> class or the <code>disabled</code> attribute for a disabled button.</p>
- </div>
-
- <div class="columns">
- <div class="column col-xs-12">
- <button class="btn disabled" tabindex="-1">default disabled</button>
- </div>
- <div class="column col-xs-12">
- <button class="btn btn-primary" disabled tabindex="-1">primary disabled</button>
- </div>
- <div class="column col-xs-12">
- <button class="btn btn-link" disabled tabindex="-1">link disabled</button>
- </div>
- </div>
-
- <div class="docs-note">
- <p>A button with the <code>loading</code> class can show loading indicator.</p>
- </div>
-
- <div class="columns">
- <div class="column col-xs-12">
- <button class="btn loading">default button</button>
- </div>
- <div class="column col-xs-12">
- <button class="btn btn-primary loading">primary button</button>
- </div>
- <div class="column col-xs-12">
- <button class="btn btn-link loading">link button</button>
- </div>
- </div>
-
<!-- buttons example -->
<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn&quot;</span>&gt;default button&lt;<span class="tag">/button</span>&gt;
&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn btn-primary&quot;</span>&gt;primary button&lt;<span class="tag">/button</span>&gt;
&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn btn-link&quot;</span>&gt;link button&lt;<span class="tag">/button</span>&gt;
-
-<span class="com">&lt;!-- buttons with disabled state --&gt;</span>
-&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn disabled&quot;</span> <span class="atn">tabindex</span>=<span class="atv">&quot;-1&quot;</span>&gt;disabled button&lt;<span class="tag">/button</span>&gt;
-&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn&quot;</span> <span class="atn">disabled</span> <span class="atn">tabindex</span>=<span class="atv">&quot;-1&quot;</span>&gt;disabled button&lt;<span class="tag">/button</span>&gt;
-
-<span class="com">&lt;!-- a button with loading state --&gt;</span>
-&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn loading&quot;</span>&gt;button&lt;<span class="tag">/button</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Button sizes</h4>
+ <h4 id="buttons-sizes" class="s-subtitle">Button sizes</h4>
<div class="columns">
- <div class="column">
+ <div class="column col-12">
<button class="btn btn-primary btn-lg">large <i class="icon icon-arrow-down"></i></button>
- <button class="btn btn-primary btn-lg">large</button>
+ <button class="btn btn-primary btn-lg">large button</button>
+ </div>
+ <div class="column col-12">
<button class="btn btn-primary">normal <i class="icon icon-arrow-down"></i></button>
- <button class="btn btn-primary">normal</button>
+ <button class="btn btn-primary">normal button</button>
+ </div>
+ <div class="column col-12">
<button class="btn btn-primary btn-sm">small <i class="icon icon-arrow-down"></i></button>
- <button class="btn btn-primary btn-sm">small</button>
+ <button class="btn btn-primary btn-sm">small button</button>
</div>
</div>
<div class="docs-note">
@@ -661,16 +622,73 @@
&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn btn-action circle&quot;</span>&gt;&lt;<span class="tag">i</span> <span class="atn">class</span>=<span class="atv">&quot;icon icon-arrow-left&quot;</span>&gt;&lt;<span class="tag">/i</span>&gt;&lt;<span class="tag">/button</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Button groups</h4>
+ <h4 id="buttons-states" class="s-subtitle">Button states</h4>
+
+ <div class="docs-note">
+ <p>Add the <code>active</code> class for active button state style.</p>
+ </div>
+
+ <div class="columns">
+ <div class="column col-xs-12">
+ <button class="btn active">default active</button>
+ <button class="btn btn-primary active">primary active</button>
+ <button class="btn btn-link active">link active</button>
+ </div>
+ </div>
+
+<!-- buttons example -->
+<pre class="code" data-lang="HTML"><code>
+<span class="com">&lt;!-- buttons with disabled state --&gt;</span>
+&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn disabled&quot;</span> <span class="atn">tabindex</span>=<span class="atv">&quot;-1&quot;</span>&gt;disabled button&lt;<span class="tag">/button</span>&gt;
+&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn&quot;</span> <span class="atn">disabled</span> <span class="atn">tabindex</span>=<span class="atv">&quot;-1&quot;</span>&gt;disabled button&lt;<span class="tag">/button</span>&gt;
+</code></pre>
+
+ <div class="docs-note">
+ <p>Add the <code>disabled</code> class or the <code>disabled</code> attribute for disabled button state style.</p>
+ </div>
+
<div class="columns">
<div class="column col-xs-12">
+ <button class="btn disabled" tabindex="-1">default disabled</button>
+ <button class="btn btn-primary" disabled tabindex="-1">primary disabled</button>
+ <button class="btn btn-link" disabled tabindex="-1">link disabled</button>
+ </div>
+ </div>
+
+<!-- buttons example -->
+<pre class="code" data-lang="HTML"><code>
+<span class="com">&lt;!-- buttons with disabled state --&gt;</span>
+&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn disabled&quot;</span> <span class="atn">tabindex</span>=<span class="atv">&quot;-1&quot;</span>&gt;disabled button&lt;<span class="tag">/button</span>&gt;
+&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn&quot;</span> <span class="atn">disabled</span> <span class="atn">tabindex</span>=<span class="atv">&quot;-1&quot;</span>&gt;disabled button&lt;<span class="tag">/button</span>&gt;
+</code></pre>
+
+ <div class="docs-note">
+ <p>A button with the <code>loading</code> class can show loading indicator.</p>
+ </div>
+
+ <div class="columns">
+ <div class="column col-xs-12">
+ <button class="btn loading">default button</button>
+ <button class="btn btn-primary loading">primary button</button>
+ <button class="btn btn-link loading">link button</button>
+ </div>
+ </div>
+
+<!-- buttons example -->
+<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- a button with loading state --&gt;</span>
+&lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn loading&quot;</span>&gt;button&lt;<span class="tag">/button</span>&gt;
+</code></pre>
+
+ <h4 id="buttons-groups" class="s-subtitle">Button groups</h4>
+ <div class="columns">
+ <div class="column col-md-12">
<div class="btn-group">
- <button class="btn tooltip" data-tooltip="Tooltip text">first button</button>
- <button class="btn tooltip" data-tooltip="Tooltip text">second button</button>
- <button class="btn tooltip" data-tooltip="Tooltip text">third button</button>
+ <button class="btn">first button</button>
+ <button class="btn">second button</button>
+ <button class="btn">third button</button>
</div>
</div>
- <div class="column col-xs-12">
+ <div class="column col-md-12">
<div class="btn-group btn-group-block">
<button class="btn btn-primary">first button</button>
<button class="btn btn-primary">second button</button>
@@ -679,14 +697,14 @@
</div>
</div>
<div class="columns">
- <div class="column col-xs-12">
+ <div class="column col-md-12">
<div class="btn-group">
<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="column col-md-12">
<div class="btn-group btn-group-block">
<button class="btn btn-primary btn-sm active">first button</button>
<button class="btn btn-primary btn-sm">second button</button>
@@ -714,20 +732,80 @@
<p>Forms provide the most common control styles used in forms, including input, textarea, select, checkbox, radio and switch. </p>
</div>
<div class="columns">
- <div class="column col-9 col-xs-12">
- <form action="#forms">
- <div class="form-group">
- <label class="form-label" for="input-example-1">Name</label>
- <input class="form-input" type="text" id="input-example-1" placeholder="Name" />
- </div>
- <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>
+ <div class="column col-6 col-xs-12">
+ <div class="form-group">
+ <label class="form-label" for="input-example-1">Name</label>
+ <input class="form-input" type="text" id="input-example-1" placeholder="Name" />
+ </div>
+ <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>
+ </div>
+ </div>
+
+<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- form input control --&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&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;
+</code></pre>
+
+ <div class="columns">
+ <div class="column col-6 col-xs-12">
+ <div class="form-group">
+ <label class="form-label" for="input-example-3">Message</label>
+ <textarea class="form-input" id="input-example-3" placeholder="Textarea" rows="3"></textarea>
+ </div>
+ </div>
+ </div>
+
+<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- form textarea control --&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-3&quot;</span>&gt;Message&lt;<span class="tag">/label</span>&gt;
+&lt;<span class="tag">textarea</span> <span class="atn">class</span>=<span class="atv">&quot;form-input&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;input-example-3&quot;</span> <span class="atn">placeholder</span>=<span class="atv">&quot;Textarea&quot;</span> <span class="atn">rows</span>=<span class="atv">&quot;3&quot;</span>&gt;&lt;<span class="tag">/textarea</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
+ <div class="columns">
+ <div class="column col-6 col-xs-12">
+ <div class="form-group">
+ <select class="form-select">
+ <option>Choose an option</option>
+ <option>Slack</option>
+ <option>Skype</option>
+ <option>Hipchat</option>
+ </select>
+ </div>
+ <div class="form-group">
+ <select class="form-select" multiple>
+ <option>Choose an option</option>
+ <option>Slack</option>
+ <option>Skype</option>
+ <option>Hipchat</option>
+ </select>
+ </div>
+ </div>
+ </div>
+
+<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- form select control --&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">select</span> <span class="atn">class</span>=<span class="atv">&quot;form-select&quot;</span>&gt;
+ &lt;<span class="tag">option</span>&gt;Choose an option&lt;<span class="tag">/option</span>&gt;
+ &lt;<span class="tag">option</span>&gt;Slack&lt;<span class="tag">/option</span>&gt;
+ &lt;<span class="tag">option</span>&gt;Skype&lt;<span class="tag">/option</span>&gt;
+ &lt;<span class="tag">option</span>&gt;Hipchat&lt;<span class="tag">/option</span>&gt;
+ &lt;<span class="tag">/select</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
+ <div class="columns">
+ <div class="column col-6 col-xs-12">
+ <form>
<div class="form-group">
<label class="form-label">Gender</label>
<label class="form-radio">
- <input type="radio" name="gender" />
+ <input type="radio" name="gender" checked />
<i class="form-icon"></i> Male
</label>
<label class="form-radio">
@@ -735,93 +813,81 @@
<i class="form-icon"></i> Female
</label>
</div>
- <div class="form-group">
- <select class="form-select">
- <option>Choose an option</option>
- <option>Slack</option>
- <option>Skype</option>
- <option>Hipchat</option>
- </select>
- </div>
- <div class="form-group">
- <label class="form-switch">
- <input type="checkbox" />
- <i class="form-icon"></i> Send me emails with news and tips
- </label>
- </div>
- <div class="form-group">
- <label class="form-label" for="input-example-3">Message</label>
- <textarea class="form-input" id="input-example-3" placeholder="Textarea" rows="3"></textarea>
- </div>
- <div class="form-group">
- <label class="form-checkbox">
- <input type="checkbox" />
- <i class="form-icon"></i> Remember me
- </label>
- </div>
- <div class="form-group">
- <button class="btn btn-primary" type="submit">Submit</button>
- <button class="btn btn-link" type="reset">Cancel</button>
- </div>
</form>
</div>
</div>
-<!-- forms example -->
-<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">form</span>&gt;
- <span class="com">&lt;!-- form input control --&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&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;
- <span class="com">&lt;!-- form radio control --&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>&gt;Gender&lt;<span class="tag">/label</span>&gt;
- &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-radio&quot;</span>&gt;
- &lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;radio&quot;</span> <span class="atn">name</span>=<span class="atv">&quot;gender&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; Male
- &lt;<span class="tag">/label</span>&gt;
- &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-radio&quot;</span>&gt;
- &lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;radio&quot;</span> <span class="atn">name</span>=<span class="atv">&quot;gender&quot;</span> <span class="atn">checked</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; Female
- &lt;<span class="tag">/label</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
- <span class="com">&lt;!-- form select control --&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">select</span> <span class="atn">class</span>=<span class="atv">&quot;form-select&quot;</span>&gt;
- &lt;<span class="tag">option</span>&gt;Choose an option&lt;<span class="tag">/option</span>&gt;
- &lt;<span class="tag">option</span>&gt;Slack&lt;<span class="tag">/option</span>&gt;
- &lt;<span class="tag">option</span>&gt;Skype&lt;<span class="tag">/option</span>&gt;
- &lt;<span class="tag">option</span>&gt;Hipchat&lt;<span class="tag">/option</span>&gt;
- &lt;<span class="tag">/select</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
- <span class="com">&lt;!-- form switch control --&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-switch&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; Send me emails with news and tips
- &lt;<span class="tag">/label</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
- <span class="com">&lt;!-- form textarea control --&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-3&quot;</span>&gt;Message&lt;<span class="tag">/label</span>&gt;
- &lt;<span class="tag">textarea</span> <span class="atn">class</span>=<span class="atv">&quot;form-input&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;input-example-3&quot;</span> <span class="atn">placeholder</span>=<span class="atv">&quot;Textarea&quot;</span> <span class="atn">rows</span>=<span class="atv">&quot;3&quot;</span>&gt;&lt;<span class="tag">/textarea</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
- <span class="com">&lt;!-- form checkbox control --&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-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">/label</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
-&lt;<span class="tag">/form</span>&gt;
+<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- form radio control --&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>&gt;Gender&lt;<span class="tag">/label</span>&gt;
+ &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-radio&quot;</span>&gt;
+ &lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;radio&quot;</span> <span class="atn">name</span>=<span class="atv">&quot;gender&quot;</span> <span class="atn">checked</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; Male
+ &lt;<span class="tag">/label</span>&gt;
+ &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;form-radio&quot;</span>&gt;
+ &lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;radio&quot;</span> <span class="atn">name</span>=<span class="atv">&quot;gender&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; Female
+ &lt;<span class="tag">/label</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
+ <div class="columns">
+ <div class="column col-6 col-xs-12">
+ <div class="form-group">
+ <label class="form-switch">
+ <input type="checkbox" />
+ <i class="form-icon"></i> Send me emails with news and tips
+ </label>
+ </div>
+ <div class="form-group">
+ <label class="form-switch">
+ <input type="checkbox" checked />
+ <i class="form-icon"></i> Send me emails with news and tips
+ </label>
+ </div>
+ </div>
+ </div>
+
+<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- form switch control --&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-switch&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; Send me emails with news and tips
+ &lt;<span class="tag">/label</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
+ <div class="columns">
+ <div class="column col-6 col-xs-12">
+ <div class="form-group">
+ <label class="form-checkbox">
+ <input type="checkbox" />
+ <i class="form-icon"></i> Remember me
+ </label>
+ </div>
+ <div class="form-group">
+ <label class="form-checkbox">
+ <input type="checkbox" checked />
+ <i class="form-icon"></i> Remember me
+ </label>
+ </div>
+ </div>
+ </div>
+
+<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- form checkbox control --&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-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">/label</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
</code></pre>
<div class="docs-note">
<p>You can use <code>:indeterminate</code> pseudo class for indeterminate state of checkboxes.</p>
</div>
- <h4 class="s-subtitle">Horizontal forms</h4>
+ <h4 id="forms-horizontal" class="s-subtitle">Horizontal forms</h4>
<div class="docs-note">
<p>If you want to have a horizontal form, add the <code>form-horizontal</code> class to the &lt;form&gt; container. And add the <code>col-[1-12]</code> class to the child elements for form row layout. </p>
</div>
@@ -860,7 +926,9 @@
</div>
</div>
<div class="form-group">
- <div class="col-3"></div>
+ <div class="col-3">
+ <label class="form-label">Source</label>
+ </div>
<div class="col-9">
<select class="form-select" multiple>
<option>Slack</option>
@@ -920,7 +988,7 @@
&lt;<span class="tag">/form</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Form sizes</h4>
+ <h4 id="forms-sizes" class="s-subtitle">Form sizes</h4>
<div class="docs-note">
<p>For smaller or larger input and select controls, you could add the <code>input-sm</code>/<code>input-lg</code>, <code>select-sm</code>/<code>select-lg</code> and <code>label-sm</code>/<code>label-lg</code> classes to the elements.</p>
</div>
@@ -957,8 +1025,9 @@
</div>
</div>
- <h4 class="s-subtitle">Form icons</h4>
+ <h4 id="forms-icons" class="s-subtitle">Form icons</h4>
<div class="docs-note">
+ <p>Spectre Form components has <a href="#icons">Spectre Icons</a> support.</p>
<p>Add a wrapper with the <code>has-icon-left</code>/<code>has-icon-right</code> class to &lt;input&gt; element. And add the icon with <code>form-icon</code> class next to the &lt;input&gt;.</p>
</div>
<div class="columns">
@@ -969,7 +1038,7 @@
</div>
</div>
<div class="column col-4">
- <div class="has-icon-left">
+ <div class="has-icon-left tooltip" data-tooltip="Lorem ipsum dolor sit amet">
<input class="form-input" type="text" placeholder="Name" />
<i class="form-icon icon icon-arrow-right"></i>
</div>
@@ -1042,7 +1111,7 @@
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Input types</h4>
+ <h4 id="forms-input" class="s-subtitle">Input types</h4>
<div class="columns">
<div class="column col-9 col-sm-12">
<form class="form-horizontal" action="#forms">
@@ -1122,7 +1191,7 @@
</div>
</div>
- <h4 class="s-subtitle">Input groups</h4>
+ <h4 id="forms-input-groups" class="s-subtitle">Input groups</h4>
<div class="columns">
<div class="column col-xs-12">
<div class="input-group">
@@ -1205,7 +1274,7 @@
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Form validation styles</h4>
+ <h4 id="forms-validation" class="s-subtitle">Form validation styles</h4>
<div class="docs-note">
<p>To use form validation styles, add <code>is-success</code> or <code>is-error</code> class to the controls or add <code>has-success</code> or <code>has-error</code> class to parent elements. You can use the <code>form-input-hint</code> class to provide form validation success and error messages.</p>
</div>
@@ -1251,7 +1320,7 @@
</div>
</fieldset>
<fieldset>
- <legend>form-checkbox, radio and switch</legend>
+ <legend>form-checkbox, radio and switch (Error status only)</legend>
<div class="form-group">
<label class="form-checkbox is-error">
<input type="checkbox" checked />
@@ -1304,12 +1373,12 @@
&lt;<span class="tag">/form</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Form disabled styles</h4>
+ <h4 id="forms-disabled" class="s-subtitle">Form disabled styles</h4>
<div class="docs-note">
<p>Add the <code>disabled</code> attribute to the element or &lt;fieldset&gt; for a disabled form components style.</p>
</div>
<div class="columns">
- <div class="column col-9 col-xs-12">
+ <div class="column col-6 col-xs-12">
<form action="#forms">
<fieldset disabled>
<div class="form-group">
@@ -1362,7 +1431,7 @@
<div class="docs-note">
<p>Icons are single-element, responsive and pure CSS icons. You can include <code>spectre-icons.css</code> located in the <code>dist</code> folder to your web &lt;head&gt; to have these CSS icons.</p>
</div>
- <h4 class="s-subtitle">Navigation icons</h4>
+ <h4 id="icons-navigation" class="s-subtitle">Navigation icons</h4>
<div class="columns">
<div class="column col-3 col-md-6">
<button class="btn btn-primary btn-action btn-lg">
@@ -1443,7 +1512,7 @@
<p>icon-more-vert</p>
</div>
</div>
- <h4 class="s-subtitle">Action icons</h4>
+ <h4 id="icons-action" class="s-subtitle">Action icons</h4>
<div class="columns">
<div class="column col-3 col-md-6">
<button class="btn btn-primary btn-action btn-lg">
@@ -1548,7 +1617,7 @@
<p>icon-upload</p>
</div>
</div>
- <h4 class="s-subtitle">Object icons</h4>
+ <h4 id="icons-object" class="s-subtitle">Object icons</h4>
<div class="columns">
<div class="column col-3 col-md-6">
<button class="btn btn-primary btn-action btn-lg">
@@ -1615,13 +1684,14 @@
<div class="column">
<span class="label">default label</span>
<span class="label label-primary">primary label</span>
+ <span class="label label-secondary">secondary label</span>
<span class="label label-success">success label</span>
<span class="label label-warning">warning label</span>
<span class="label label-error">error label</span>
</div>
</div>
<div class="docs-note">
- <p>Add the <code>label</code> class to &lt;span&gt; or &lt;small&gt; elements. You can add another class <code>label-primary</code>, <code>label-success</code>, <code>label-warning</code> and <code>label-error</code> for colored labels.</p>
+ <p>Add the <code>label</code> class to &lt;span&gt; or &lt;small&gt; elements. You can add another class <code>label-primary</code>, <code>label-secondary</code>, <code>label-success</code>, <code>label-warning</code> and <code>label-error</code> for colored labels.</p>
</div>
<!-- labels example -->
@@ -1659,7 +1729,7 @@
<div class="docs-note">
<p>Media includes responsive images, figures and video classes. </p>
</div>
- <h4 class="s-subtitle">Images</h4>
+ <h4 id="media-images" class="s-subtitle">Images</h4>
<div class="docs-note">
<p>Add the <code>img-responsive</code> class to &lt;img&gt; elements. The images will scale with the parent sizes.</p>
</div>
@@ -1710,7 +1780,7 @@
&lt;<span class="tag">/figure</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Video</h4>
+ <h4 id="media-video" class="s-subtitle">Video</h4>
<div class="docs-note">
<p>For responsive video, add a container with the <code>video-responsive</code> class. Insert any YouTube, Youku or other iframe/embed video inside the container. The ratio is 16:9 by default. You may add <code>video-responsive-4-3</code> for 4:3 ratio video container or <code>video-responsive-1-1</code> for 1:1 ratio.</p>
</div>
diff --git a/docs/experimentals.html b/docs/experimentals.html
index fa80a10..5223619 100644
--- a/docs/experimentals.html
+++ b/docs/experimentals.html
@@ -105,12 +105,6 @@
<li class="menu-item">
<a href="layout.html#navbar">Navbar</a>
</li>
- <li class="menu-item">
- <a href="layout.html#panels">Panels</a>
- </li>
- <li class="menu-item">
- <a href="layout.html#empty">Empty states</a>
- </li>
</ul>
</div>
</div>
@@ -146,6 +140,9 @@
<a href="components.html#chips">Chips</a>
</li>
<li class="menu-item">
+ <a href="components.html#empty">Empty states</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#menus">Menus</a>
</li>
<li class="menu-item">
@@ -158,6 +155,9 @@
<a href="components.html#pagination">Pagination</a>
</li>
<li class="menu-item">
+ <a href="components.html#panels">Panels</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#popovers">Popovers</a>
</li>
<li class="menu-item">
@@ -328,7 +328,7 @@
</div>
</div>
- <h4 class="s-subtitle">Calendars large</h4>
+ <h4 id="calendars-sizes" class="s-subtitle">Calendars sizes</h4>
<div class="columns">
<div class="column col-12">
<div class="calendar calendar-lg">
@@ -648,6 +648,30 @@
</div>
</div>
+<!-- filters example -->
+<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;filter&quot;</span>&gt;
+ &lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;radio&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;tag-all&quot;</span> <span class="atn">class</span>=<span class="atv">&quot;filter-tag&quot;</span> <span class="atn">name</span>=<span class="atv">&quot;filter-radio&quot;</span> <span class="atn">hidden</span> <span class="atn">checked</span> /&gt;
+ &lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;radio&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;tag-action&quot;</span> <span class="atn">class</span>=<span class="atv">&quot;filter-tag&quot;</span> <span class="atn">name</span>=<span class="atv">&quot;filter-radio&quot;</span> <span class="atn">hidden</span> /&gt;
+ &lt;<span class="tag">input</span> <span class="atn">type</span>=<span class="atv">&quot;radio&quot;</span> <span class="atn">id</span>=<span class="atv">&quot;tag-roleplaying&quot;</span> <span class="atn">class</span>=<span class="atv">&quot;filter-tag&quot;</span> <span class="atn">name</span>=<span class="atv">&quot;filter-radio&quot;</span> <span class="atn">hidden</span> /&gt;
+
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;filter-nav&quot;</span>&gt;
+ &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;chip&quot;</span> <span class="atn">for</span>=<span class="atv">&quot;tag-all&quot;</span>&gt;All&lt;<span class="tag">/label</span>&gt;
+ &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;chip&quot;</span> <span class="atn">for</span>=<span class="atv">&quot;tag-action&quot;</span>&gt;Action&lt;<span class="tag">/label</span>&gt;
+ &lt;<span class="tag">label</span> <span class="atn">class</span>=<span class="atv">&quot;chip&quot;</span> <span class="atn">for</span>=<span class="atv">&quot;tag-roleplaying&quot;</span>&gt;Roleplaying&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;filter-body&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;filter-item card&quot;</span> <span class="atn">data-tag</span>=<span class="atv">&quot;tag-action&quot;</span>&gt;
+ <span class="com">&lt;!-- Filter item content --&gt;</span>
+ &lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;filter-item card&quot;</span> <span class="atn">data-tag</span>=<span class="atv">&quot;tag-roleplaying&quot;</span>&gt;
+ <span class="com">&lt;!-- Filter item content --&gt;</span>
+ &lt;<span class="tag">/div</span>&gt;
+ <span class="com">&lt;!-- Filter items --&gt;</span>
+ &lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
</div>
<div id="meters" class="container">
diff --git a/docs/getting-started.html b/docs/getting-started.html
index 5a1afc1..982080e 100644
--- a/docs/getting-started.html
+++ b/docs/getting-started.html
@@ -104,12 +104,6 @@
<li class="menu-item">
<a href="layout.html#navbar">Navbar</a>
</li>
- <li class="menu-item">
- <a href="layout.html#panels">Panels</a>
- </li>
- <li class="menu-item">
- <a href="layout.html#empty">Empty states</a>
- </li>
</ul>
</div>
</div>
@@ -145,6 +139,9 @@
<a href="components.html#chips">Chips</a>
</li>
<li class="menu-item">
+ <a href="components.html#empty">Empty states</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#menus">Menus</a>
</li>
<li class="menu-item">
@@ -157,6 +154,9 @@
<a href="components.html#pagination">Pagination</a>
</li>
<li class="menu-item">
+ <a href="components.html#panels">Panels</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#popovers">Popovers</a>
</li>
<li class="menu-item">
@@ -254,7 +254,7 @@
<div id="introduction" class="container">
<h3 class="s-title"><a href="#introduction" class="anchor" aria-hidden="true">#</a>Introduction</h3>
<div class="docs-note">
- <p><strong>Spectre.css</strong> is a lightweight and responsive and modern CSS framework for faster and extensible development.</p>
+ <p><strong>Spectre.css</strong> is a lightweight, responsive and modern CSS framework for faster and extensible development.</p>
<p>Spectre provides basic styles for typography and elements, flexbox based responsive layout system, CSS components and utilities with best practice coding and consistent design language.</p>
</div>
</div>
@@ -266,8 +266,8 @@
</div>
<div class="docs-note">
<h5>Install manually</h5>
- <p>Download the compiled and minified <a href="https://github.com/picturepan2/spectre/tree/master/docs/dist" target="_blank">Spectre CSS file</a> (~10KB min+gzip):</p>
- <p><a href="https://github.com/picturepan2/spectre/tree/master/docs/dist" target="_blank" class="btn btn-primary">Download Spectre.css</a></p>
+ <p>Download the compiled and minified <a href="https://github.com/picturepan2/spectre/releases" target="_blank">Spectre CSS file</a> (core ~10KB min+gzip):</p>
+ <p><a href="https://github.com/picturepan2/spectre/releases" target="_blank" class="btn btn-primary">Download Spectre.css</a></p>
<p>Include <code>spectre.css</code> located in <strong>/docs/dist</strong> in your website or Web app &lt;head&gt;. Also, you can add <code>spectre-icons.css</code> and <code>spectre-exp.css</code> accordingly.</p>
</div>
@@ -315,18 +315,29 @@
<div id="compiling" class="container">
<h3 class="s-title"><a href="#comiling" class="anchor" aria-hidden="true">#</a>Custom version</h3>
<div class="docs-note">
- <p>Spectre uses <a href="http://gulpjs.com/" target="_blank">Gulp</a> for compiling CSS. You can customize your version of Spectre.css by editing LESS files in <code>/src</code> directory or removing unneeded components from <code>spectre.less</code>, <code>spectre-exp.less</code> and <code>spectre-icons.less</code>.</p>
+ <p>You can customize your version of Spectre.css by editing LESS files in <code>/src</code> directory or removing unneeded components from <code>.less</code> source files.</p>
+ <p><a href="https://github.com/picturepan2/spectre/" target="_blank" class="btn btn-primary">Spectre.css Source Code</a></p>
+ </div>
+ <h4 id="compiling-steps" class="s-subtitle">Compiling CSS</h4>
+ <div class="docs-note">
+ <p>Spectre uses <a href="http://gulpjs.com/" target="_blank">Gulp</a> for compiling CSS. Firstly you need to <a href="https://www.npmjs.com/get-npm" target="_blank">install NPM</a>, which is used to manage Gulp and other dependencies.</p>
<p>Then, you can build the CSS file from the command line:</p>
<ol>
<li>Navigate to the root directory of Spectre.</li>
<li>Run <code>npm install</code>. NPM will install all dev dependencies as listed in package.json.</li>
- <li>When completed, run <code>gulp build</code> to compile LESS to CSS and minify files.</li>
+ <li>When completed, run <code>gulp build</code> task to compile LESS to CSS and minify files.</li>
<li>You can find compiled CSS files in <code>/dist</code> directory.</li>
</ol>
- <p>You can watch file changes and rebuild CSS files by using <code>gulp watch</code>.</p>
+ <p>All available Gulp tasks:</p>
+ <ul>
+ <li><code>gulp build</code> - compile LESS to CSS and minify files (default)</li>
+ <li><code>gulp docs</code> - compile Docs related files</li>
+ <li><code>gulp watch</code> - watch file changes and re-compile CSS files</li>
+ </ul>
</div>
-<!-- file structure -->
+ <h4 id="compiling-gulptasks" class="s-subtitle">Folder Structure</h4>
+<!-- folder structure -->
<pre class="code"><code>spectre/
├── dist/ <span class="com">// Build folder (Git ignored)</span>
│ ├── spectre-exp.css
@@ -364,9 +375,9 @@
<h4 id="variables" class="s-subtitle"><a href="#variables" class="anchor" aria-hidden="true">#</a>Variables</h4>
<div class="docs-note">
- <p>Spectre.css is designed with consistent design language. You can modify <code>variables.less</code> to create your new or match existing design.
+ <p>Spectre.css is designed with consistent design language. You can modify <code>variables.less</code> to create your new or match existing design.</p>
</div>
- <h5 class="s-subtitle">Colors</h5>
+ <h5 id="variables-colors" class="s-subtitle">Colors</h5>
<div class="columns">
<div class="column col-3 col-md-6">
<div class="docs-color" style="background:#5764c6;color:#fff;">
@@ -445,11 +456,39 @@
</div>
</div>
</div>
- <h5 class="s-subtitle">Sizes</h5>
+
+ <h5 id="variables-sizes" class="s-subtitle">Sizes</h5>
<div class="docs-note">
<p>The default REM (root em) size in Spectre.css is <code>20px</code>. </p>
- <p>Please note in Chinese/Japanese/Korean Chrome, Chrome uses 12px as default minimum font size. That is why Spectre sets rem default html font size to <code>20px</code>, which is relatively easy to calculate. </p>
- <p>Spectre also use <code>4px</code> as the unit size. Sizes of components are based on the unit size. </p>
+ <p>Please note in the Chinese/Japanese/Korean version, Chrome uses 12px as default minimum font size. That is why Spectre sets rem default html font size to <code>20px</code>, which is relatively easy to calculate. </p>
+ <p>Spectre uses <code>4px</code> as the unit size. Sizes of components are based on the unit size. </p>
+ </div>
+
+ <h5 id="variables-custom-prefix" class="s-subtitle">Custom prefix</h5>
+ <div class="docs-note">
+ <p>There is also a way to add custom prefix to all CSS classes. You can use <a href="https://www.npmjs.com/package/gulp-css-prefix" target="_blank">gulp-css-prefix</a> plugin and add a new Gulp task to enable it. </p>
+ </div>
+
+<!-- custom prefix example -->
+<pre class="code"><code><span class="tag">$</span> npm install <span class="atv">gulp-css-prefix</span>
+</code></pre>
+
+ <div class="docs-note">
+ <p>To add <code>spectre-</code> to all classes, you can add the Gulp task to <code>gulpfile.js</code> file.</p>
+ </div>
+
+<!-- custom prefix example -->
+<pre class="code"><code>var cssPrefix = require('<span class="atv">gulp-css-prefix</span>');
+
+gulp.task('prefix', function() {
+ gulp.src('./dist/*.css')
+ .pipe(cssPrefix('<span class="atv">spectre-</span>'))
+ .pipe(gulp.dest('./dist'))
+});
+</code></pre>
+
+ <div class="docs-note">
+ <p>After you compile your version of Spectre in the /dist, run <code>gulp prefix</code> in the directory of Spectre.</p>
</div>
</div>
@@ -475,6 +514,12 @@
<div id="whatsnew" class="container">
<h3 class="s-title"><a href="#whatsnew" class="anchor" aria-hidden="true">#</a>What's new</h3>
<div class="docs-note">
+ <p><strong>August 2017</strong></p>
+ <ul>
+ <li>
+ <a href="getting-started.html">New Docs Experience</a> <small class="label label-primary">NEW</small>
+ </li>
+ </ul>
<p><strong>April 2017</strong></p>
<ul>
<li>
@@ -493,7 +538,7 @@
<p><strong>March 2017</strong></p>
<ul>
<li>
- <a href="elements.html#icons">Icons</a>: single-element, responsive and pure CSS icons <small class="label label-primary">NEW</small>
+ <a href="elements.html#icons">Icons</a>: single-element, responsive and pure CSS icons
</li>
<li>
<a href="components.html#popovers">Popovers</a>: small overlay content containers
@@ -531,6 +576,7 @@
<ul>
<li>Initial commit</li>
</ul>
+ <p><a href="https://github.com/picturepan2/spectre/releases" target="_blank" class="btn btn-primary">Releases</a></p>
</div>
</div>
diff --git a/docs/index.html b/docs/index.html
index 20489da..e98754d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -12,27 +12,21 @@
<link rel="stylesheet" href="css/docs.css" />
</head>
<body>
- <div class="section section-header">
- <div class="grid-header container grid-lg">
+ <div class="section section-hero bg-gray">
+ <div id="overview" class="grid-hero container grid-lg text-center">
<div class="s-brand">
<div class="s-logo">
<img src="img/spectre-logo.svg" alt="Spectre.css CSS Framework" />
<h2>Spectre.css</h2>
</div>
</div>
- </div>
- </div>
-
- <div class="section section-hero bg-gray">
- <div id="overview" class="grid-hero container grid-lg text-center">
<h1>Spectre.css</h1>
<h2>A <u>lightweight</u>, <u>responsive</u> and <u>modern</u> CSS framework</h2>
- <div class="columns">
- <div class="column">
- <a href="getting-started.html" class="btn btn-primary btn-lg">Docs</a>
- <a href="https://github.com/picturepan2/spectre" target="_blank" class="btn btn-primary btn-lg">GitHub</a>
- </div>
- </div>
+ <p>
+ <a href="getting-started.html" class="btn btn-primary btn-lg">Docs</a>
+ <a href="https://github.com/picturepan2/spectre" target="_blank" class="btn btn-primary btn-lg">GitHub</a>
+ </p>
+ <p class="text-gray">Latest version: <span class="version"></span></p>
<div class="columns">
<div class="column col-4 col-xs-12">
<div class="card text-center">
@@ -72,11 +66,11 @@
<div class="container grid-lg">
<h2>Installation</h2>
<div class="columns">
- <div class="column col-10 col-sm-12 centered">
+ <div class="column col-10 col-sm-12 col-mx-auto text-left">
<p class="text-large text-secondary">There are 5 ways to get started with Spectre.css CSS framework in your projects. You can either install manually, from CDN or use NPM, Yarn and Bower.</p>
</div>
- <div class="column col-10 col-sm-12 centered">
- <a href="getting-started.html#installation" class="btn btn-lg">Get started</a>
+ <div class="column col-10 col-sm-12 col-mx-auto">
+ <a href="getting-started.html#installation" class="btn btn-lg">Install Spectre.css</a>
</div>
</div>
</div>
diff --git a/docs/layout.html b/docs/layout.html
index edf206b..15a9dec 100644
--- a/docs/layout.html
+++ b/docs/layout.html
@@ -104,12 +104,6 @@
<li class="menu-item">
<a href="layout.html#navbar">Navbar</a>
</li>
- <li class="menu-item">
- <a href="layout.html#panels">Panels</a>
- </li>
- <li class="menu-item">
- <a href="layout.html#empty">Empty states</a>
- </li>
</ul>
</div>
</div>
@@ -145,6 +139,9 @@
<a href="components.html#chips">Chips</a>
</li>
<li class="menu-item">
+ <a href="components.html#empty">Empty states</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#menus">Menus</a>
</li>
<li class="menu-item">
@@ -157,6 +154,9 @@
<a href="components.html#pagination">Pagination</a>
</li>
<li class="menu-item">
+ <a href="components.html#panels">Panels</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#popovers">Popovers</a>
</li>
<li class="menu-item">
@@ -318,7 +318,7 @@
<div class="docs-note">
<p>Add the <code>columns</code> class to a container with the <code>container</code> class. And add any element you want with the <code>column</code> class inside the container. These columns will take up the space equally. You can specific the width of each column by adding class <code>col-[1-12]</code>.</p>
- <p>And you can add the <code>col-gapless</code> class to have gapless columns.</p>
+ <p>And you can add the <code>col-gapless</code> class to the <code>columns</code> to have gapless columns.</p>
</div>
<div class="columns col-gapless">
@@ -356,34 +356,87 @@
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;column col-6&quot;</span>&gt;col-6&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;column col-6&quot;</span>&gt;col-6&lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/div</span>&gt;
+
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;columns col-oneline&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;column col-8&quot;</span>&gt;col-8&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;column col-8&quot;</span>&gt;col-8&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">/div</span>&gt;
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- </div>
-
- <div id="responsive" class="container">
- <h3 class="s-title"><a href="#responsive" class="anchor" aria-hidden="true">#</a>Responsive grid</h3>
+ <h4 id="grid-offset" class="s-subtitle">Grid offset</h4>
<div class="docs-note">
- <p>Spectre provides a neat responsive layout grid system and responsive visibility utilities. </p>
+ <p>The Flexbox grid provides margin auto utilities to set offset. There are <code>col-mx-auto</code>, <code>col-ml-auto</code> and <code>col-mr-auto</code> to set margins between columns without using empty columns.</p>
+ </div>
+
+ <div class="columns">
+ <div class="column col-2">
+ <div class="bg-gray docs-block">col-2</div>
+ </div>
+ <div class="column col-4 col-mx-auto">
+ <div class="bg-gray docs-block">col-4 col-mx-auto</div>
+ </div>
+ </div>
+ <div class="columns">
+ <div class="column col-2">
+ <div class="bg-gray docs-block">col-2</div>
+ </div>
+ <div class="column col-4 col-ml-auto">
+ <div class="bg-gray docs-block">col-4 col-ml-auto</div>
+ </div>
</div>
<div class="columns">
- <div class="column col-lg-6">
- <div class="bg-gray docs-block">col-lg-6</div>
+ <div class="column col-4 col-ml-auto">
+ <div class="bg-gray docs-block">col-4 col-ml-auto</div>
+ </div>
+ <div class="column col-2">
+ <div class="bg-gray docs-block">col-2</div>
+ </div>
+ </div>
+ <div class="columns">
+ <div class="column col-4 col-mx-auto">
+ <div class="bg-gray docs-block">col-4 col-mx-auto</div>
+ </div>
+ <div class="column col-2">
+ <div class="bg-gray docs-block">col-2</div>
</div>
</div>
<div class="columns">
- <div class="column col-md-6">
- <div class="bg-gray docs-block">col-md-6</div>
+ <div class="column col-4 col-mr-auto">
+ <div class="bg-gray docs-block">col-4 col-mr-auto</div>
+ </div>
+ <div class="column col-2">
+ <div class="bg-gray docs-block">col-2</div>
</div>
</div>
<div class="columns">
- <div class="column col-sm-6">
- <div class="bg-gray docs-block">col-sm-6</div>
+ <div class="column col-4 col-mx-auto">
+ <div class="bg-gray docs-block">col-4 col-mx-auto</div>
</div>
</div>
+
+<!-- layout example -->
+<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;container&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;columns&quot;</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;column col-4 col-mr-auto&quot;</span>&gt;col-4 col-mr-auto&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;column col-2&quot;</span>&gt;col-2&lt;<span class="tag">/div</span>&gt;
+ &lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">/div</span>&gt;
+</code></pre>
+
+ </div>
+
+ <div id="responsive" class="container">
+ <h3 class="s-title"><a href="#responsive" class="anchor" aria-hidden="true">#</a>Responsive</h3>
+ <div class="docs-note">
+ <p>Spectre provides a neat responsive layout grid system and responsive visibility utilities. </p>
+ </div>
<div class="columns">
- <div class="column col-xs-6">
- <div class="bg-gray docs-block">col-xs-6</div>
+ <div class="column col-10 col-lg-8 col-md-6 col-sm-4">
+ <div class="bg-gray docs-block">col-10 <br/> col-lg-8 <br/> col-md-6 <br/> col-sm-4</div>
+ </div>
+ <div class="column col-2 col-lg-4 col-md-6 col-sm-8">
+ <div class="bg-gray docs-block">col-2 <br/> col-lg-4 <br/> col-md-6 <br/> col-sm-8</div>
</div>
</div>
@@ -408,7 +461,7 @@
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Responsive container</h4>
+ <h4 id="responsive-container" class="s-subtitle">Responsive container</h4>
<div class="docs-note">
<p>The responsive layout also provides fixed-width containers. Use <code>grid-xs</code>(480px), <code>grid-sm</code> (600px), <code>grid-md</code> (840px), <code>grid-lg</code> (960px) or <code>grid-xl</code> (1280px) to <code>container</code> for a fixed-width container with the specific max-width.</p>
</div>
@@ -422,11 +475,11 @@
&lt;<span class="tag">/div</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Responsive visibility</h4>
+ <h4 id="responsive-visibility" class="s-subtitle">Responsive visibility</h4>
<div class="docs-note">
<p>The responsive visibility utilities help show and hide elements on specific viewport sizes. </p>
</div>
- <table class="docs-table table text-center">
+ <table class="docs-table table table-striped text-center">
<thead>
<tr>
<th></th>
@@ -492,7 +545,7 @@
</ul>
</div>
- <table class="docs-table table text-center">
+ <table class="docs-table table table-striped text-center">
<thead>
<tr>
<th></th>
@@ -643,234 +696,6 @@
</div>
- <div id="panels" class="container">
- <h3 class="s-title"><a href="#panels" class="anchor" aria-hidden="true">#</a>Panels</h3>
- <div class="docs-note">
- <p>Panels are flexible view container layout with auto-expand content section.</p>
- </div>
- <div class="columns">
- <div class="column col-6 col-xs-12">
- <div class="panel">
- <div class="panel-header text-center">
- <figure class="avatar avatar-lg">
- <img src="img/avatar-2.png" alt="Avatar" />
- </figure>
- <div class="panel-title h5 mt-10">Bruce Banner</div>
- <div class="panel-subtitle">THE HULK</div>
- </div>
- <nav class="panel-nav">
- <ul class="tab tab-block">
- <li class="tab-item active">
- <a href="#panels">
- Profile
- </a>
- </li>
- <li class="tab-item">
- <a href="#panels">
- Files
- </a>
- </li>
- <li class="tab-item">
- <a href="#panels">
- Tasks
- </a>
- </li>
- </ul>
- </nav>
- <div class="panel-body">
- <div class="tile tile-centered">
- <div class="tile-content">
- <div class="tile-title">E-mail</div>
- <div class="tile-subtitle">bruce.banner@hulk.com</div>
- </div>
- <div class="tile-action">
- <button class="btn btn-link btn-action btn-lg"><i class="icon icon-edit"></i></button>
- </div>
- </div>
- <div class="tile tile-centered">
- <div class="tile-content">
- <div class="tile-title">Skype</div>
- <div class="tile-subtitle">bruce.banner</div>
- </div>
- <div class="tile-action">
- <button class="btn btn-link btn-action btn-lg"><i class="icon icon-edit"></i></button>
- </div>
- </div>
- <div class="tile tile-centered">
- <div class="tile-content">
- <div class="tile-title">Location</div>
- <div class="tile-subtitle">Dayton, Ohio</div>
- </div>
- <div class="tile-action">
- <button class="btn btn-link btn-action btn-lg"><i class="icon icon-edit"></i></button>
- </div>
- </div>
- </div>
- <div class="panel-footer">
- <button class="btn btn-primary btn-block">Save</button>
- </div>
- </div>
- </div>
- <div class="column col-6 col-xs-12">
- <div class="panel">
- <div class="panel-header">
- <div class="panel-title h6">Comments</div>
- </div>
- <div class="panel-body">
- <div class="tile">
- <div class="tile-icon">
- <figure class="avatar">
- <img src="img/avatar-1.png" alt="Avatar" />
- </figure>
- </div>
- <div class="tile-content">
- <p class="tile-title">Thor Odinson</p>
- <p class="tile-subtitle">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
- </div>
- </div>
- <div class="tile">
- <div class="tile-icon">
- <figure class="avatar">
- <img src="img/avatar-2.png" alt="Avatar" />
- </figure>
- </div>
- <div class="tile-content">
- <p class="tile-title">Bruce Banner</p>
- <p class="tile-subtitle">The Strategic Homeland Intervention, Enforcement, and Logistics Division...</p>
- </div>
- </div>
- <div class="tile">
- <div class="tile-icon">
- <figure class="avatar" data-initial="TS"></figure>
- </div>
- <div class="tile-content">
- <p class="tile-title">Tony Stark</p>
- <p class="tile-subtitle">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
- </div>
- </div>
- <div class="tile">
- <div class="tile-icon">
- <figure class="avatar">
- <img src="img/avatar-4.png" alt="Avatar" />
- </figure>
- </div>
- <div class="tile-content">
- <p class="tile-title">Steve Rogers</p>
- <p class="tile-subtitle">The Strategic Homeland Intervention, Enforcement, and Logistics Division...</p>
- </div>
- </div>
- <div class="tile">
- <div class="tile-icon">
- <figure class="avatar">
- <img src="img/avatar-3.png" alt="Avatar" />
- </figure>
- </div>
- <div class="tile-content">
- <p class="tile-title">Natasha Romanoff</p>
- <p class="tile-subtitle">Earth's Mightiest Heroes joined forces to take on threats that were too big for any one hero to tackle...</p>
- </div>
- </div>
- </div>
- <div class="panel-footer">
- <div class="input-group">
- <input type="text" class="form-input" placeholder="Hello" />
- <button class="btn btn-primary input-group-btn">Send</button>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="docs-note">
- <p>Add a container element with the <code>panel</code> class. And add child elements with the <code>panel-header</code>, <code>panel-nav</code>, <code>panel-body</code> and/or <code>panel-footer</code> class. The <code>panel-body</code> can be auto expanded and vertically scrollable. </p>
- </div>
-
-<!-- panels example -->
-<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel&quot;</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-header&quot;</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-title&quot;</span>&gt;Comments&lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-nav&quot;</span>&gt;
- <span class="com">&lt;!-- navigation components: tabs, breadcrumbs or pagination --&gt;</span>
- &lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-body&quot;</span>&gt;
- <span class="com">&lt;!-- contents --&gt;</span>
- &lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;panel-footer&quot;</span>&gt;
- <span class="com">&lt;!-- buttons or inputs --&gt;</span>
- &lt;<span class="tag">/div</span>&gt;
-&lt;<span class="tag">/div</span>&gt;
-</code></pre>
-
- </div>
-
- <div id="empty" class="container">
- <h3 class="s-title"><a href="#empty" class="anchor" aria-hidden="true">#</a>Empty states / blank slates</h3>
- <div class="docs-note">
- <p>Empty states/blank slates are commonly used as placeholders for first time use, empty data and error screens.</p>
- </div>
- <div class="columns">
- <div class="column col-12">
- <div class="empty">
- <div class="empty-icon">
- <i class="icon icon-message"></i>
- </div>
- <p class="empty-title h5">You have no new messages</p>
- <p class="empty-subtitle">Click the button to start a conversation</p>
- <div class="empty-action">
- <button class="btn btn-primary">Send a message</button>
- </div>
- </div>
- </div>
- <div class="column col-12">
- <div class="empty">
- <div class="empty-icon">
- <i class="icon icon-mail"></i>
- </div>
- <p class="empty-title h5">You've successfully signed up</p>
- <p class="empty-subtitle">Click the button to invite your friends</p>
- <div class="empty-action">
- <button class="btn btn-primary">Invite your friends</button>
- </div>
- <div class="empty-action">
- <button class="btn btn-link">Skip</button>
- </div>
- </div>
- </div>
- <div class="column col-12">
- <div class="empty">
- <div class="empty-icon">
- <i class="icon icon-people"></i>
- </div>
- <p class="empty-title h5">You are not following anyone</p>
- <p class="empty-subtitle">Start to meet new friends</p>
- <div class="empty-action input-group input-inline">
- <input type="text" class="form-input" placeholder="" />
- <button class="btn btn-primary input-group-btn">Search</button>
- </div>
- </div>
- </div>
- </div>
-
- <div class="docs-note">
- <p>An empty state component can include icons, messages (title and subtitle messages) and action buttons or any combination of those elements. Add <code>empty-icon</code>, <code>empty-title</code>, <code>empty-subtitle</code> or <code>empty-action</code> to the elements. HTML structure is exampled below. </p>
- </div>
-
-<!-- empty states example -->
-<pre class="code" data-lang="HTML"><code>&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;empty&quot;</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;empty-icon&quot;</span>&gt;
- &lt;<span class="tag">i</span> <span class="atn">class</span>=<span class="atv">&quot;icon icon-people&quot;</span>&gt;&lt;<span class="tag">/i</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
- &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;empty-title h5&quot;</span>&gt;You have no new messages&lt;<span class="tag">/p</span>&gt;
- &lt;<span class="tag">p</span> <span class="atn">class</span>=<span class="atv">&quot;empty-subtitle&quot;</span>&gt;Click the button to start a conversation.&lt;<span class="tag">/p</span>&gt;
- &lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;empty-action&quot;</span>&gt;
- &lt;<span class="tag">button</span> <span class="atn">class</span>=<span class="atv">&quot;btn btn-primary&quot;</span>&gt;Send a message&lt;<span class="tag">/button</span>&gt;
- &lt;<span class="tag">/div</span>&gt;
-&lt;<span class="tag">/div</span>&gt;
-</code></pre>
-
- </div>
-
<footer class="s-footer">
<p><a href="https://github.com/picturepan2/spectre" target="_blank">GitHub</a> | <a href="https://twitter.com/spectrecss" target="_blank">Twitter</a> | <a href="https://www.paypal.me/picturepan2" target="_blank">PayPal Donate</a> | Version <span class="version"></span></p>
<p>Designed and built with ♥ 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>
diff --git a/docs/src/docs.less b/docs/src/docs.less
index b16bf3d..7bb83a5 100644
--- a/docs/src/docs.less
+++ b/docs/src/docs.less
@@ -1,7 +1,7 @@
/*! Spectre.css Docs | MIT License | github.com/picturepan2/spectre */
/* Spectre version */
.version::after {
- content: "0.2.15";
+ content: "0.3.1";
}
// Core variables and mixins
@import '../../src/variables.less';
@@ -139,7 +139,7 @@
.docs-block {
border-radius: @border-radius;
- padding: .5rem;
+ padding: @unit-2;
&.bg-gray {
background: @bg-color-dark;
@@ -293,24 +293,17 @@
}
/* Spectre Homepage style */
-.section-header {
- backdrop-filter: blur(.5rem); // Safari only feature
- background: fade(@bg-color, 90%);
+.section-hero {
padding: 1rem .5rem;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: @zindex-2;
+ position: relative;
.s-brand {
- padding: 0;
- position: static;
- }
-}
+ position: absolute;
-.section-hero {
- padding: 1.5rem .5rem;
- position: relative;
+ h2 {
+ color: @primary-color;
+ }
+ }
.column {
padding: @layout-spacing;
@@ -347,7 +340,7 @@
}
.grid-hero {
- margin-top: 5rem;
+ margin-top: 6rem;
margin-bottom: 2rem;
h1 {
@@ -469,6 +462,7 @@
.s-title,
.s-subtitle {
+ padding-top: 5rem;
position: static;
&::before {
@@ -476,6 +470,22 @@
}
}
}
+
+ .section-hero {
+ .s-brand {
+ height: 5rem;
+ padding: 1.5rem .5rem;
+
+ .s-logo {
+ height: auto;
+ }
+
+ img {
+ height: 3.2rem;
+ width: 3.2rem;
+ }
+ }
+ }
}
@media screen and (max-width: 600px) {
@@ -492,7 +502,7 @@
padding: 3.5rem .5rem 0 .5rem;
.docs-block {
- padding: .5rem .1rem;
+ padding: @unit-2 @unit-h;
}
.anchor {
diff --git a/docs/utilities.html b/docs/utilities.html
index 5077792..d502712 100644
--- a/docs/utilities.html
+++ b/docs/utilities.html
@@ -104,12 +104,6 @@
<li class="menu-item">
<a href="layout.html#navbar">Navbar</a>
</li>
- <li class="menu-item">
- <a href="layout.html#panels">Panels</a>
- </li>
- <li class="menu-item">
- <a href="layout.html#empty">Empty states</a>
- </li>
</ul>
</div>
</div>
@@ -145,6 +139,9 @@
<a href="components.html#chips">Chips</a>
</li>
<li class="menu-item">
+ <a href="components.html#empty">Empty states</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#menus">Menus</a>
</li>
<li class="menu-item">
@@ -157,6 +154,9 @@
<a href="components.html#pagination">Pagination</a>
</li>
<li class="menu-item">
+ <a href="components.html#panels">Panels</a>
+ </li>
+ <li class="menu-item">
<a href="components.html#popovers">Popovers</a>
</li>
<li class="menu-item">
@@ -256,12 +256,12 @@
<div class="docs-note">
<p>Color utilities are used for changing colors for text, link and background.</p>
</div>
- <h4 class="s-subtitle">Text colors</h4>
+ <h4 id="colors-text" class="s-subtitle">Text colors</h4>
<div class="docs-note">
<p><span class="text-primary">primary color</span></p>
<p><span class="text-secondary">secondary color</span></p>
<p><span class="text-gray">gray color</span></p>
- <p><span class="text-light bg-dark p-5 rounded">light color</span></p>
+ <p><span class="text-light bg-dark p-1 rounded">light color</span></p>
<p><span class="text-success">success color</span></p>
<p><span class="text-warning">warning color</span></p>
<p><span class="text-error">error color</span></p>
@@ -278,13 +278,13 @@
</code></pre>
<div class="docs-note">
- <p><a class="text-primary p-5" href="#colors">primary link</a></p>
- <p><a class="text-secondary p-5" href="#colors">secondary link</a></p>
- <p><a class="text-gray p-5" href="#colors">gray link</a></p>
- <p><a class="text-light bg-dark p-5 rounded" href="#colors">light link</a></p>
- <p><a class="text-success p-5" href="#colors">success link</a></p>
- <p><a class="text-warning p-5" href="#colors">warning link</a></p>
- <p><a class="text-error p-5" href="#colors">error link</a></p>
+ <p><a class="text-primary p-1" href="#colors">primary link</a></p>
+ <p><a class="text-secondary p-1" href="#colors">secondary link</a></p>
+ <p><a class="text-gray p-1" href="#colors">gray link</a></p>
+ <p><a class="text-light bg-dark p-1 rounded" href="#colors">light link</a></p>
+ <p><a class="text-success p-1" href="#colors">success link</a></p>
+ <p><a class="text-warning p-1" href="#colors">warning link</a></p>
+ <p><a class="text-error p-1" href="#colors">error link</a></p>
</div>
<!-- colors example -->
@@ -297,15 +297,15 @@
&lt;<span class="tag">a</span> <span class="atn">class</span>=<span class="atv">&quot;text-error&quot;</span> <span class="atn">href</span>=<span class="atv">&quot;#&quot;</span>&gt;error color&lt;<span class="tag">/a</span>&gt;
</code></pre>
- <h4 class="s-subtitle">Background colors</h4>
+ <h4 id="colors-background" class="s-subtitle">Background colors</h4>
<div class="docs-note">
- <p><span class="bg-primary text-light p-5 rounded">primary bg</span></p>
- <p><span class="bg-secondary text-primary p-5 rounded">secondary bg</span></p>
- <p><span class="bg-dark text-light p-5 rounded">dark bg</span></p>
- <p><span class="bg-gray p-5 rounded">gray bg</span></p>
- <p><span class="bg-success text-light p-5 rounded">success bg</span></p>
- <p><span class="bg-warning text-light p-5 rounded">warning bg</span></p>
- <p><span class="bg-error text-light p-5 rounded">error bg</span></p>
+ <p><span class="bg-primary text-light p-1 rounded">primary bg</span></p>
+ <p><span class="bg-secondary text-primary p-1 rounded">secondary bg</span></p>
+ <p><span class="bg-dark text-light p-1 rounded">dark bg</span></p>
+ <p><span class="bg-gray p-1 rounded">gray bg</span></p>
+ <p><span class="bg-success text-light p-1 rounded">success bg</span></p>
+ <p><span class="bg-warning text-light p-1 rounded">warning bg</span></p>
+ <p><span class="bg-error text-light p-1 rounded">error bg</span></p>
</div>
<!-- colors example -->
@@ -328,21 +328,22 @@
<!-- display utilities example -->
<pre class="code" data-lang="HTML"><code><span class="com">&lt;!-- display: block; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;block&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-block&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- display: inline; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;inline&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-inline&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- display: inline-block; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;inline-block&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-inline-block&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- display: flex; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;flex&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-flex&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- display: inline-flex; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;inline-flex&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-inline-flex&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- display: none; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;hide&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-none&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-hide&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- visibility: visible; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;visible&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-visible&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- visibility: hidden; --&gt;</span>
-&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;invisible&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
+&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;d-invisible&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- hide text contents --&gt;</span>
&lt;<span class="tag">div</span> <span class="atn">class</span>=<span class="atv">&quot;text-hide&quot;</span>&gt;&lt;<span class="tag">/div</span>&gt;
<span class="com">&lt;!-- assistive text for screen reader --&gt;</span>
@@ -428,7 +429,7 @@
<div id="loading" class="container">
<h3 class="s-title"><a href="#loading" class="anchor" aria-hidden="true">#</a>Loading</h3>
<div class="docs-note">
- <p>Loading indicator is used for loading or updating. Also, you can add the <code>loading</code> class to buttons for loading status. Add the <code>btn-lg</code> class for large size. </p>
+ <p>Loading indicator is used for loading or updating. Also, you can add the <code>loading</code> class to buttons for loading status.</p>
</div>
<div class="columns">
<div class="column col-12 text-center">
@@ -436,8 +437,8 @@
</div>
</div>
<div class="docs-note">
- <p>Add the <code>btn-lg</code> class for large size. </p>
- </div>
+ <p>Add the <code>loading-lg</code> class for large size. </p>
+ </div>
<div class="columns">
<div class="column col-12 text-center">
<div class="loading loading-lg"></div>
diff --git a/package.json b/package.json
index 9a8e461..e38e69e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "spectre.css",
- "version": "0.2.15",
+ "version": "0.3.1",
"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 c61207e..14c150d 100644
--- a/spectre.less
+++ b/spectre.less
@@ -29,15 +29,18 @@
@import 'src/autocomplete.less';
@import 'src/avatars.less';
@import 'src/badges.less';
+@import 'src/breadcrumbs.less';
@import 'src/bars.less';
@import 'src/cards.less';
@import 'src/chips.less';
@import 'src/dropdowns.less';
@import 'src/menus.less';
@import 'src/modals.less';
-@import 'src/navigation.less';
+@import 'src/navs.less';
+@import 'src/pagination.less';
@import 'src/popovers.less';
@import 'src/steps.less';
+@import 'src/tabs.less';
@import 'src/tiles.less';
@import 'src/toasts.less';
@import 'src/tooltips.less';
diff --git a/src/breadcrumbs.less b/src/breadcrumbs.less
index 280250b..0b0f757 100644
--- a/src/breadcrumbs.less
+++ b/src/breadcrumbs.less
@@ -1,5 +1,7 @@
// Breadcrumbs
.breadcrumb {
+ list-style: none;
+ margin: @unit-1 0;
padding: @unit-1 0;
.breadcrumb-item {
diff --git a/src/buttons.less b/src/buttons.less
index 3f1e326..1beba4d 100644
--- a/src/buttons.less
+++ b/src/buttons.less
@@ -91,13 +91,13 @@
&.btn-sm {
font-size: @font-size-sm;
height: @control-size-sm;
- padding: @control-padding-v-sm @control-padding-h;
+ padding: @control-padding-v-sm @control-padding-h * .75;
}
&.btn-lg {
font-size: @font-size-lg;
height: @control-size-lg;
- padding: @control-padding-v-lg @control-padding-h;
+ padding: @control-padding-v-lg @control-padding-h * 1.5;
}
// Button Block
diff --git a/src/cards.less b/src/cards.less
index 1a84c21..dadfa8b 100644
--- a/src/cards.less
+++ b/src/cards.less
@@ -3,7 +3,8 @@
background: @bg-color-light;
border: @border-width solid @border-color;
border-radius: @border-radius;
- display: block;
+ display: flex;
+ flex-direction: column;
.card-header,
.card-body,
@@ -35,8 +36,4 @@
}
}
}
-
- .card-subtitle {
- color: lighten(@body-font-color, 40%);
- }
-}
+} \ No newline at end of file
diff --git a/src/empty.less b/src/empty.less
index acfc8a0..b6cb1ae 100644
--- a/src/empty.less
+++ b/src/empty.less
@@ -15,10 +15,6 @@
margin: @layout-spacing auto;
}
- .empty-subtitle {
- color: lighten(@body-font-color, 40%);
- }
-
.empty-action {
margin-top: @layout-spacing-lg;
}
diff --git a/src/forms.less b/src/forms.less
index b0e9a9e..bc9b571 100644
--- a/src/forms.less
+++ b/src/forms.less
@@ -81,7 +81,7 @@ legend {
// Input types
&[type="file"] {
- height: auto;
+ padding: .125rem;
}
}
@@ -109,20 +109,23 @@ legend {
border-radius: @border-radius;
color: inherit;
font-size: @font-size;
+ height: @control-size;
line-height: @line-height;
outline: none;
padding: @control-padding-v @control-padding-h;
vertical-align: middle;
width: 100%;
+ &[size],
&[multiple] {
+ height: auto;
+
option {
padding: @unit-h @unit-1;
}
}
- &:not([multiple]) {
+ &:not([multiple]):not([size]) {
background: @bg-color-light url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23667189' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right (@control-icon-size / 2) center / .4rem .5rem;
- height: @control-size;
padding-right: @control-icon-size + @control-padding-h;
}
&:focus {
diff --git a/src/labels.less b/src/labels.less
index dfef4b6..c67759b 100644
--- a/src/labels.less
+++ b/src/labels.less
@@ -7,6 +7,10 @@
.label-variant(@light-color, @primary-color);
}
+ &.label-secondary {
+ .label-variant(@primary-color, @secondary-color);
+ }
+
&.label-success {
.label-variant(@light-color, @control-color-success);
}
diff --git a/src/layout.less b/src/layout.less
index 36323ff..7fd2c60 100644
--- a/src/layout.less
+++ b/src/layout.less
@@ -28,6 +28,15 @@
}
}
+// Responsive breakpoint system
+.show-xs,
+.show-sm,
+.show-md,
+.show-lg,
+.show-xl {
+ display: none !important;
+}
+
// Responsive grid system
.columns {
display: flex;
@@ -39,7 +48,7 @@
margin-left: 0;
margin-right: 0;
- .column {
+ & > .column {
padding-left: 0;
padding-right: 0;
}
@@ -106,6 +115,21 @@
.col-1 {
width: 8.33333333%;
}
+.col-auto {
+ flex: 0 0 auto;
+ max-width: none;
+ width: auto;
+}
+.col-mx-auto {
+ margin-left: auto;
+ margin-right: auto;
+}
+.col-ml-auto {
+ margin-left: auto;
+}
+.col-mr-auto {
+ margin-right: auto;
+}
@media screen and (max-width: @size-xl ) {
.col-xl-12,
.col-xl-11,
@@ -157,6 +181,12 @@
.col-xl-1 {
width: 8.33333333%;
}
+ .hide-xl {
+ display: none !important;
+ }
+ .show-xl {
+ display: block !important;
+ }
}
@media screen and (max-width: @size-lg ) {
.col-lg-12,
@@ -209,6 +239,12 @@
.col-lg-1 {
width: 8.33333333%;
}
+ .hide-lg {
+ display: none !important;
+ }
+ .show-lg {
+ display: block !important;
+ }
}
@media screen and (max-width: @size-md ) {
.col-md-12,
@@ -261,6 +297,12 @@
.col-md-1 {
width: 8.33333333%;
}
+ .hide-md {
+ display: none !important;
+ }
+ .show-md {
+ display: block !important;
+ }
}
@media screen and (max-width: @size-sm ) {
.col-sm-12,
@@ -313,6 +355,12 @@
.col-sm-1 {
width: 8.33333333%;
}
+ .hide-sm {
+ display: none !important;
+ }
+ .show-sm {
+ display: block !important;
+ }
}
@media screen and (max-width: @size-xs) {
.col-xs-12,
@@ -365,17 +413,6 @@
.col-xs-1 {
width: 8.33333333%;
}
-}
-
-// Responsive breakpoint system
-.show-xs,
-.show-sm,
-.show-md,
-.show-lg,
-.show-xl {
- display: none !important;
-}
-@media screen and (max-width: @size-xs) {
.hide-xs {
display: none !important;
}
@@ -383,35 +420,3 @@
display: block !important;
}
}
-@media screen and (max-width: @size-sm) {
- .hide-sm {
- display: none !important;
- }
- .show-sm {
- display: block !important;
- }
-}
-@media screen and (max-width: @size-md) {
- .hide-md {
- display: none !important;
- }
- .show-md {
- display: block !important;
- }
-}
-@media screen and (max-width: @size-lg) {
- .hide-lg {
- display: none !important;
- }
- .show-lg {
- display: block !important;
- }
-}
-@media screen and (max-width: @size-xl) {
- .hide-xl {
- display: none !important;
- }
- .show-xl {
- display: block !important;
- }
-}
diff --git a/src/media.less b/src/media.less
index 455d77c..a55b8cb 100644
--- a/src/media.less
+++ b/src/media.less
@@ -32,6 +32,7 @@
iframe,
object,
embed {
+ border: 0;
bottom: 0;
height: 100%;
left: 0;
diff --git a/src/mixins.less b/src/mixins.less
index 52cd743..6fd4d6d 100644
--- a/src/mixins.less
+++ b/src/mixins.less
@@ -35,8 +35,8 @@
.label-base() {
border-radius: @border-radius;
display: inline-block;
- line-height: 1;
- padding: .2em .3em;
+ line-height: 1.2;
+ padding: .1em .3em;
vertical-align: baseline;
}
@@ -51,55 +51,55 @@
}
// Position utility mixin
-.margin-variant(@size: 1) {
- .m-@{size} {
- padding: @size * @unit-1;
+.margin-variant(@id: 1, @size: 1) {
+ .m-@{id} {
+ margin: @size;
}
- .mb-@{size} {
- padding-bottom: @size * @unit-1;
+ .mb-@{id} {
+ margin-bottom: @size;
}
- .ml-@{size} {
- padding-left: @size * @unit-1;
+ .ml-@{id} {
+ margin-left: @size;
}
- .mr-@{size} {
- padding-right: @size * @unit-1;
+ .mr-@{id} {
+ margin-right: @size;
}
- .mt-@{size} {
- padding-top: @size * @unit-1;
+ .mt-@{id} {
+ margin-top: @size;
}
- .mx-@{size} {
- padding-left: @size * @unit-1;
- padding-right: @size * @unit-1;
+ .mx-@{id} {
+ margin-left: @size;
+ margin-right: @size;
}
- .my-@{size} {
- padding-bottom: @size * @unit-1;
- padding-top: @size * @unit-1;
+ .my-@{id} {
+ margin-bottom: @size;
+ margin-top: @size;
}
}
-.padding-variant(@size: 1) {
- .p-@{size} {
- padding: @size * @unit-1;
+.padding-variant(@id: 1, @size: 1) {
+ .p-@{id} {
+ padding: @size;
}
- .pb-@{size} {
- padding-bottom: @size * @unit-1;
+ .pb-@{id} {
+ padding-bottom: @size;
}
- .pl-@{size} {
- padding-left: @size * @unit-1;
+ .pl-@{id} {
+ padding-left: @size;
}
- .pr-@{size} {
- padding-right: @size * @unit-1;
+ .pr-@{id} {
+ padding-right: @size;
}
- .pt-@{size} {
- padding-top: @size * @unit-1;
+ .pt-@{id} {
+ padding-top: @size;
}
- .px-@{size} {
- padding-left: @size * @unit-1;
- padding-right: @size * @unit-1;
+ .px-@{id} {
+ padding-left: @size;
+ padding-right: @size;
}
- .py-@{size} {
- padding-bottom: @size * @unit-1;
- padding-top: @size * @unit-1;
+ .py-@{id} {
+ padding-bottom: @size;
+ padding-top: @size;
}
}
diff --git a/src/navigation.less b/src/navigation.less
deleted file mode 100644
index a129886..0000000
--- a/src/navigation.less
+++ /dev/null
@@ -1,13 +0,0 @@
-// Navigation
-.breadcrumb,
-.tab,
-.pagination,
-.nav {
- list-style: none;
- margin: @unit-1 0;
-}
-
-@import 'breadcrumbs.less';
-@import 'tabs.less';
-@import 'pagination.less';
-@import 'navs.less';
diff --git a/src/navs.less b/src/navs.less
index edfc3d3..5f471b0 100644
--- a/src/navs.less
+++ b/src/navs.less
@@ -2,6 +2,8 @@
.nav {
display: flex;
flex-direction: column;
+ list-style: none;
+ margin: @unit-1 0;
.nav-item {
a {
diff --git a/src/pagination.less b/src/pagination.less
index 0523bad..7372c59 100644
--- a/src/pagination.less
+++ b/src/pagination.less
@@ -1,6 +1,8 @@
// Pagination
.pagination {
display: flex;
+ list-style: none;
+ margin: @unit-1 0;
padding: @unit-1 0;
.page-item {
diff --git a/src/panels.less b/src/panels.less
index 873d21f..3c6bae8 100644
--- a/src/panels.less
+++ b/src/panels.less
@@ -20,8 +20,4 @@
overflow-y: auto;
padding: 0 @layout-spacing-lg;
}
-
- .panel-subtitle {
- color: lighten(@body-font-color, 40%);
- }
}
diff --git a/src/tabs.less b/src/tabs.less
index 1abfe75..c5af2b6 100644
--- a/src/tabs.less
+++ b/src/tabs.less
@@ -1,8 +1,11 @@
// Tabs
.tab {
align-items: center;
+ border-bottom: @border-width solid @border-color;
display: flex;
flex-wrap: wrap;
+ list-style: none;
+ margin: @unit-1 0 @unit-1 - @border-width 0;
.tab-item {
margin-top: 0;
@@ -16,8 +19,8 @@
border-bottom: @border-width-lg solid transparent;
color: inherit;
display: block;
- margin-top: 0;
- padding: 6px 12px 4px 12px;
+ margin: 0 @unit-2 0 0;
+ padding: @unit-2 @unit-1 @unit-2 - @border-width-lg @unit-1;
text-decoration: none;
&:focus,
&:hover {
@@ -36,6 +39,10 @@
flex: 1 0 0;
text-align: center;
+ a {
+ margin: 0;
+ }
+
.badge {
&[data-badge]::after {
position: absolute;
diff --git a/src/tiles.less b/src/tiles.less
index 79c1a69..a99540e 100644
--- a/src/tiles.less
+++ b/src/tiles.less
@@ -17,11 +17,8 @@
padding-right: @unit-2;
}
}
- .tile-title {
- line-height: @line-height;
- }
+ .tile-title,
.tile-subtitle {
- color: lighten(@body-font-color, 40%);
line-height: @line-height;
}
diff --git a/src/utilities/display.less b/src/utilities/display.less
index a00aa4a..26e611e 100644
--- a/src/utilities/display.less
+++ b/src/utilities/display.less
@@ -1,26 +1,27 @@
// Display
-.block {
+.d-block {
display: block;
}
-.inline {
+.d-inline {
display: inline;
}
-.inline-block {
+.d-inline-block {
display: inline-block;
}
-.flex {
+.d-flex {
display: flex;
}
-.inline-flex {
+.d-inline-flex {
display: inline-flex;
}
+.d-none,
.hide {
display: none !important;
}
-.visible {
+.d-visible {
visibility: visible;
}
-.invisible {
+.d-invisible {
visibility: hidden;
}
.text-hide {
diff --git a/src/utilities/position.less b/src/utilities/position.less
index 1bf33b5..235d6a6 100644
--- a/src/utilities/position.less
+++ b/src/utilities/position.less
@@ -26,8 +26,10 @@
}
// Spacing
-.margin-variant(1);
-.margin-variant(2);
+.margin-variant(0, 0);
+.margin-variant(1, @unit-1);
+.margin-variant(2, @unit-2);
-.padding-variant(1);
-.padding-variant(2); \ No newline at end of file
+.padding-variant(0, 0);
+.padding-variant(1, @unit-1);
+.padding-variant(2, @unit-2); \ No newline at end of file