.btn.btn-icon-left-border .icon,
.btn.btn-icon-right-border .icon {
    margin-left: 0!important;
}
.btn.btn-icon-left-border .icon {
    left: auto;
    right: -2px;
    border-right: none;
    border-left: 2px solid;
}
.btn.btn-icon-right-border .icon {
    right: auto;
    left: -2px;
    border-left: none;
    border-right: 2px solid;
}

.btn.btn-empty.btn-icon-left-border .icon::before {
    left: calc(50% - 1px)!important;
}
.btn.btn-empty.btn-icon-right-border .icon::before {
    left: calc(50% + 1px)!important;
}

.btn.btn-small.btn-icon-left-border {
    padding: 0.5rem 5.1rem 0.6rem 1.8rem;
}
.btn.btn-med.btn-icon-left-border {
    padding: 0.8rem 6.4rem 0.8rem 2.3rem;
}
.btn.btn-large.btn-icon-left-border {
    padding: 1.1rem 7.7rem 1rem 2.8rem;
}
.btn.btn-extra-large.btn-icon-left-border {
    padding: 1.3rem 8.9rem 1.2rem 3.3rem;
}

.btn.btn-small.btn-icon-right-border {
    padding: 0.5rem 1.8rem 0.6rem 5.1rem;
}
.btn.btn-med.btn-icon-right-border {
    padding: 0.8rem 2.3rem 0.8rem 6.4rem;
}
.btn.btn-large.btn-icon-right-border {
    padding: 1.1rem 2.8rem 1rem 7.7rem;
}
.btn.btn-extra-large.btn-icon-right-border {
    padding: 1.3rem 3.3rem 1.2rem 8.9rem;
}

.btn.btn-small.btn-empty.btn-icon-left-border {
    padding: 0.5rem 4.9rem 0.6rem 1.8rem;
}
.btn.btn-med.btn-empty.btn-icon-left-border {
    padding: 0.8rem 6.2rem 0.8rem 2.3rem;
}
.btn.btn-large.btn-empty.btn-icon-left-border {
    padding: 1.1rem 7.5rem 1rem 2.8rem;
}
.btn.btn-extra-large.btn-empty.btn-icon-left-border {
    padding: 1.3rem 8.7rem 1.2rem 3.3rem;
}

.btn.btn-small.btn-empty.btn-icon-right-border {
    padding: 0.5rem 1.8rem 0.6rem 4.9rem;
}
.btn.btn-med.btn-empty.btn-icon-right-border {
    padding: 0.8rem 2.3rem 0.8rem 6.2rem;
}
.btn.btn-large.btn-empty.btn-icon-right-border {
    padding: 1.1rem 2.8rem 1rem 7.5rem;
}
.btn.btn-extra-large.btn-empty.btn-icon-right-border {
    padding: 1.3rem 3.3rem 1.2rem 8.7rem;
}


.btn.btn-small.btn-icon-left {
    padding: 0.5rem 4.6rem 0.6rem 1.8rem;
}
.btn.btn-med.btn-icon-left {
    padding: 0.8rem 5.4rem 0.8rem 2.3rem;
}
.btn.btn-large.btn-icon-left {
    padding: 1.1rem 6.5rem 1rem 2.8rem;
}
.btn.btn-extra-large.btn-icon-left {
    padding: 1.3rem 7.4rem 1.2rem 3.3rem;
}

.btn.btn-small.btn-icon-right {
    padding: 0.5rem 1.8rem 0.6rem 4.6rem;
}
.btn.btn-med.btn-icon-right {
    padding: 0.8rem 2.3rem 0.8rem 5.4rem;
}
.btn.btn-large.btn-icon-right {
    padding: 1.1rem 2.8rem 1rem 6.5rem;
}
.btn.btn-extra-large.btn-icon-right {
    padding: 1.3rem 3.3rem 1.2rem 7.4rem;
}

.btn.btn-icon-left .icon,
.btn.btn-icon-right .icon {
    margin-left: 0!important;
}

.btn.btn-small.btn-icon-left .icon {
    left: auto;
    right: 1.8rem;
}
.btn.btn-med.btn-icon-left .icon {
    left: auto;
    right: 2.3rem;
}
.btn.btn-large.btn-icon-left .icon {
    left: auto;
    right: 2.8rem;
}
.btn.btn-extra-large.btn-icon-left .icon {
    left: auto;
    right: 3.3rem;
}

.btn.btn-small.btn-icon-right .icon {
    right: auto;
    left: 1.8rem;
}
.btn.btn-med.btn-icon-right .icon {
    right: auto;
    left: 2.3rem;
}
.btn.btn-large.btn-icon-right .icon {
    right: auto;
    left: 2.8rem;
}
.btn.btn-extra-large.btn-icon-right .icon {
    right: auto;
    left: 3.3rem;
}


.btn.btn-small.btn-icon-left-border.btn-gradient-background {
    padding: 0.7rem 5.3rem 0.8rem 2rem;
}
.btn.btn-med.btn-icon-left-border.btn-gradient-background {
    padding: 1rem 6.6rem 1rem 2.5rem;
}
.btn.btn-large.btn-icon-left-border.btn-gradient-background {
    padding: 1.3rem 7.9rem 1.2rem 3rem;
}
.btn.btn-extra-large.btn-icon-left-border.btn-gradient-background {
    padding: 1.5rem 9.1rem 1.4rem 3.5rem;
}

.btn.btn-small.btn-icon-right-border.btn-gradient-background {
    padding: 0.7rem 2rem 0.8rem 5.3rem;
}
.btn.btn-med.btn-icon-right-border.btn-gradient-background {
    padding: 1rem 2.5rem 1rem 6.6rem;
}
.btn.btn-large.btn-icon-right-border.btn-gradient-background {
    padding: 1.3rem 3rem 1.2rem 7.9rem;
}
.btn.btn-extra-large.btn-icon-right-border.btn-gradient-background {
    padding: 1.5rem 3.5rem 1.4rem 9.1rem;
}

.btn.btn-icon-left-border.btn-gradient-background .icon {
    left: auto;
    right: 0;
}
.btn.btn-icon-right-border.btn-gradient-background .icon {
    right: auto;
    left: 0;
}


.btn.btn-small.btn-icon-left.btn-gradient-background {
    padding: 0.7rem 4.8rem 0.8rem 2rem;
}
.btn.btn-med.btn-icon-left.btn-gradient-background {
    padding: 1rem 5.6rem 1rem 2.5rem;
}
.btn.btn-large.btn-icon-left.btn-gradient-background {
    padding: 1.3rem 6.7rem 1.2rem 3rem;
}
.btn.btn-extra-large.btn-icon-left.btn-gradient-background {
    padding: 1.5rem 7.6rem 1.4rem 3.5rem;
}

.btn.btn-small.btn-icon-right.btn-gradient-background {
    padding: 0.7rem 2rem 0.8rem 4.8rem;
}
.btn.btn-med.btn-icon-right.btn-gradient-background {
    padding: 1rem 2.5rem 1rem 5.6rem;
}
.btn.btn-large.btn-icon-right.btn-gradient-background {
    padding: 1.3rem 3rem 1.2rem 6.7rem;
}
.btn.btn-extra-large.btn-icon-right.btn-gradient-background {
    padding: 1.5rem 3.5rem 1.4rem 7.6rem;
}

.btn.btn-small.btn-icon-left.btn-gradient-background .icon {
    left: auto;
    right: 2rem;
}
.btn.btn-med.btn-icon-left.btn-gradient-background .icon {
    left: auto;
    right: 2.5rem;
}
.btn.btn-large.btn-icon-left.btn-gradient-background .icon {
    left: auto;
    right: 3rem;
}
.btn.btn-extra-large.btn-icon-left.btn-gradient-background .icon {
    left: auto;
    right: 3.5rem;
}

.btn.btn-small.btn-icon-right.btn-gradient-background .icon {
    right: auto;
    left: 2rem;
}
.btn.btn-med.btn-icon-right.btn-gradient-background .icon {
    right: auto;
    left: 2.5rem;
}
.btn.btn-large.btn-icon-right.btn-gradient-background .icon {
    right: auto;
    left: 3rem;
}
.btn.btn-extra-large.btn-icon-right.btn-gradient-background .icon {
    right: auto;
    left: 3.5rem;
}