/**
 * overlay
 */

.overlay {
  .toggle-flex();
  position: fixed;
  z-index: @index-overlay;
  top: 0;
  left: 0;
  bottom: 0; // @FIX no height or it bugs collapse animation
  right: 0; // @FIX no width or it bugs collapse animation
  // scroll
  overflow: hidden;
}

.overlay-container {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: center;
  margin: auto; // @FIX http://stackoverflow.com/questions/33454533/cant-scroll-to-top-of-flex-item-that-is-overflowing-container
  width: 100%;
  min-height: 100vh;
}

.overlay-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  position: relative;
  z-index: @index-backdrop + 1;
  width: 100%;
  border-radius: inherit;
}

.overlay-design {
  .design-setup();
  border-radius: inherit;
}

// preset

.overlay-screen {
  .overlay-container {
    position: relative;
    z-index: @index-overlay;
    max-width: none !important;
    .padding(all, none) !important;
    .overlay-inner {
      position: static;
    }
  }
  .overlay-inner {
    .flex-auto();
    display: flex;
    flex-direction: column;
    max-width: none !important;
  }
  .card-overlay .card-inner {
    align-items: center;
  }
}

[class^='overlay-position-'], [class*=' overlay-position-'] {
  .overlay-container {
    position: relative;
    z-index: @index-overlay;
    .padding(all, none) !important;
    .overlay-inner {
      position: static;
    }
  }
  .overlay-inner {
    .flex-auto();
    display: flex;
    flex-direction: column;
  }
}

.overlay-position-left {
  .overlay-container {
    margin-left: 0;
    margin-right: auto;
  }
}

.overlay-position-right {
  .overlay-container {
    margin-left: auto;
    margin-right: 0;
  }
}

// special

.overlay-close-fixed {
  .btn-close {
    position: fixed !important;
    z-index: @index-btn-close;
    line-height: 1;
  }
}

.overlay-disable {
  .xt-disable();
  display: flex !important;
  overflow: initial !important;
  html.xt-scrollbar & {
    overflow: initial !important;
  }
  position: static;
  z-index: initial;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
  width: auto;
  height: auto;
  .overlay-container {
    z-index: initial;
    padding: 0;
    width: 100%;
    min-height: auto;
    .overlay-inner {
      z-index: initial;
      .overlay-design {
        display: none;
      }
      .card-overlay {
        .card-disable();
      }
      .btn-close {
        display: none !important;
      }
    }
    .overlay-inner, .card-overlay .card-content {
      max-width: none;
    }
  }
  > .backdrop {
    display: none !important;
  }
}
