.jfModal {
  background-color: rgba(8, 9, 11, 0.6);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2147483647 !important;
  animation: fadeIn 0.15s;
  padding: 16px;
  * {
    box-sizing: border-box;
  }
  &--title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 24px 24px 0;
    @media (min-width: 480px) {
      padding: 32px 32px 0;
    }
    &-row {
      flex-direction: row;
      justify-content: flex-start;
      gap: 16px;
      .jfModal--title-icon {
        margin-bottom: 0;
      }
      .jfModal--title-content {
        h2,
        h3,
        p {
          text-align: start;
        }
        p {
          margin: 0;
        }
      }
    }
    &-bordered {
      border-bottom: 1px solid var(--jfv-navy-50);
      padding: 16px 24px;
      @media (min-width: 480px) {
        padding: 24px 32px;
      }
    }
    &-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 64px;
      height: 64px;
      border-radius: 8px;
      margin-bottom: 16px;
      svg {
        width: 32px;
        height: 32px;
      }
      &-error {
        background-color: rgba(254, 202, 202, 0.5);
        color: var(--jfv-red-500);
      }
      &-success {
        background-color: rgba(203, 251, 123, 0.5);
        color: var(--jfv-green-500);
      }
      &-warning {
        background-color: rgba(255, 220, 123, 0.5);
        color: var(--jfv-yellow-500);
      }
      &-informative {
        background-color: rgba(119, 207, 255, 0.5);
        color: var(--jfv-blue-500);
      }
      @media (min-width: 480px) {
        width: 80px;
        height: 80px;
        svg {
          width: 40px;
          height: 40px;
        }
      }
      &-small {
        width: 32px;
        height: 32px;
        svg {
          width: 20px;
          height: 20px;
        }
        @media (min-width: 480px) {
          width: 40px;
          height: 40px;
          border-radius: 4px;
          svg {
            width: 24px;
            height: 24px;
          }
        }
      }
    }
    h2,
    h3 {
      color: var(--jfv-navy-700);
      text-align: center;
      font-weight: 500;
      font-size: 16px;
      line-height: 20px;
      margin: 0;
    }
    p {
      color: var(--jfv-navy-300);
      text-align: center;
      font-size: 14px;
      line-height: 20px;
      margin-top: 8px;
      margin-bottom: 0;
    }
    @media (min-width: 480px) {
      h2,
      h3 {
        font-size: 18px;
        line-height: 24px;
      }
    }
    &-info {
      display: flex;
      align-items: flex-start;
      justify-content: center;
      gap: 8px;
      width: fit-content;
      padding: 8px;
      border-radius: 4px;
      background-color: var(--jfv-navy-25);
      color: var(--jfv-navy-300);
      margin: 16px auto 0;
      p {
        text-align: left;
        margin: 0;
        font-size: 12px;
        line-height: 16px;
        @media (min-width: 480px) {
          & {
            font-size: 14px;
            line-height: 20px;
          }
        }
        strong {
          color: var(--jfv-navy-500);
        }
      }
      &-icon {
        width: 16px;
        height: 16px;
        flex-shrink: 0;
        margin: 2px 0;
        @media screen and (max-width: 480px) {
          width: 14px;
          height: 14px;
        }
      }
    }
  }
  &--close {
    position: absolute;
    top: 16px;
    right: 16px;
    @media (max-width: 480px) {
      .jfButton {
        height: 32px;
        padding: 0 6px;
      }
    }
  }
  &--container {
    background-color: var(--jfv-white);
    width: 100%;
    border-radius: 8px;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 0;
    &-small {
      max-width: 480px;
    }
    &-medium {
      max-width: 640px;
    }
    &-large {
      max-width: 800px;
    }
  }
  &--actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap-reverse;
    gap: 16px;
    width: 100%;
    padding: 32px;
    flex-direction: row;
    @media (max-width: 480px) {
      gap: 12px;
      padding: 24px;
    }
    &-end {
      justify-content: flex-end;
    }
  }
  &--header {
    display: flex;
    flex-direction: column;
    text-align: left;
    padding: 24px 32px;
    border-bottom: 1px solid var(--jfv-navy-50);
    &-title {
      padding-inline-end: 32px;
      h2,
      h3 {
        color: var(--jfv-navy-700);
        font-weight: 500;
        font-size: 20px;
        line-height: 28px;
        margin: 0;
      }
      p {
        color: var(--jfv-navy-300);
        font-size: 14px;
        line-height: 20px;
        margin: 0;
      }
      @media (max-width: 480px) {
        h2,
        h3 {
          font-size: 16px;
          line-height: 20px;
        }
        p {
          font-size: 12px;
          line-height: 16px;
        }
      }
    }
  }
  &--body {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 32px;
    border-bottom: 1px solid var(--jfv-navy-50);
    overflow-y: scroll;
    &-img {
      width: 100%;
      height: auto;
    }
    &-list {
      margin: 0;
      list-style: unset;
      color: #252f58;
      font-size: 14px;
      line-height: 24px;
      letter-spacing: -0.28px;
      padding-inline-start: 24px;
      li {
        margin: 0;
        span {
          font-weight: 600;
        }
      }
    }
    &-content {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
      font-size: 14px;
      line-height: 24px;
      color: #252f58;
      letter-spacing: -0.28px;
      @media screen and (max-width: 640px) {
        gap: 8px;
      }
      p {
        font-size: inherit;
        line-height: inherit;
        margin: 0;
      }
    }
  }
  &--footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding: 16px 32px;
  }
  &--whats-new {
    .jfModal--close {
      top: 28px;
      right: 28px;
      @media (max-width: 480px) {
        width: 24px;
        height: 24px;
      }
    }
  }
  &--image-upload {
    .jfModal--close {
      top: 24px;
      right: 24px;
    }
    &-cropper {
      width: 100%;
    }
    &-adjust {
      display: flex;
      align-items: center;
      gap: 12px;
      @media screen and (max-width: 480px) {
        flex-direction: column;
        justify-content: center;
      }
      &-text {
        flex-grow: 1;
        font-size: 16px;
        color: var(--jfv-navy-500);
        font-weight: 500;
      }
      &-buttons {
        flex-grow: 0;
        display: flex;
        align-items: center;
        gap: 12px;
        @media screen and (max-width: 768px) {
          flex-direction: column;
          justify-content: center;
        }
        &-option {
          display: flex;
          align-items: center;
          gap: 12px;
          &-inner {
            display: flex;
            align-items: center;
            gap: 8px;
          }
        }
      }
    }
    .jfModal--actions {
      padding: 16px 32px;
    }
  }
}
