// Modals
.modal {
  align-items: center;
  bottom: 0;
  display: none;
  justify-content: center;
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: $layout-spacing;
  position: fixed;
  right: 0;
  top: 0;

  &:target,
  &.active {
    display: flex;
    opacity: 1;
    z-index: $zindex-max;

    .modal-overlay {
      background: rgba($bg-color-dark, .5);
      bottom: 0;
      cursor: default;
      display: block;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
    }

    .modal-container {
      animation: slide-up .2s ease .8;
      z-index: $zindex-0;
    }
  }

  &.modal-nested-scroll {
    flex-direction: column;
    .modal-body {
      overflow-y: hidden;
    }
  }

  &.modal-padding-disable {

    .modal-container {
      height: auto;
      position: relative;

      .modal-body {
        height: 100%;
        padding: 0;
      }

    }
  }

  &.modal-sm {
    .modal-container {
      max-width: $control-width-sm;
    }
  }

  &.modal-lg {

    .modal-overlay {
      background: $bg-1-color;
    }

    .modal-container {
      box-shadow: none;
      max-width: $control-width-lg;
    }
  }

  // Utilites
  &.modal-footer-disable {
    .modal-footer {
      padding: 0;
    }
  }
}

.modal-container {

  @include shadow-variant(.2rem);
  position: relative;

  background: $bg-1-color;
  border-radius: $border-radius;
  display: flex;
  flex-direction: column;
  max-height: 75vh;
  // max-width: $control-width-md;
  max-width: 500px;
  width: 100%;

  .modal-header {
    position: relative;
    // padding: $control-padding;

    .modal-title {
      font-weight: 500;
      display: block; //  &:first-letter работает только в блочных элементах

      &:first-letter {
        text-transform: capitalize !important;
      }
    }
  }

  .modal-body {
    position: relative;
    overflow-y: auto;
    padding: $control-padding;
  }

  .modal-footer {
    position: relative;
    padding: $control-padding;
    text-align: right;
  }
}

@media (max-width: $size-sm) {
  .modal {
    padding: 0;
    align-items: flex-end;

    &.modal-lg {
     display: flex;
     align-items: center;

     &.modal-lg-h100 {
      .modal-container {
        max-height: 100% !important;
      }
     }
    }

    &.modal-nested-scroll {
      justify-content: flex-end; // костыль
    }

    .modal-container {
      border-radius: 0;
      max-width: 100% !important;
      width: 100%;
    }
  }
}
