.x-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: inherit;
  font-weight: 500;
  letter-spacing: 1.25px;
  border-radius: 4px;
  color: inherit;
  border: none;
  outline: none;
  overflow: hidden;
  cursor: pointer;
}
.x-button + .x-button {
  margin-left: 8px;
}
.x-button.block {
  width: 100%;
}
.x-button.circle {
  border-radius: 50%;
}
.x-button.rounded {
  border-radius: 28px;
}
.x-button.text {
  background-color: transparent;
}
.x-button.outlined {
  background-color: transparent;
  border: thin solid;
}
.x-button.disabled {
  opacity: 0.25;
  cursor: no-drop;
}
.x-button.disabled:not(.text):not(.outlined) {
  background-color: rgba(0, 0, 0, 0.12) !important;
}
.x-button.loading {
  pointer-events: none;
}
.x-button.loading .x-button--container {
  opacity: 0;
}
.x-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-color: currentColor;
  opacity: 0;
  -webkit-transition: opacity 0.15s linear, background-color 0.15s linear;
  transition: opacity 0.15s linear, background-color 0.15s linear;
}
.x-button:hover:not(:disabled)::before {
  opacity: 0.08;
}
.x-button--container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.x-button--container > .x-icon:first-child {
  margin-right: 8px;
}
.x-button--container > .x-icon:last-child {
  margin-left: 8px;
}
.x-button--loader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.x-button.x-small:not(.circle) {
  height: 20px;
  min-width: 35.5555555556px;
  padding: 0 8.8888888889px;
}
.x-button.circle.x-small {
  height: 20px;
  width: 20px;
}
.x-button.small:not(.circle) {
  height: 28px;
  min-width: 49.7777777778px;
  padding: 0 12.4444444444px;
}
.x-button.circle.small {
  height: 28px;
  width: 28px;
}
.x-button.default:not(.circle) {
  height: 36px;
  min-width: 64px;
  padding: 0 16px;
}
.x-button.circle.default {
  height: 36px;
  width: 36px;
}
.x-button.large:not(.circle) {
  height: 44px;
  min-width: 78.2222222222px;
  padding: 0 19.5555555556px;
}
.x-button.circle.large {
  height: 44px;
  width: 44px;
}
.x-button.x-large:not(.circle) {
  height: 52px;
  min-width: 92.4444444444px;
  padding: 0 23.1111111111px;
}
.x-button.circle.x-large {
  height: 52px;
  width: 52px;
}
.x-button.x-small {
  font-size: 12px;
}
.x-button.x-small .x-icon {
  font-size: 14px;
}
.x-button.small {
  font-size: 12px;
}
.x-button.small .x-icon {
  font-size: 14px;
}
.x-button.default {
  font-size: 14px;
}
.x-button.default .x-icon {
  font-size: 16px;
}
.x-button.large {
  font-size: 16px;
}
.x-button.large .x-icon {
  font-size: 18px;
}
.x-button.x-large {
  font-size: 16px;
}
.x-button.x-large .x-icon {
  font-size: 18px;
}