/* Ladda 0.9.4 — Button loading style
   Source: https://github.com/hakimel/Ladda | MIT License */

.ladda-button {
    position: relative;
}
.ladda-button .ladda-spinner {
    position: absolute !important;
    z-index: 2;
    display: inline-block;
    width: 32px;
    height: 32px;
    top: 50%;
    margin-top: -16px;
    opacity: 0;
    pointer-events: none;
}
.ladda-button .ladda-label {
    position: relative;
    z-index: 1;
}
.ladda-button .ladda-progress {
    position: absolute;
    width: 0;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0,0,0,.2);
    visibility: hidden;
    -webkit-transition: 0.1s linear all !important;
    -moz-transition: 0.1s linear all !important;
    -ms-transition: 0.1s linear all !important;
    -o-transition: 0.1s linear all !important;
    transition: 0.1s linear all !important;
}
.ladda-button[data-loading] .ladda-progress {
    visibility: visible;
}

/* zoom-out */
.ladda-button[data-style=zoom-out] {
    overflow: hidden;
}
.ladda-button[data-style=zoom-out] .ladda-spinner {
    left: 50%;
    margin-left: -16px;
    -webkit-transform: scale(2.5);
    -moz-transform: scale(2.5);
    -ms-transform: scale(2.5);
    transform: scale(2.5);
    -webkit-transition: -webkit-transform 0.2s, opacity 0.2s !important;
    transition: transform 0.2s, opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=zoom-out][data-loading] .ladda-spinner {
    opacity: .95;
    -webkit-transform: none;
    transform: none;
}
.ladda-button[data-style=zoom-out] .ladda-label {
    -webkit-transition: opacity 0.2s !important;
    transition: opacity 0.2s !important;
}
.ladda-button[data-style=zoom-out][data-loading] .ladda-label {
    opacity: 0;
}

/* expand-left */
.ladda-button[data-style=expand-left] {
    overflow: hidden;
}
.ladda-button[data-style=expand-left] .ladda-spinner {
    left: 20px;
    -webkit-transition: opacity 0.2s !important;
    transition: opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=expand-left][data-loading] .ladda-spinner {
    opacity: .95;
}
.ladda-button[data-style=expand-left] .ladda-label {
    position: relative;
    left: 0;
    -webkit-transition: left 0.2s !important;
    transition: left 0.2s !important;
}
.ladda-button[data-style=expand-left][data-loading] .ladda-label {
    left: 14px;
}

/* expand-right */
.ladda-button[data-style=expand-right] {
    overflow: hidden;
}
.ladda-button[data-style=expand-right] .ladda-spinner {
    right: 20px;
    left: auto;
    -webkit-transition: opacity 0.2s !important;
    transition: opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=expand-right][data-loading] .ladda-spinner {
    opacity: .95;
}
.ladda-button[data-style=expand-right] .ladda-label {
    position: relative;
    left: 0;
    -webkit-transition: left 0.2s !important;
    transition: left 0.2s !important;
}
.ladda-button[data-style=expand-right][data-loading] .ladda-label {
    left: -14px;
}

/* expand-up */
.ladda-button[data-style=expand-up] {
    overflow: hidden;
}
.ladda-button[data-style=expand-up] .ladda-spinner {
    top: -32px;
    left: 50%;
    margin-left: -16px;
    -webkit-transition: top 0.2s, opacity 0.2s !important;
    transition: top 0.2s, opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=expand-up][data-loading] .ladda-spinner {
    top: 50%;
    margin-top: -16px;
    opacity: .95;
}
.ladda-button[data-style=expand-up] .ladda-label {
    -webkit-transition: opacity 0.2s !important;
    transition: opacity 0.2s !important;
}
.ladda-button[data-style=expand-up][data-loading] .ladda-label {
    opacity: 0;
}

/* slide-left */
.ladda-button[data-style=slide-left] {
    overflow: hidden;
}
.ladda-button[data-style=slide-left] .ladda-spinner {
    left: 100%;
    -webkit-transition: left 0.2s, opacity 0.2s !important;
    transition: left 0.2s, opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-spinner {
    left: 50%;
    margin-left: -16px;
    opacity: .95;
}
.ladda-button[data-style=slide-left] .ladda-label {
    -webkit-transition: left 0.2s !important;
    transition: left 0.2s !important;
}
.ladda-button[data-style=slide-left][data-loading] .ladda-label {
    left: -100%;
}

/* slide-right */
.ladda-button[data-style=slide-right] {
    overflow: hidden;
}
.ladda-button[data-style=slide-right] .ladda-spinner {
    right: 100%;
    left: auto;
    -webkit-transition: right 0.2s, opacity 0.2s !important;
    transition: right 0.2s, opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-spinner {
    right: 50%;
    margin-right: -16px;
    opacity: .95;
}
.ladda-button[data-style=slide-right] .ladda-label {
    -webkit-transition: right 0.2s !important;
    transition: right 0.2s !important;
}
.ladda-button[data-style=slide-right][data-loading] .ladda-label {
    right: -100%;
}

/* slide-up */
.ladda-button[data-style=slide-up] {
    overflow: hidden;
}
.ladda-button[data-style=slide-up] .ladda-spinner {
    top: 100%;
    left: 50%;
    margin-left: -16px;
    -webkit-transition: top 0.2s, opacity 0.2s !important;
    transition: top 0.2s, opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-spinner {
    top: 50%;
    margin-top: -16px;
    opacity: .95;
}
.ladda-button[data-style=slide-up] .ladda-label {
    -webkit-transition: opacity 0.2s !important;
    transition: opacity 0.2s !important;
}
.ladda-button[data-style=slide-up][data-loading] .ladda-label {
    opacity: 0;
}

/* slide-down */
.ladda-button[data-style=slide-down] {
    overflow: hidden;
}
.ladda-button[data-style=slide-down] .ladda-spinner {
    bottom: 100%;
    top: auto;
    left: 50%;
    margin-left: -16px;
    -webkit-transition: bottom 0.2s, opacity 0.2s !important;
    transition: bottom 0.2s, opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-spinner {
    bottom: 50%;
    margin-bottom: -16px;
    opacity: .95;
}
.ladda-button[data-style=slide-down] .ladda-label {
    -webkit-transition: opacity 0.2s !important;
    transition: opacity 0.2s !important;
}
.ladda-button[data-style=slide-down][data-loading] .ladda-label {
    opacity: 0;
}

/* zoom-in */
.ladda-button[data-style=zoom-in] {
    overflow: hidden;
}
.ladda-button[data-style=zoom-in] .ladda-spinner {
    left: 50%;
    margin-left: -16px;
    -webkit-transform: scale(.2);
    transform: scale(.2);
    -webkit-transition: -webkit-transform 0.2s, opacity 0.2s !important;
    transition: transform 0.2s, opacity 0.2s !important;
    opacity: 0;
}
.ladda-button[data-style=zoom-in][data-loading] .ladda-spinner {
    -webkit-transform: none;
    transform: none;
    opacity: .95;
}
.ladda-button[data-style=zoom-in] .ladda-label {
    -webkit-transition: opacity 0.2s !important;
    transition: opacity 0.2s !important;
}
.ladda-button[data-style=zoom-in][data-loading] .ladda-label {
    opacity: 0;
}

/* contract */
.ladda-button[data-style=contract] {
    overflow: hidden;
    -webkit-transition: width 0.3s !important;
    transition: width 0.3s !important;
}
.ladda-button[data-style=contract] .ladda-spinner {
    left: 50%;
    margin-left: -16px;
    opacity: 0;
    -webkit-transition: opacity 0.3s 0.1s !important;
    transition: opacity 0.3s 0.1s !important;
}
.ladda-button[data-style=contract][data-loading] {
    border-radius: 50%;
    width: 52px !important;
}
.ladda-button[data-style=contract][data-loading] .ladda-spinner {
    opacity: .95;
}
.ladda-button[data-style=contract][data-loading] .ladda-label {
    opacity: 0;
}
