.button {
    padding: 0;
    background-color: transparent;
    background-image: none;
    border: 0;
    box-shadow: none;

    &--primary {
        @include button($color--light-blue, $color--dark-blue);
        display: inline-block;

        .form--filters & {
            margin-right: 0;

            @include media-query(tablet-portrait) {
                flex-basis: 125px;
            }
        }
    }

    &:hover {
        cursor: pointer;
    }

    &--contains-icons {
        display: flex;
        align-items: center;

        .header & {
            margin-right: 20px;
        }
    }

    &--transparent {
        @include button(transparent, $color--black);
        @include button--narrow;
        color: $color--black;
        border: 1px solid $color--black;

        &:focus {
            color: $color--black;
        }

        &:hover {
            color: $color--white;
        }
    }

    &--white {
        @include button($color--white, $color--light-blue);
        display: inline-block;
        color: $color--light-blue;
        border: 1px solid $color--mid-grey;

        &:focus {
            color: $color--light-blue;
        }

        &:hover {
            color: $color--white;
        }
    }

    &--filters {
        display: flex;
        justify-content: space-between;
        max-width: 300px;
        padding: 15px 20px;
        margin-bottom: 20px;
        font-weight: $weight--normal;
        color: $color--default;
        background: url('./../../images/filters.svg') $color--white no-repeat 93% center;
        border: 1px solid $color--light-mid-grey;
        transition: none;

        &:focus,
        &:active,
        &:hover {
            background: url('./../../images/filters.svg') $color--white no-repeat 93% center;
        }

        @include media-query(tablet-portrait) {
            display: none;
        }
    }

    &--filters-header {
        display: flex;
    }

    &--search {
        position: absolute;
        top: 12px;
        right: 10px;

        svg {
            fill: $color--primary;
        }
    }

    &--full-width {
        width: 100%;
        text-align: center;
    }

    &--half-width {
        width: 50%;
        padding: 10px 0;
        text-align: center;

        &:first-child {
            margin-right: 20px;
        }
    }

    &--bottom-space {
        margin-bottom: 10px;

        &:last-child {
            margin-bottom: 0;
        }
    }

    &--actions {
        position: relative;
        display: block;
        background-color: $color--white;

        &:active {
            background: $color--light-blue-90;
        }

        &::after {
            position: absolute;
            top: 0;
            right: 15px;
            font-size: 30px;
            content: '+';
        }

        &.is-active {
            color: $color--dark-blue;
            background: $color--light-blue-90;

            &::after {
                top: -12px;
                content: '_';
            }
        }

        @include media-query(tablet-portrait) {
            display: none;
        }
    }

    &.is-disabled {
        pointer-events: none;
        opacity: 0.5;
    }

    &--top-space {
        margin-top: 20px;
    }
}