.nova-tabs {
  display: flex;

  &__control-wrapper {
    display: flex;
    background-color: white;
    overflow: hidden;
    z-index: 1;
  }

  &__content-wrapper {
    position: relative;
    overflow: hidden;
    background-color: white;
    transition: height 0.25s cubic-bezier(.44,.96,.5,.98);
  }

  &__control {
    cursor: pointer;
    outline: none;

    &.nova-tabs__control-icon-left {
      .nova-tabs__control-inner {
        flex-flow: row nowrap;
      }
    }

    &.nova-tabs__control-icon-top {
      .nova-tabs__control-inner {
        flex-flow: column nowrap;
      }
    }
  }

  &__control-inner {
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  &__label-icon {
    margin-right: 5px;
    line-height: 1;

    .active-tab & {
      color: #f53e6a;
    }
  }

  &__label-image {
    width: 25px;
  }

  &__label-text {
    color: v(site-heading-color);
    font-size: rem-calc(14);
    @include global_transition;
    
    .active-tab & {
      color: v(site-accent-color);
      font-weight: 600;
    }
  }

  &__content {
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    pointer-events: none;
    padding: 10px;

    > .elementor {
      > .elementor-inner {
        margin: 0;
      }
    }

    &.active-content {
      position: relative;
      pointer-events: auto;
      opacity: 1;
    }
  }

  &-position-top {
    flex-flow: column nowrap;
    align-items: stretch;

    .nova-tabs__control-wrapper {
      align-self: flex-start;
      flex-flow: row wrap;
      justify-content: flex-start;
      align-items: center;
      order: 1;
    }

    .nova-tabs__content-wrapper {
      order: 2;
      border-top-width: 1px;
    }
  }

  &-position-left {
    flex-flow: row nowrap;

    .nova-tabs__control-wrapper {
      flex: 0 1 auto;
      min-width: 200px;
      order: 1;
      display: flex;
      flex-flow: column nowrap;
      align-items: stretch;
    }

    .nova-tabs__content-wrapper {
      flex: 1 1 auto;
      order: 2;
      border-left-width: 2px;
      align-self: stretch;
    }
  }

  &-position-right {
    flex-flow: row nowrap;

    .nova-tabs__control-wrapper {
      flex: 0 1 auto;
      min-width: 100px;
      width: 200px;
      order: 2;
      display: flex;
      flex-flow: column nowrap;
      align-items: stretch;
    }

    .nova-tabs__content-wrapper {
      flex: 1 1 auto;
      order: 1;
      border-right-width: 2px;
    }
  }
  @media (max-width: 1024px) {
    &.nova-tabs-position-tablet-top {
      flex-flow: column nowrap;
      align-items: stretch;

      .nova-tabs__control-wrapper {
        width: auto;
        min-width: inherit;
        align-self: flex-start;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        order: 1;
      }

      .nova-tabs__content-wrapper {
        order: 2;
        border-top-width: 1px;
      }
    }

    &.nova-tabs-position-tablet-left {
      flex-flow: row nowrap;

      .nova-tabs__control-wrapper {
        flex: 0 1 auto;
        min-width: 200px;
        order: 1;
        display: flex;
        flex-flow: column nowrap;
        align-items: stretch;
      }

      .nova-tabs__content-wrapper {
        flex: 1 1 auto;
        order: 2;
        border-left-width: 2px;
        align-self: stretch;
      }
    }

    &.nova-tabs-position-tablet-right {
      flex-flow: row nowrap;

      .nova-tabs__control-wrapper {
        flex: 0 1 auto;
        min-width: 100px;
        width: 200px;
        order: 2;
        display: flex;
        flex-flow: column nowrap;
        align-items: stretch;
      }

      .nova-tabs__content-wrapper {
        flex: 1 1 auto;
        order: 1;
        border-right-width: 2px;
      }
    }
  }
  @media (max-width: 767px) {
    &.nova-tabs-position-mobile-top {
      flex-flow: column nowrap;
      align-items: stretch;

      .nova-tabs__control-wrapper {
        width: auto;
        min-width: inherit;
        align-self: flex-start;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        order: 1;
      }

      .nova-tabs__content-wrapper {
        order: 2;
        border-top-width: 1px;
      }
    }

    &.nova-tabs-position-mobile-left {
      flex-flow: row nowrap;

      .nova-tabs__control-wrapper {
        flex: 0 1 auto;
        min-width: 200px;
        order: 1;
        display: flex;
        flex-flow: column nowrap;
        align-items: stretch;
      }

      .nova-tabs__content-wrapper {
        flex: 1 1 auto;
        order: 2;
        border-left-width: 2px;
        align-self: stretch;
      }
    }

    &.nova-tabs-position-mobile-right {
      flex-flow: row nowrap;

      .nova-tabs__control-wrapper {
        flex: 0 1 auto;
        min-width: 100px;
        width: 200px;
        order: 2;
        display: flex;
        flex-flow: column nowrap;
        align-items: stretch;
      }

      .nova-tabs__content-wrapper {
        flex: 1 1 auto;
        order: 1;
        border-right-width: 2px;
      }
    }
  }

  &-fade-effect {
    .nova-tabs__content {
      &.active-content {
        animation-name: fade;
        animation-duration: 500ms;
        animation-timing-function: cubic-bezier(.26,.69,.37,.96);
        animation-play-state: running;
      }
    }
  }

  &-column-fade-effect {
    .nova-tabs__content {
      //display: none;
      .elementor-top-column {
        animation-name: fade;
        animation-fill-mode: backwards;
        animation-duration: 500ms;
        animation-timing-function: cubic-bezier(.26,.69,.37,.96);
      }

      &.active-content {
        //display: block;
        .elementor-top-column {
          @for $i from 1 through 4 {
            &:nth-child(#{$i}) {
              animation-delay: #{$i*100}ms;
            }
          }
        }
      }
    }
  }

  &-zoom-in-effect {
    .nova-tabs__content {
      &.active-content {
        animation-name: zoomIn;
        animation-duration: 500ms;
        animation-timing-function: cubic-bezier(.26,.69,.37,.96);
        animation-play-state: running;
      }
    }
  }

  &-zoom-out-effect {
    .nova-tabs__content {
      &.active-content {
        animation-name: zoomOut;
        animation-duration: 500ms;
        animation-timing-function: cubic-bezier(.26,.69,.37,.96);
        animation-play-state: running;
      }
    }
  }

  &-move-up-effect {
    .nova-tabs__content {
      &.active-content {
        animation-name: moveUp;
        animation-duration: 500ms;
        animation-timing-function: cubic-bezier(.26,.69,.37,.96);
        animation-play-state: running;
      }
    }
  }

  &-column-move-up-effect {
    .nova-tabs__content {
      //display: none;
      .elementor-top-column {
        animation-name: moveUp;
        animation-fill-mode: backwards;
        animation-duration: 500ms;
        animation-timing-function: cubic-bezier(.26,.69,.37,.96);
      }

      &.active-content {
        //display: block;
        .elementor-top-column {
          @for $i from 1 through 4 {
            &:nth-child(#{$i}) {
              animation-delay: #{$i*100}ms;
            }
          }
        }
      }
    }
  }

  &-fall-perspective-effect {
    .nova-tabs__content {
      &.active-content {
        animation-name: fallPerspective;
        animation-duration: 500ms;
        animation-timing-function: cubic-bezier(.26,.69,.37,.96);
        animation-play-state: running;
      }
    }
  }
}

.nova-tabs__edit-cover {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  box-sizing: border-box;
  height: 30px;
  padding: 5px 10px;
  right: 15px;
  top: 15px;
  border-radius: 3px;
  background-color: #b7084e;
  z-index: 99;
  cursor: pointer;
  transition: opacity 0.3s ease;
  box-shadow: 0 0 0 0 rgba(183, 8, 78, 0.6);
  animation: edit-button-pulse 5s infinite;

  i {
    font-size: 14px;
    color: white;
    margin-right: 5px;
  }

  span {
    font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
    font-size: 13px;
    color: white;
  }

  &:hover {
    background-color: #840739;
    animation: none;
  }
}

.nova-tabs-no-template-message {
  text-align: center;
  padding: 10px;
}

.nova-tabs-new-template-link {
  color: #f53e6a;
  text-decoration: underline;
}
