.fw-button {
    display: inline-block;
    width: auto;
    height: 34px;
    line-height: 34px;
    padding: 0 12px;
    font-size: 14px;
    border-style: solid;
    border-width: 1px;
    border-radius: 3px;
    cursor: pointer;
    text-decoration: none;
    background: none;
    box-shadow: none;
    box-sizing: content-box;
    position: relative;
}

.fw-button label {
    cursor: pointer;
}

.fw-button:focus,
.fw-button:active {
    outline: 5px solid var(--cs-6-background-focus);
}

.fw-button.fw-uppercase {
    text-transform: uppercase;
}

.fw-button.fw-large {
    height: 40px;
    line-height: 40px;
    padding: 0 10px;
}

.fw-button.fw-small {
    height: 26px;
    line-height: 26px;
    padding: 0 6px;
}

.fw-button.fw-square {
    width: 34px;
    padding: 0;
    text-align: center;
}

.fw-button.fw-large.fw-square {
    width: 40px;
}

.fw-button .fw-button-icon::before {
    line-height: 34px;
    margin: 0;
}

.fw-button.fw-large .fw-button-icon::before {
    line-height: 40px;
}

.fw-button.fw-small .fw-button-icon::before {
    line-height: 26px;
}

.fw-button.fw-large.fw-dropdown {
    padding-right: 22px;
}

.fw-button.fw-large.fw-dropdown .fa-caret-down {
    display: block;
    position: absolute;
    right: 10px;
    top: 12px;
}

.fw-button.fw-light {
    border-color: var(--cs-light-border);
    background-color: var(--cs-light-background);
    color: var(--cs-light-text);
}

.fw-button.fw-white {
    border: 0 none;
    background-color: var(--cs-white-background);
    color: var(--cs-white-text);
}

.fw-button.fw-white.ui-state-active {
    background-color: var(--cs-white-background-selected);
    color: var(--cs-white-selected);
}

.fw-button.fw-white:not(.disabled):hover {
    background-color: var(--cs-white-background-hover);
    color: var(--cs-white-hover);
}

.fw-button.fw-light:not(.disabled):hover,
.fw-button.fw-light.ui-state-active {
    background-color: var(--cs-light-background-hover);
    color: var(--cs-light-hover);
}

.fw-button.fw-green {
    color: var(--cs-6-text);
    border-color: var(--cs-6-border);
    background-color: var(--cs-6-background);
}

.fw-button.fw-green:not(.disabled):hover {
    background-color: var(--cs-6-background-hover);
}

.fw-button.fw-orange {
    color: var(--cs-3-text);
    background: linear-gradient(
        to bottom left,
        var(--cs-3-background-from),
        var(--cs-3-background-to)
    );
    border-color: var(--cs-3-border);
}

.fw-button.fw-orange:not(.disabled):hover {
    background: var(--cs-3-background-hover);
}

.fw-button.fw-dark {
    color: var(--cs-dark-text);
    background: linear-gradient(
        to bottom left,
        var(--cs-dark-background-from),
        var(--cs-dark-background-to)
    );
    box-shadow: 0 1px 1px 0 var(--cs-dark-box-shadow) inset;
    border-color: var(--cs-dark-border);
}

.fw-button.fw-dark:not(.disabled):hover {
    background: var(--cs-dark-background-hover);
}

.fw-button:disabled {
    background: var(--cs-disabled-background);
    color: var(--cs-disabled);
    border-color: var(--cs-disabled-border);
}

.fw-button.fw-left {
    float: left;
}

.fw-button.fw-strong {
    font-weight: bold;
}

.fw-button.fw-em {
    font-style: italic;
}

.fw-button.fw-smallcaps {
    font-variant: small-caps;
}

.fw-button.fw-socialaccount {
    display: inline-block;
    width: auto;
    height: 38px;
    border-radius: 5px;
    font-size: 15px;
    vertical-align: top;
    line-height: 35px;
    padding: 0;
    background: linear-gradient(
        to bottom left,
        var(--cs-2-background-from),
        var(--cs-2-background-to)
    );
    box-shadow: 0 0 1px 1px var(--cs-2-box-shadow) inset;
    border-color: var(--cs-2-border);
    color: var(--cs-2-text);
}

.fw-button.fw-socialaccount:hover {
    box-shadow: none;
    background: var(--cs-2-background-hover);
}

.fw-button.fw-socialaccount > span {
    display: inline-block;
    width: 37px;
    height: 100%;
    text-align: center;
    font-size: 15px;
    margin-right: 12px;
    line-height: 37px;
    border-right: 1px solid var(--cs-2-border);
    box-shadow: 1px 0 0 0 var(--cs-2-box-shadow);
}

.fw-plain-button {
    display: block;
    font-size: 11px;
    line-height: 24px;
    background-color: var(--cs-light-background);
    font-weight: 700;
    text-align: center;
}

.fw-plain-button:hover {
    background-color: var(--cs-light-background-hover);
}

.fw-button.disabled {
    color: var(--cs-disabled);
    cursor: default;
}

/* The remainder of this file uses application specific colors */

.fw-button.fw-facebook {
    background: linear-gradient(to bottom left, #0d78be, #0d63ab);
    box-shadow: 0 0 1px 1px #3c9fdf inset;
    border-color: #0557a1;
}

.fw-button.fw-facebook:hover {
    background: #0d63ab;
}

.fw-button.fw-facebook > span {
    border-right-color: #0557a1;
    box-shadow: 1px 0 0 0 #3c9fdf;
    font-size: 18px;
}

.fw-button.fw-twitter {
    background: linear-gradient(to bottom left, #3ccfff, #17addf);
    box-shadow: 0 0 1px 1px #3dcfff inset;
    border-color: #2498be;
}

.fw-button.fw-twitter:hover {
    background: #17addf;
}

.fw-button.fw-twitter > span {
    border-right-color: #2498be;
    box-shadow: 1px 0 0 0 #8ddffc;
}

.fw-button.fw-google {
    background: linear-gradient(to bottom left, #879ded, #6d84d8);
    box-shadow: 0 0 1px 1px #93a6e6 inset;
    border-color: #6578bb;
}

.fw-button.fw-google:hover {
    background: #6d84d8;
}

.fw-button.fw-google > span {
    border-right-color: #6578bb;
    box-shadow: 1px 0 0 0 #b1c0f2;
    font-size: 18px;
}

.fw-button.fw-soundcloud {
    background: linear-gradient(to bottom left, #f76700, #fa3219);
    box-shadow: 0 0 1px 1px #f79955 inset;
    border-color: #c53421;
}

.fw-button.fw-soundcloud:hover {
    background: #fa1b19;
}

.fw-button.fw-soundcloud > span {
    border-right-color: #c53421;
    box-shadow: 1px 0 0 0 #f79955;
    font-size: 18px;
}

.fw-button.fw-openid {
    background: linear-gradient(to bottom left, #fae719, #fac219);
    box-shadow: 0 0 1px 1px #fad819 inset;
    border-color: #faad19;
}

.fw-button.fw-openid:hover {
    background: #e8c817;
}

.fw-button.fw-openid > span {
    border-right-color: #faad19;
    box-shadow: 1px 0 0 0 #fad819;
    font-size: 18px;
}

.fw-button.fw-persona {
    background: linear-gradient(to bottom left, #17e861, #1bbd54);
    box-shadow: 0 0 1px 1px #29e76c inset;
    border-color: #168e40;
}

.fw-button.fw-persona:hover {
    background: #17a74a;
}

.fw-button.fw-persona > span {
    border-right-color: #168e40;
    box-shadow: 1px 0 0 0 #29e76c;
    font-size: 18px;
}

.fw-button.fw-linkedin {
    background: linear-gradient(to bottom left, #c529e7, #ad22cb);
    box-shadow: 0 0 1px 1px #d648f4 inset;
    border-color: #841c9a;
}

.fw-button.fw-linkedin:hover {
    background: #9720b0;
}

.fw-button.fw-linkedin > span {
    border-right-color: #841c9a;
    box-shadow: 1px 0 0 0 #d648f4;
    font-size: 18px;
}

.fw-button.fw-github {
    background: linear-gradient(to bottom left, #f95858, #f92958);
    box-shadow: 0 0 1px 1px #f87795 inset;
    border-color: #d20e3c;
}

.fw-button.fw-github:hover {
    background: #e32653;
}

.fw-button.fw-github > span {
    border-right-color: #d20e3c;
    box-shadow: 1px 0 0 0 #f87795;
    font-size: 18px;
}

.fw-button.fw-stackexchange {
    background: linear-gradient(to bottom left, #fcff23, #eaed0d);
    box-shadow: 0 0 1px 1px #fdff91 inset;
    border-color: #ced03f;
    color: #585854;
}

.fw-button.fw-stackexchange:hover {
    background: #fcff00;
}

.fw-button.fw-stackexchange > span {
    border-right-color: #ced03f;
    box-shadow: 1px 0 0 0 #fdff91;
    font-size: 18px;
}

.fw-add-button::after {
    margin-left: 10px;
}

#comment-filter-dropdown {
    width: 100px;
}
