.btn,
button,
.button,
input[type="submit"] {
  @include font-family-heading($heading_default_font);
  font-size: 16px;
  color: #fff;
  font-weight: 600;
  padding: 0 38px;
  line-height: 51px;
  @include transition(all 180ms linear 0ms);
  @include border-radius(35px);
  position: relative;
  overflow: hidden !important;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  border: none;
  z-index: 1;
  letter-spacing: 0em;
  @include box-shadow(none !important);
  background-color: $primary_color;
  background-size: 200%, 1px;
  background-position: 0%;
  &:hover, &:focus, &:active, &:not([disabled]):not(.disabled).active, &:not([disabled]):not(.disabled):active {
    outline: medium none;
    text-decoration: none;
    color: #fff;
    background-position: 100%;
  }
}
.btn {
  &.btn-inline-flex {
    display: inline-flex;
    align-items: center;
  }
  .ct-align-icon-right {
    float: right;
    margin-left: 8px;
  }
  i.space-left {
    margin-left: 10px;
  }
  i.space-right {
    margin-right: 10px;
  }
  &.btn-reset {
    line-height: 40px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0px;
  }
  &.btn-animate {
    &:before {
      content: '';
      position: absolute;
      top: -20px;
      left: -20px;
      bottom: -20px;
      right: -20px;
      background: inherit;
      z-index: -1;
      opacity: 0.4;
      -webkit-transform: scale3d(0.6, 0.5, 1);
      transform: scale3d(0.6, 0.5, 1);
      @include border-radius(inherit);
    }
    &:hover, &:focus {
      -webkit-animation: btn-animate1 0.3s forwards;
      animation: btn-animate1 0.3s forwards;
      overflow: visible !important;
      &:before {
        -webkit-animation: btn-animate2 0.3s 0.3s forwards;
        animation: btn-animate2 0.3s 0.3s forwards;
      }
    }
  }
  &.btn-secondary {
    background: $secondary_color;
    color: #fff;
    &:after {
      content: "";
      background: #fff;
      -webkit-transition: all .8s;
      -ms-transition: all .8s;
      transition: all .8s;
      position: absolute;
      height: 120%;
      width: 15px;
      opacity: .2;
      left: -35%;
      top: -10%;
      transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
    }
    &:hover, &:focus {
      background: $primary_color;
      color: $secondary_color;
      &:after {
        left: 130%;
      }
    }
    &:not(:hover) i {
      @extend .text-gradient;
    }
  }
  &.btn-primary {
    background: $primary_color;
    &:after {
      content: "";
      background: #fff;
      @include transition(all .5s);
      position: absolute;
      height: 120%;
      width: 15px;
      opacity: .2;
      left: -35%;
      top: -10%;
      transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
    }
    &:hover, &:focus {
      background: $primary_color;
      &:after {
        left: 130%;
      }
    }
  }
}
.btn-hover {
    overflow: hidden;
    position: relative;
    z-index: 1; 
    &:after {
      content: "";
      background: #fff;
      @include transition(all .5s);
      position: absolute;
      height: 120%;
      width: 15px;
      opacity: .2;
      left: -35%;
      top: -10%;
      transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
    }
    &:hover, &:focus {
      background: $primary_color;
      &:after {
        left: 130%;
      }
    }
}
.btn-home2 {
  .ct-button-wrapper {
    .btn {
      i {
        @include transition(all 180ms linear 0ms);
        @include border-radius(5px);
        background-color: rgba( #fff, 0.3 );
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        line-height: 30px;
      }
      &:hover {
        i {
          background-color: #fff;
          color: #000;
        }
      }
    }
  }
}
.ct-button-wrapper {
  i {
    display: inline-flex;
  }
  .btn {
    display: inline-flex;
    align-items: center;
    .ct-button-icon {
      display: inline-flex;
    }
    &.icon-ps-right {
      flex-direction: row-reverse;
    }
  }
}