* {
  font-family: 'Poppins', sans-serif;
  -webkit-font-smoothing: antialiased;
  font-weight: 300;
}

h1, h2, h2, h3, h4, h5, h6 {
  margin: 0;
}

h4, h5, h6 {
  font-weight: 400;
}

a, .link {
  color: var(--config-color-link);
  text-decoration: none;
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
  transition: 200ms;
  cursor: pointer;

  &:hover {
    //transform: translateY(-2px);
  }

  &.disabled {
    opacity: .5;
  }

  &.tag:hover {
    opacity: .9;
  }

  &.danger {
    color: var(--config-color-danger);
  }
}

a.link-animation-enabled,
.link.link-animation-enabled {
  display: inline-block;
  
  &:hover {
    transform: translateY(-2px);
  }
}

.func-link-return-animation(@pos) {
  & > i {
    display: inline-block;
    transition: 200ms;
  }
  
  &:hover > i {
    transform: translateX(@pos);
  }
}

@link-return-animation-offset: 2px;

.link-return-animation--start {
  .func-link-return-animation(
    if((@config-start = right),
      @link-return-animation-offset,
      -@link-return-animation-offset
    )
  );
}

.link-return-animation--end {
  .func-link-return-animation(
    if((@config-start = right),
      -@link-return-animation-offset,
      @link-return-animation-offset
    )
  );
}

b, strong {
  font-weight: 500;
}

p {
  margin: 0 0 20px 0;
  line-height: 26px;
}

small {
  font-size: 16px;
  color: var(--config-color-fade);
}

.text-size-small {
  font-size: 13px;
}

.text-size-xs {
  font-size: 10px;
}

.text-size-normal {
  font-size: 16px;
}

.text-height-large {
  height: 30px;
  line-height: 30px;
}

.text-height-small {
  line-height: 13px;
}

.text-one-liner {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text-bold {
  font-weight: 400!important;
}

.text-bold-large {
  font-weight: 500!important;
}

.text-bold-xl {
  font-weight: 600!important;
}

.text-danger {
  color: var(--config-color-danger)!important;
}

.text-success {
  color: var(--config-color-success)!important;
}

.text-upper {
  text-transform: uppercase;
}

.text-warning {
  color: var(--config-color-warning)
}

.text-focus {
  color: var(--config-color-focus);
}

.text-fade {
  color: var(--config-color-fade);
}

&.text-green {
  color: var(--config-color-success);
}

&.text-red {
  color: var(--config-color-danger);
}

&.text-info {
  color: var(--config-color-info);
}

&.text-yellow {
  color: #ffe28b;
}

.text-disclaimer {
  font-size: 11px;
  color: var(--config-color-fade);
}

.text-fade-extra {
  color: var(--config-color-fade);
  opacity: .5;
}

.text-line-high-large {
  line-height: 30px;
}

.text-line-high-xl {
  line-height: 40px;
}

.text-sign {
  margin: 5px 0;
  font-size: 25px;
  width: 25px;
  height: 25px;
  line-height: 25px;
  display: inline-block;
}

.text-align-center {
  text-align: center;
}

.text-align-start {
  text-align: @config-start;
}

.text-align-end {
  text-align: @config-end;
}

.text-align-left {
  text-align: left;
}

.text-align-right {
  text-align: right;
}

.text-dir-ltr {
  direction: ltr;
  display: inline-block;
}

.text-dir-rtl {
  direction: rtl;
  display: inline-block;
}

// Icon Hacks

.icon-dot-3:before {
  .func-rotate(90deg);
}

// fix icons vertical alignment
i[class^='icon-'], i[class*=' icon-']{
  &:before {
    display: inline;
    line-height: unset;
  }
}
