.btn,
button,
.button,
input[type="submit"] {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  padding: 0 20px;
  line-height: 48px;
  @include transition(all 240ms linear 0ms);
  @include border-radius(3px);
  position: relative;
  overflow: hidden !important;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  border: none;
  background-color: $secondary_color;
  z-index: 1;
  @include box-shadow(none);
  &:after {
    content: '';
    position: absolute;
    top: 0;
    left: -200%;
    width: 200%;
    height: 100%;
    @include transform(skewX(-20deg));
    background-image: -webkit-gradient(linear,left top,right top,from(transparent),color-stop(rgba(255,255,255,0.4)),to(transparent));
    background-image: linear-gradient(to right,transparent,rgba(255,255,255,0.4),transparent);
    z-index: -1;
  }
  &:hover, &:focus, &:active, &:not([disabled]):not(.disabled).active, &:not([disabled]):not(.disabled):active {
    outline: medium none;
    text-decoration: none;
    color: #fff;
    background-color: $primary_color;
    &:after {
      -webkit-animation: btn_shine 1.2s ease;
      animation: btn_shine 1.2s ease;
      -webkit-animation-delay: .1s;
      animation-delay: .1s;
    }
  }
}
.elementor a.btn {
  @include box-shadow(0 7px 16px rgba(#0c0c0c, 0.22));
}
.btn {
  .ct-align-icon-left i {
    margin-right: 6px;
    font-size: 20px;
  }
  .ct-align-icon-right {
    float: right;
    i {
      margin-left: 12px;
    }
  }
  i.space-left {
    margin-left: 12px;
  }
  i.space-right {
    margin-right: 12px;
  }
  &.icon-right .icon-abs {
    right: 8px;
  }
  &.icon-left .icon-abs {
    left: 8px;    
  }
  &.btn-primary-border {
    background-color: $primary_color;
    line-height: 60px;
    font-size: 18px;
    text-transform: uppercase;
    padding-left: 38px;
    padding-right: 38px;
    border-radius: 30px;
    font-family: 'Outfit-Semibold';
    font-weight: 400;
  }
  &.btn-plus {
    padding-right: 58px;
    .icon-abs, .ct-align-icon-right, .ct-align-icon-left {
      @include transition(all 240ms linear 0ms);
      font-size: 20px;
      font-weight: 500;
      height: 32px;
      width: 32px;
      background-color: $primary_color;
      position: absolute;
      top: 50%;
      transform: translate(0, -50%);
      border-radius: 3px;
      line-height: 32px;
      text-align: center;
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      margin: 0;
      overflow: hidden;
      i {
        margin: 0;
        &.flaticon-plus {
          font-size: 16px;
        }
      }
    }
    &.icon-left, &.ct-align-icon-left {
      padding-right: 20px;
      padding-left: 58px;
    }
    &:hover {
      background-color: $primary_color;
      color: #fff;
      .icon-abs, .ct-align-icon-right, .ct-align-icon-left {
        background-color: $secondary_color;
        color: #fff;
        &:before {
          -o-animation: toRightFromLeft 0.3s forwards;
          -ms-animation: toRightFromLeft 0.3s forwards;
          -webkit-animation: toRightFromLeft 0.3s forwards;
          animation: toRightFromLeft 0.3s forwards;
        }
      }
    }
  }
  &.btn-plus-primary {
    background-color: $primary_color;
    color: #fff;
    .icon-abs {
      background-color: $secondary_color;
      color: #fff;
    }
    &:hover, &:focus {
      background-color: $secondary_color;
      color: #fff;
      .icon-abs {
        background-color: $primary_color;
        color: #fff;
      }
    }
  }
  &.btn-plus-round {
    @include border-radius(50px);
    .icon-abs, .ct-align-icon-right, .ct-align-icon-left {
      @include border-radius(100%);
    }
  }
  &.btn-secondary:hover {
    @include transform(translateY(-3px));
  }
  &.btn-four {
    background-color: $four_color;
    &:hover {
      @include transform(translateY(-4px));
    }
  }
  &.btn-primary {
    background-color: $primary_color;
    color: #fff;
    line-height: 52px;
    @include box-shadow(0 8px 7px rgba(#02154e, 0.17) !important);
    .space-left {
      margin-left: 8px;
    }
    &:hover, &:focus {
      background-color: #fff;
      color: $dark_color;
    }
  }
  &.btn-primary-normal {
    background-color: $primary_color;
    &:hover, &:focus {
      background-color: $secondary_color;
    }
  }
  &.btn-slider {
      @include border-radius(0px);
      padding-left: 23px;
      padding-right: 63px;
      line-height: 56px;
      font-size: 16px;
      background-color: $fifth_color;
      i {
          right: 13px;
          top: 50%;
          @include transform(translate(0, -50%));
          position: absolute;
          width: 29px;
          height: 29px;
          line-height: 29px;
          background-color: #fff;
          color: $fifth_color;
          font-size: 18px;
          @include transition(.3s cubic-bezier(.24,.74,.58,1));
          margin: 0;
      }
      &:before {
          position: absolute;
          left: 0;
          top: 0;
          height: 100%;
          width: 100%;
          content: "";
          -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
          transform: scale(0, 1);
          -webkit-transform-origin: top right;
          -ms-transform-origin: top right;
          transform-origin: top right;
          -webkit-transition: transform .3s cubic-bezier(.24,.74,.58,1);
          -o-transition: transform .3s cubic-bezier(.24,.74,.58,1);
          -webkit-transition: -webkit-transform .3s cubic-bezier(.24,.74,.58,1);
          transition: -webkit-transform .3s cubic-bezier(.24,.74,.58,1);
          transition: transform .3s cubic-bezier(.24,.74,.58,1);
          transition: transform .3s cubic-bezier(.24,.74,.58,1), -webkit-transform .3s cubic-bezier(.24,.74,.58,1);
              transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1), cubic-bezier(0.86, 0, 0.07, 1);
          -webkit-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
          -o-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
          transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
          background-color: #000;
          z-index: -1;
      }
      &:after {
          display: none;
      }
      &:hover {
          i {
              color: #000;
          }
          &:before {
              -webkit-transform: scale(1, 1);
              -ms-transform: scale(1, 1);
              transform: scale(1, 1);
              -webkit-transform-origin: bottom left;
              -ms-transform-origin: bottom left;
              transform-origin: bottom left;
          }
      }
      &.btn-slider-dark {
          background-color: #000;
          i {
              color: #000;
          }
          &:before {
              background-color: $fifth_color;
          }
          &:hover i {
              color: $fifth_color;
          }
      }
  }
  &.btn-animate1 {
    background-color: $primary_color;
    @include transition(all 0.3s);
    &:before, &:after {
      content: '';
      transform: skewX(0deg);
      left: 0 !important;
      right: 0;
      width: 100%;
      height: 100%;
      background-image: none;
      position: absolute;
      top: auto;
      bottom: 100%;
      @include transition(transform 0.3s);
      transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
      @include border-radius(inherit);
      z-index: -1;
    }
    &:before {
      background-color: lighten($secondary_color_hex, 0.2);
    }
    &:after {
      background-color: $secondary_color;
    }
    &:hover, &:focus {
      background-color: $primary_color;
      &:before, &:after {
        transform: skewX(0deg) translate3d(0, 100%, 0);
        -webkit-transform: skewX(0deg) translate3d(0, 100%, 0);
      }
      &:after {
        transition-delay: 0.175s;
      }
    }
  }
  &.btn-icon-square-light, &.btn-icon-square-dark {
    border-radius: 0px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 0 22px;
    @include font-family-heading($heading_default_font);
    font-size: 16px;
    .ct-button-icon {
      width: 44px;
      height: 34px;
      background-color: $primary_color;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translate(0, -50%);
      color: #fff;
      line-height: 34px;
      text-align: center;
      i {
        font-size: 13px;
        margin: 0;
        @include transition(all .25s cubic-bezier(.3,.3,0,.8));
        display: inline-flex;
      }
    }
    &:hover .ct-button-icon i.flaticon3-right-up {
      transform: rotate(45deg);
    }
  }
  &.btn-icon-square-light {
    background: #fff;
    color: #000;
  }
  &.btn-icon-square-dark {
    background-color: $secondary_color;
    color: #fff;
  }
}

.ct-icon-active + .btn.btn-icon-square-light, .ct-icon-active + .btn.btn-icon-square-dark {
  padding-right: 66px;
}

.ct-button-layout1, .wg-item--button {
  i, svg {
    position: relative;
  }
  a.btn {
    @include box-shadow(none);
  }
  .btn {
    line-height: 51px;
    &.btn-label {
      line-height: 1;
      display: inline-flex;
      align-items: center;
      text-align: left;
      border-radius: 76px;
      @include font-family-heading($heading_default_font);
      font-size: 20px;
      font-weight: 500;
      padding: 18px 28px 18px 24px;
      label {
        display: block;
        line-height: 1;
        font-size: 15px;
        text-transform: uppercase;
        margin-bottom: 6px;
        color: #fff;
      }
      i {
        font-weight: normal;
        font-size: 28px;
        display: inline-block;
        &.flaticonv2-phone-call {
          transform: rotate(10deg);
        }
      }
      .ct-align-icon-left i {
        margin-right: 10px;
      }
    }
    &.btn-plus {
      .ct-align-icon-right, .ct-align-icon-left {
        height: 34px;
        width: 34px;
      }
      .ct-align-icon-left {
        left: 8px;
      }
      .ct-align-icon-right {
        right: 8px;
      }
      &.icon-ps-left {
        padding-left: 60px;
        padding-right: 22px;
      }
      &.icon-ps-right {
        padding-left: 22px;
        padding-right: 60px;
      }
      &:hover {
        .ct-button-icon {
          background-color: $secondary_color;
          color: #fff;
        }
      }
    }
    &.ct-icon-rotate {
      i {
        transform: rotate(-45deg);
        display: inline-block;
        @include transition(.3s cubic-bezier(.24,.74,.58,1));
      }
      &:hover i {
        transform: rotate(0deg);
      }
    }
    &.btn-gradient {
      @include background-horizontal($primary_color, $secondary_color);
      &:before {
        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(15deg);
        -moz-transform: rotate(15deg);
        -webkit-transform: rotate(15deg);
        -o-transform: rotate(15deg);
        z-index: -1;
      }
      &:hover, &:focus {
        &:before {
          left: 130%;
        }
      }
      &:after {
        display: none;
      }
    }
    &.btn-icon-square-light, &.btn-icon-square-dark {
      line-height: 64px;
    }
  }
}

.sc-button-wrap .btn {
  &.btn-icon-square-light, &.btn-icon-square-dark {
    line-height: 64px;
  }
}