Files
2019-05-25 23:11:05 -04:00

354 lines
9.3 KiB
Plaintext

/* ------------------------------------------------------------------------------
*
* # Steps wizard
*
* An all-in-one wizard plugin that is extremely flexible, compact and feature-rich
*
* Version: 1.2
* Latest update: Aug 10, 2016
*
* ---------------------------------------------------------------------------- */
// Core
// ------------------------------
.wizard {
width: 100%;
// Title
> .steps .current-info,
> .content > .title {
position: absolute;
left: -99999px;
}
// Wizard content
> .content {
position: relative;
width: auto;
padding: 0;
> .body {
padding: 0 @content-padding-large;
}
> iframe {
border: 0 none;
width: 100%;
height: 100%;
}
}
}
// Steps list
// ------------------------------
.wizard {
// Steps
> .steps {
position: relative;
display: block;
width: 100%;
// Wizard nav
> ul {
display: table;
width: 100%;
table-layout: fixed;
margin: 0;
padding: 0;
list-style: none;
// Wizard nav item
> li {
display: table-cell;
width: auto;
vertical-align: top;
text-align: center;
position: relative;
// Link
a {
position: relative;
padding-top: 48px;
margin-top: @line-height-computed;
margin-bottom: @line-height-computed;
display: block;
}
// Steps indicator line
&:before,
&:after {
content: '';
display: block;
position: absolute;
top: 43px;
width: 50%;
height: 2px;
background-color: @brand-info;
z-index: 9;
}
&:before {
left: 0;
}
&:after {
right: 0;
}
&:first-child:before,
&:last-child:after {
content: none;
}
// Current step
&.current {
&:after,
~ li:before,
~ li:after {
background-color: @gray-lighter;
}
// Link
> a {
color: @text-color;
cursor: default;
}
// Icon container
.number {
font-size: 0;
border-color: @brand-info;
background-color: #fff;
color: @brand-info;
// Icon
&:after {
content: '\e913';
font-family: 'icomoon';
display: inline-block;
font-size: @icon-font-size;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
line-height: 34px;
.transition(all 0.15s ease-in-out);
}
}
}
// Disabled
&.disabled {
a {
&,
&:hover,
&:focus {
color: @text-muted;
cursor: default;
}
}
}
// Completed step
&.done {
// Link
a {
&,
&:hover,
&:focus {
color: @text-muted;
}
}
// Icon container
.number {
font-size: 0;
background-color: @brand-info;
border-color: @brand-info;
color: #fff;
// Icon
&:after {
content: '\ed6f';
font-family: 'icomoon';
display: inline-block;
font-size: @icon-font-size;
line-height: ((@icon-font-size * 2) + 2); // Double icon + 2px border
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
.transition(all 0.15s ease-in-out);
}
}
}
// Error
&.error {
.number {
border-color: @brand-danger;
color: @brand-danger;
}
}
}
// Media queries
@media (max-width: @screen-xs-max) {
margin-bottom: @line-height-computed;
// Nav item
> li {
display: block;
float: left;
width: 50%;
> a {
margin-bottom: 0;
}
&:first-child:before,
&:last-child:after {
content: '';
}
&:last-child:after {
background-color: @brand-info;
}
}
}
@media (max-width: @screen-xs) {
// Nav item
> li {
width: 100%;
&.current:after {
background-color: @brand-info;
}
}
}
}
// Numbers and icons
.number {
background-color: @panel-bg;
color: #ccc;
display: inline-block;
position: absolute;
top: 0;
left: 50%;
margin-left: -19px;
width: 38px;
height: 38px;
border: 2px solid @gray-lighter;
font-size: 14px;
border-radius: 50%;
z-index: 10;
line-height: 34px;
text-align: center;
}
}
// Add top border if inside flat panel
.panel-flat > & {
> .steps > ul {
border-top: 1px solid @panel-inner-border;
}
}
}
// Steps pagination
// ------------------------------
.wizard {
// Container
> .actions {
position: relative;
display: block;
text-align: right;
padding: @content-padding-large;
padding-top: 0;
// Paging list
> ul {
float: right;
list-style: none;
padding: 0;
margin: 0;
&:after {
content: '';
display: table;
clear: both;
}
// Paging item
> li {
float: left;
// Add horizontal spacing
& + li {
margin-left: @content-padding-small;
}
// Button styling
> a {
background: @brand-primary;
color: #fff;
display: block;
padding: @padding-base-vertical @padding-base-horizontal;
border-radius: @border-radius-base;
border: 1px solid transparent;
// Hover state
&:hover,
&:focus {
.box-shadow(0 0 0 100px fade(#000, 5%) inset);
}
// Active state
&:active {
.box-shadow(0 0 0 100px fade(#000, 10%) inset);
}
// "Previous" button
&[href="#previous"] {
background-color: @btn-default-bg;
color: @btn-default-color;
border: 1px solid @btn-default-border;
&:hover,
&:focus {
.box-shadow(0 0 0 100px fade(#000, 1%) inset);
}
&:active {
.box-shadow(0 0 0 100px fade(#000, 3%) inset)
}
}
}
// Disabled button
&.disabled > a {
&,
&:hover,
&:focus {
color: @text-muted;
}
&[href="#previous"] {
&,
&:hover,
&:focus {
.box-shadow(none);
}
}
}
}
}
}
}