@btnInsetShadow: inset 0px 2px 5px rgba(0,0,0,0.2);
@btnShadowGradient: #548fc3;

.btn {
    display: block;
    position: relative;
    width: 100%;
    padding: 15px;
    padding-bottom: 12px;
    font-family: 'Fira Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: white;
    line-height: 1.2;
    border-radius: 4px;
    border: medium none;
    outline: medium none;
    cursor: pointer;

    background-color: @btnBlue;
    box-shadow: 0px 3px @btnBlueBorder;

    &.btn-inline {
        display: inline-block;
        width: auto;
    }

    &.btn-flat {
        display: block;
        border: 0;
        border-radius: 0;
        flex-grow: 1;
        box-shadow: none;

        &:active {
            top: 0px;
            box-shadow: none;
        }
    }

    &:active {
        background-color: @btnBluePressed;
        box-shadow: @btnInsetShadow;
        top: 3px;
    }

    &.btn-block {
        display: flex;
        text-align: center;
        width: 100%;
    }

    &.btn-delete {
        background-color: @btnRed;
        box-shadow: 0px 3px @btnRedBorder;

        &:active {
            background-color: @btnRedPressed;
            box-shadow: @btnInsetShadow;
            top: 3px;
        }
    }

    &.btn-cancel {
        background-color: @btnGrey;
        box-shadow: 0px 3px @btnGreyBorder;
        color: @btnGreyText;

        &:active {
            background-color: @btnGreyPressed;
            box-shadow: @btnInsetShadow;
            top: 3px;
        }
    }
    &.btn-submit {
        &:before {
            position: absolute;
            height: 100%;
            left: 0px;
            top: 0px;
            line-height: 3.2;
            width: 20%;
            content: "\f121 ";
            background-color: #589EEA;
            border-top-left-radius: 4px;
            border-bottom-left-radius: 4px;
        }
        &:active {
            background-color: @btnBluePressed;
            box-shadow: inset 0px 2px 5px rgba(0,0,0,0.2);
            top: 3px;
            &:before {
                background: -webkit-linear-gradient(@btnShadowGradient 0%, @btnBluePressed 20%);
                background: -o-linear-gradient(@btnShadowGradient 0%, @btnBluePressed 20%);
                background: linear-gradient(@btnShadowGradient 0%, @btnBluePressed 20%);
            }
        }
    }
}

/*********************************************************
 * Toggle
 */
.btn-toggle {
    margin: 10px 32px;
    height: @toggle-height;
    position: relative;
    .btn {
        height: @toggle-height;
        position: absolute;
        float: left;
        width: 50%;
        padding: 0;
        line-height: @toggle-height;
        &:first-child {
            border-radius: @toggle-radius 0 0 @toggle-radius;
            left: 0;
            &::after {
                content: '';
                position: absolute;
                left: 100%;
                border-left: none;
                border-radius: 0 @toggle-radius @toggle-radius 0;
            }
        }
        &:last-child {
            right: 0;
            border-radius: 0 @toggle-radius @toggle-radius 0;
            &::before {
                content: '';
                position: absolute;
                right: 100%;
                border-right: none;
                border-radius: @toggle-radius 0 0 @toggle-radius;
            }
        }
        background-color: @turquoise;
        color: fade(@white, 70%);
        border-color: @turquoise;
        &::before,
        &::after {
            width: @toggle-radius;
            height: @toggle-height;
            top: -1px;
            background-color: @turquoise;
            border: 1px solid @turquoise;
        }
        &.btn-toggle-on {
            z-index: 1;
            background-color: @white;
            color: @turquoise;
            &::before,
            &::after {
                background-color: @white;
            }
        }
    }
}

a:active,
a:focus,
button:active,
button:focus {
    outline: none;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-tap-highlight-color: transparent;
}
