/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
@import "~@bentley/ui-ninezone/lib/ui-ninezone/footer/variables";
@import "~@bentley/ui-core/lib/ui-core/style/breakpoints";
@import "~@bentley/ui-core/lib/ui-core/style/colors";
@import "~@bentley/ui-core/lib/ui-core/style/themecolors";

@keyframes uifw-indicator-FadeIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.5);
    transform: scale(.5);
  }
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    opacity: 1;
  }
}

@keyframes uifw-indicator-FadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.uifw-footer-indicator {
  height: 100%;
  display: flex;
  align-items: center;
  visibility: visible;
  color: $buic-foreground-body;

  &.uifw-indicator-fade-in  {
    animation: uifw-indicator-FadeIn 1s linear;
    opacity: 1;
    pointer-events: auto;
  }

  &.uifw-indicator-fade-out {
    animation: uifw-indicator-FadeOut 500ms linear;
    opacity: 0;
    pointer-events: none;
  }

  /* Desktop */
  @include for-medium-desktop-up {
    &.nz-footer-mode {
      padding-left: $nz-footer-indicator-horizontal-padding;
      padding-right: $nz-footer-indicator-horizontal-padding;
    }

    &:not(.nz-footer-mode) {
      padding-left: $nz-footer-widget-indicator-horizontal-padding;
      padding-right: $nz-footer-widget-indicator-horizontal-padding;
    }
  }

  /* Medium devices (landscape tablets) */
  @include for-small-desktop-down {
    padding-left: $nz-footer-indicator-horizontal-padding-medium;
    padding-right: $nz-footer-indicator-horizontal-padding-medium;
  }

  /* Medium devices (portrait tablets) */
  @include for-tablet-portrait-down {
    font-size: $text-font-size-medium;
  }

  /* small devices (phones) */
  @include for-phone-only {
    font-size: $text-font-size-small;
    padding-left: $nz-footer-indicator-horizontal-padding-small;
    padding-right: $nz-footer-indicator-horizontal-padding-small;
  }

  > .nz-label {
    margin-right: $space-between-text-and-icon;
    display: none;
    font-size: $text-font-size;

    &.nz-is-visible {
      display: block;
    }
  }

  > .nz-balloon-container {
    height: 100%;
    position: relative;
    display: grid;
    align-content: center;

    > .nz-balloon {
      background-color: $buic-text-color;
      text-align: center;
      cursor: pointer;
      min-width: $min-balloon-width;
      min-height: $min-balloon-height;
      border-radius: 50%;
      padding: $balloon-padding;
      filter: $icon-shadow;
      position: relative;
      align-self: center;

      > .nz-arrow {
        position: absolute;
        width: 0;
        bottom: -3px;
        left: 0;
        display: block;
        border-width: 0;
        border-bottom-width: $balloon-arrow-height;
        border-left-width: $balloon-arrow-width;
        border-style: solid;
        border-color: transparent $buic-text-color;
        transform: rotate(25deg);
      }

      > .nz-content {
        position: relative;
        color: #FFFFFF;
        line-height: $min-balloon-height;
        font-size: 11px;
      }
    }

    > .nz-dialog {
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 50%;
    }
  }
}

.uifw-indicator-icon {
  font-size: $icon-size;
  width: $icon-size;
  height: $icon-size;
  cursor: pointer;

  /* Medium devices */
  @include for-tablet-landscape-down {
    font-size: $icon-size-medium;
    width: $icon-size-medium;
    height: $icon-size-medium;
    }

  /* Small devices */
  @include for-phone-only {
    font-size: $icon-size-small;
    width: $icon-size-small;
    height: $icon-size-small;
  }

  &:hover {
    color: $buic-foreground-primary;
  }
}
