.btn {
  display: inline-block;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  user-select: none;
  text-align: center;
  transition:
    color 0.3s,
    background-color 0.3s,
    border-color 0.3s;
  background-clip: border-box;
  background-color: transparent;
}
.btn__flex {
  height: 100%;
  flex: 1 1 auto;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.btn--40 {
  min-width: 37px;
  height: 37px;
  padding: 0 12px;
  border-radius: 3px;
  font-size: 12px;
  border-width: 2px;
}
.btn--50 {
  height: 50px;
  min-width: 50px;
  padding: 0 25px;
  border-radius: 0;
  font-size: 13px;
  letter-spacing: 1px;
  border-width: 2px;
}
.btn--disabled {
  background-color: transparent;
  border-color: var(--c-white--30);
  color: var(--c-white--30);
}

.btn--darkblue {
  background-color: var(--c-button);
  border-color: var(--c-button);
  color: var(--c-button-accent);
  outline: none;
}

.btn--darkblue:hover {
  background-color: var(--c-button-hover);
  border-color: var(--c-button-hover);
  color: var(--c-button-accent-hover);
  outline: none;
}

.btn--transparent {
  background-color: var(--c-white);
  border-color: var(--c-white);
  color: var(--c-button-accent);
  outline: none;
}

.btn--transparent:hover {
  background-color: var(--c-white--80);
  border-color: var(--c-white--20);
  color: var(--c-button-accent);
  outline: none;
}

.btn--white {
  background-color: var(--c-white);
  border-color: var(--c-white);
  color: var(--c-main-light);
}
.btn--white:hover,
.btn--white:focus,
.btn--white.active {
  background-color: var(--c-white--90);
  border-color: var(--c-white--90);
  color: var(--c-main-light);
}
.btn--white:active {
  background-color: var(--c-white--70);
  border-color: var(--c-white--70);
  color: var(--c-main-light);
}

.btn--draugiem {
  background-color: var(--c-draugiem);
  border-color: var(--c-draugiem);
  color: var(--c-white);
}
.btn--draugiem:hover,
.btn--draugiem:focus,
.btn--draugiem.active {
  background-color: var(--c-draugiem-hover);
  border-color: var(--c-draugiem-hover);
  color: var(--c-white);
}
.btn--draugiem:active {
  background-color: var(--c-draugiem-hover);
  border-color: var(--c-draugiem-hover);
  color: var(--c-white);
}

.btn--facebook {
  background-color: var(--c-facebook);
  border-color: var(--c-facebook);
  color: var(--c-white);
}
.btn--facebook:hover,
.btn--facebook:focus,
.btn--facebook.active {
  background-color: var(--c-facebook-hover);
  border-color: var(--c-facebook-hover);
  color: var(--c-white);
}
.btn--facebook:active {
  background-color: var(--c-facebook-hover);
  border-color: var(--c-facebook-hover);
  color: var(--c-white);
}

.btn--loading:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 6px;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 15px;
  border-style: solid;
  border-bottom-color: transparent;
  border-width: 2px;
  border-radius: 50%;
  animation: loadingSpin 1s infinite linear;
}
@keyframes loadingSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.btn__text {
  position: relative;
  text-align: center;
  font-weight: 400;
  line-height: 1.3;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: middle;
}
.btn__icon {
  font-size: 22px;
}
.btn__icon--left {
  margin: 0 14px 0 0;
}
.btn__icon--right {
  margin: 0 0 0 14px;
}
.btn__icon--large {
  font-size: 18px;
}
