html{
    position: relative;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
}
body{ margin: 0;}
a { color: #0074d9; }
a:hover { text-decoration: underline; }
.container{ padding: 0 4rem; max-width: 90rem; }
body [disabled]{ pointer-events: none; }

.button, button, input[type='button'], input[type='reset'], input[type='submit'] {
    background-color: #2979ff;
    border: 0.1rem solid #2979ff;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 0.8;
}

html .button-outline,  .button.button-outline{ color: #2979ff; }

.success {
    background-color: #3abf6b;
    border: 0.1rem solid #3abf6b;
}

.warning{
    background-color: #f4a324;
    border: 0.1rem solid #f4a324;
}

html .button-clear,
.button.button-clear{
    color: #606c76;
}

html .button-clear:hover,
.button-clear:hover{
    color: #333;
}

.button-outline.warning{
    color: #f4a324;
}

.button-outline.success{
    color: #3abf6b;
}

.error{
    background-color: #f44336;
    border: 0.1rem solid #f44336;
}

.button-outline.error{
    color: #f44336;
}

input:focus, textarea:focus, .select select:focus {
    border: 1px solid #0074d9!important;
    outline: 0;
}

.row {
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;
    padding: 0 2rem;
}

.column{
    box-sizing: border-box;
    -webkit-box-flex: 1;      /* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 1;         /* OLD - Firefox 19- */
    -webkit-flex: 1;          /* Chrome */
    -ms-flex: 1;              /* IE 10 */
    flex: 1;
}

/**
* STACK
**/

.stack, .stack .toggle {
    margin-top: 0;
    margin-bottom: 0;
    display: block;
    width: 100%;
    text-align: left;
    border-radius: 0;
}

input.stack, textarea.stack, select.stack {
    border-bottom-width: 0;
    border-radius: 0;
}

.stack:first-child, .stack:first-child .toggle {
    border-top-left-radius: .2em;
    border-top-right-radius: .2em;
}

input.stack:last-child, textarea.stack:last-child, select.stack:last-child {
    border-bottom-width: 1px;
}

.stack:last-child, .stack:last-child .toggle {
    border-bottom-left-radius: .2em;
    border-bottom-right-radius: .2em;
}

/**
* MIX
**/

body > section {
    margin-bottom: 2rem;
    border-top: 1px solid #f0f0f0;
    padding: 4rem 0;
}

.centered {
    text-align: center;
}

.aligh-right{
    text-align: right;
}

.justify{
    text-align: justify;
}

.shadowed{
    -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

button.shadowed:hover, .button.shadowed:hover{
    -webkit-box-shadow: 0 2px 14px rgba(0,0,0,0.3);
    -moz-box-shadow: 0 2px 14px rgba(0,0,0,0.3);
    box-shadow: 0 2px 14px rgba(0,0,0,0.3);
}

.outlined{
    outline: 1px solid #e1e1e1;
}

.bordered{
    border: 1px solid #e1e1e1;
}

.rounded{
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

img.rounded{
    -webkit-border-radius: 200%;
    -moz-border-radius: 200%;
    border-radius: 200%;
    overflow: hidden;
    display: block;
    margin: 0 auto;
}

img.bordered {
    border: 2px solid #e1e1e1;
}

.icon-wrapper {
    position: relative;
    display: inline-block;
    padding: 1rem;
    box-sizing: content-box;
}

.icon-wrapper.rounded{
    -webkit-border-radius: 200%;
    -moz-border-radius: 200%;
    border-radius: 200%;
}

.bordered tr:last-child td,
.outlined tr:last-child td{
    border-bottom: 0;
}

td:first-child, th:first-child{
    padding-left: 1.5rem;
}

.alternate tr:nth-child(even) {
    background: rgba(0,0,0,0.05);
}

.full-height{
    min-height: 100vh;
    padding: 0;
    margin: 0;
}

.full-width{
    min-width: 100%;
    padding: 0;
}

.carousel{
    min-width: 100%;
    position: relative;
    flex-wrap: nowrap;
    overflow: hidden;
    display: flex;
    flex: auto;
    max-width: 100%;
    margin: 0;
}

.carousel .dots{
    position: absolute;
    bottom: 32px;
    left: 50%;
    margin: 50% 0 0;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%,  -50%);
    -ms-transform: translate(-50%,  -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.carousel .dots .dot{
    width: 12px;
    height: 12px;
    background-color: #000;
    position: relative;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    list-style: none;
    padding: 0;
    margin: 0 6px;
    float: left;
    opacity: 0.3;
}

.carousel .dots .dot.active{
    opacity: 1;
}

.carousel > .covers > .cover,
.carousel > .covers{
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex: 0 0 100%;
    align-items: center;
}

.carousel > .covers.updating{
    -webkit-transition: all 0.3s;
    -moz-transition:  all 0.3s;
    -ms-transition:  all 0.3s;
    -o-transition:  all 0.3s;
    transition: all 0.3s;

}

.carousel > .covers.auto{
    -webkit-transition: all 0.5s ease;
    -moz-transition:  all 0.5s ease;
    -ms-transition:  all 0.5s ease;
    -o-transition:  all 0.5s ease;
    transition: all 0.5s ease;
}

.carousel > .covers > .cover{
    justify-content: center;
    height: 100%;
}

.carousel > .covers{
    pointer-events: all;
}

.full-height > .carousel,
.full-height > .carousel > .covers,
.full-height > .carousel > .covers > .cover{
    min-height: 100vh;
    width: 100vw;
}

/**
* TABS
**/

.tabs {
    position: relative;
    overflow: hidden;
}

.tabs > .row{
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */

    flex-wrap: nowrap;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    padding: 2rem 0;
    margin: 0;
}

.tabs > .row > .column{
    -webkit-box-flex:  0 0 100%;      /* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex:  0 0 100%;         /* OLD - Firefox 19- */
    -webkit-flex:  0 0 100%;          /* Chrome */
    -ms-flex:  0 0 100%;
    flex: 0 0 100%;
}

.tabs > input[type="radio"]{
    display: none;
}

.tabs > input[type="radio"]:checked + label,
.tabs > input[type="radio"]:checked + .tab{
    border-bottom: 2px solid #0074d9;
    color: #0074d9;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.tabs > input:nth-of-type(2):checked ~ .row {
    margin-left: calc(-100% - 2.0rem);
}

.tabs > input:nth-of-type(3):checked ~ .row {
    margin-left: calc(-200% - 4.0rem);
}

.tabs > input:nth-of-type(4):checked ~ .row {
    margin-left: calc(-300% - 6.0rem);
}

.tabs > input:nth-of-type(5):checked ~ .row {
    margin-left: calc(-400% - 8.0rem);
}

.tabs > input:nth-of-type(6):checked ~ .row {
    margin-left: calc(-500% - 10.0rem);
}

.tabs > input:nth-of-type(7):checked ~ .row {
    margin-left: calc(-600% - 12.0rem);
}

.tabs > input:nth-of-type(8):checked ~ .row {
    margin-left: calc(-700% - 14.0rem);
}

.tabs > input:nth-of-type(9):checked ~ .row {
    margin-left: calc(-800% - 16.0rem);
}

.tabs > input:nth-of-type(10):checked ~ .row {
    margin-left: calc(-900% - 18.0rem);
}

.tabs > input:nth-of-type(11):checked ~ .row {
    margin-left: calc(-1000% - 20.0rem);
}

.tabs > input:nth-of-type(12):checked ~ .row {
    margin-left: calc(-1100% - 22.0rem);
}

.tabs > input:nth-of-type(13):checked ~ .row {
    margin-left: calc(-1200% - 24.0rem);
}

.tabs > input:nth-of-type(14):checked ~ .row {
    margin-left: calc(-1300% - 26.0rem);
}

.tabs > input:nth-of-type(15):checked ~ .row {
    margin-left: calc(-1400% - 28.0rem);
}

.tabs > input:nth-of-type(16):checked ~ .row {
    margin-left: calc(-1500% - 30.0rem);
}

.tabs > input:nth-of-type(17):checked ~ .row {
    margin-left: calc(-1600% - 32.0rem);
}

.tabs > input:nth-of-type(18):checked ~ .row {
    margin-left: calc(-1700% - 34.0rem);
}

.tabs > input:nth-of-type(19):checked ~ .row {
    margin-left: calc(-1800% - 36.0rem);
}

.tabs > input:nth-of-type(20):checked ~ .row {
    margin-left: calc(-1900% - 38.0rem);
}

.tabs > input:nth-of-type(21):checked ~ .row {
    margin-left: calc(-2000% - 40.0rem);
}

.tabs > input:nth-of-type(22):checked ~ .row {
    margin-left: calc(-2100% - 42.0rem);
}

/**
* CARDS
**/

.card > *{
    max-width: 100%;
    display: block;
}

.card {
    position: relative;
    border-radius: .2em;
    overflow: hidden;
    text-align: left;
    background: #fff;
    margin-bottom: .6em;
    padding: 0;
    transition: all .3s ease;
}

.card > .footer,
.card > .container{
    padding: 2rem;
}