.spectrum-Dialog {
  visibility: hidden;

  opacity: 0;

  transition: transform var(--spectrum-global-animation-duration-100, 130ms) ease-in-out,
              opacity var(--spectrum-global-animation-duration-100, 130ms) ease-in-out,
              visibility 0ms linear var(--spectrum-global-animation-duration-100, 130ms);

  pointer-events: none;
}

.spectrum-Dialog.is-open {
  visibility: visible;

  opacity: 1;

  transition-delay: 0ms;

  pointer-events: auto;
}

.spectrum-Dialog {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) translateY(var(--spectrum-dialog-entry-animation-distance, var(--spectrum-global-dimension-size-250)));
  z-index: 2;
  box-sizing: border-box;
  max-width: 90vw;
  max-height: 90vh;
  width: -webkit-fit-content;
  width: fit-content;
  min-width: var(--spectrum-dialog-min-width, var(--spectrum-global-dimension-static-size-3600));

  padding: var(--spectrum-dialog-padding);

  border-radius: var(--spectrum-dialog-border-radius, var(--spectrum-global-dimension-size-50));
  outline: none;
  transition: opacity var(--spectrum-dialog-exit-animation-duration, var(--spectrum-global-animation-duration-100)) var(--spectrum-global-animation-ease-in, cubic-bezier(.50, 0, 1, 1)) 0ms,
              visibility 0ms linear calc(0ms + var(--spectrum-dialog-exit-animation-duration, var(--spectrum-global-animation-duration-100))),
              transform 0ms linear calc(0ms + var(--spectrum-dialog-exit-animation-duration, var(--spectrum-global-animation-duration-100)));
}

.spectrum-Dialog.is-open {
    transition: transform var(--spectrum-dialog-entry-animation-duration, var(--spectrum-global-animation-duration-500)) var(--spectrum-global-animation-ease-out, cubic-bezier(0, 0, 0.40, 1)) var(--spectrum-dialog-entry-animation-delay, var(--spectrum-global-animation-duration-200)),
                opacity var(--spectrum-dialog-entry-animation-duration, var(--spectrum-global-animation-duration-500)) var(--spectrum-global-animation-ease-out, cubic-bezier(0, 0, 0.40, 1)) var(--spectrum-dialog-entry-animation-delay, var(--spectrum-global-animation-duration-200));

    transform: translate(-50%, calc(-50% + -2vh));
  }

.spectrum-Dialog .spectrum-Dialog-closeButton {
    display: none;
  }

.spectrum-Dialog--small {
  width: 400px;
}

.spectrum-Dialog--medium {
  width: 480px;
}

.spectrum-Dialog--large {
  width: 640px;
}

.spectrum-Dialog-hero {
  height: var(--spectrum-global-dimension-size-1600);

  margin-left: calc(-1 * var(--spectrum-dialog-padding));
  margin-right: calc(-1 * var(--spectrum-dialog-padding));
  margin-top: calc(-1 * var(--spectrum-dialog-padding));
  margin-bottom: var(--spectrum-dialog-padding);

  border-top-left-radius: var(--spectrum-dialog-border-radius, var(--spectrum-global-dimension-size-50));
  border-top-right-radius: var(--spectrum-dialog-border-radius, var(--spectrum-global-dimension-size-50));

  background-size: cover;
  background-position: center center;
}

.spectrum-Dialog-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;

  position: relative;
  box-sizing: border-box;
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;

  border-radius: var(--spectrum-dialog-border-radius, var(--spectrum-global-dimension-size-50)) var(--spectrum-dialog-border-radius, var(--spectrum-global-dimension-size-50)) 0 0;
  outline: none;

  padding-bottom: calc(var(--spectrum-dialog-rule-margin-top, var(--spectrum-global-dimension-static-size-150)) + var(--spectrum-dialog-rule-margin-bottom, var(--spectrum-global-dimension-static-size-200)) + var(--spectrum-dialog-rule-height, var(--spectrum-global-dimension-static-size-25)));
}

.spectrum-Dialog-header::after {
    position: absolute;
    bottom: var(--spectrum-dialog-rule-margin-bottom, var(--spectrum-global-dimension-static-size-200));
    left: 0;
    right: 0;
    content: '';

    height: var(--spectrum-dialog-rule-height, var(--spectrum-global-dimension-static-size-25));
  }

.spectrum-Dialog-wrapper {
  position: fixed;
  left: 0;
  top: 0;

  display: -ms-flexbox;

  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;

  box-sizing: border-box;
  width: 100%;
  height: 100%;

  visibility: hidden;
  pointer-events: none;
  z-index: 2;
  transition: visibility 0ms linear var(--spectrum-global-animation-duration-100, 130ms);
}

.spectrum-Dialog-wrapper.is-open {
    visibility: visible;
  }

.spectrum-Dialog-wrapper .spectrum-Dialog:not(.spectrum-Dialog--fullscreen):not(.spectrum-Dialog--fullscreenTakeover) {
    pointer-events: auto;

    position: relative;
    left: auto;
    top: auto;
    transform: translateY(var(--spectrum-dialog-entry-animation-distance, var(--spectrum-global-dimension-size-250)));
    margin-top: -2vh;
  }

.spectrum-Dialog-wrapper .spectrum-Dialog:not(.spectrum-Dialog--fullscreen):not(.spectrum-Dialog--fullscreenTakeover).is-open {
      transform: translateY(0);
    }

@media
only screen and (max-device-width: 400px), only screen and (max-device-height: 350px) {
  .spectrum-Dialog--responsive {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    border-radius: 0;
  }
    .spectrum-Dialog-wrapper .spectrum-Dialog--responsive {
      margin-top: 0;
    }
}

.spectrum-Dialog--noDivider .spectrum-Dialog-header::after {
      display: none;
    }

.spectrum-Dialog--dismissible .spectrum-Dialog-footer {
    display: none;
  }

.spectrum-Dialog--dismissible .spectrum-Dialog-closeButton {
    display: initial;
  }

.spectrum-Dialog-closeButton {
  position: absolute;
  top: calc(-1 * var(--spectrum-global-dimension-size-350));
  right: calc(-1 * var(--spectrum-global-dimension-size-350));
}

.spectrum-Dialog-typeIcon {
  display: block;
}

.spectrum-Dialog-content {
  display: block;
  box-sizing: border-box;

  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  -ms-flex: 1 1 auto;

      flex: 1 1 auto;

  outline: none;

  font-size: var(--spectrum-dialog-content-text-size);
  font-weight: var(--spectrum-dialog-content-text-font-weight, var(--spectrum-global-font-weight-regular));
  line-height: var(--spectrum-dialog-content-text-line-height, var(--spectrum-alias-body-text-line-height));
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .spectrum-Dialog-content {
    max-height: 70vh;
  }
}

.spectrum-Dialog-footer {
  border-radius: 0 0 var(--spectrum-dialog-border-radius, var(--spectrum-global-dimension-size-50)) var(--spectrum-dialog-border-radius, var(--spectrum-global-dimension-size-50));
  padding-top: calc(var(--spectrum-global-dimension-size-450) - var(--spectrum-global-dimension-size-200) / 2);

  -ms-flex: 0 1 auto;

      flex: 0 1 auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;

  display: -ms-flexbox;

  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;

  outline: none;

  margin: calc(-1 * var(--spectrum-global-dimension-size-200) / 2);
  margin-top: 0;
}

.spectrum-Dialog-footer > *,
  .spectrum-Dialog-footer > .spectrum-Button + .spectrum-Button {
    margin: calc(var(--spectrum-global-dimension-size-200) / 2);
  }

.spectrum-Dialog-title {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;

  margin: 0;

  font-size: var(--spectrum-dialog-title-text-size);
  font-weight: var(--spectrum-dialog-title-text-font-weight, var(--spectrum-global-font-weight-bold));
  line-height: var(--spectrum-dialog-title-text-line-height, var(--spectrum-alias-heading-text-line-height));

  outline: none;
}

.spectrum-Dialog--alert {
  width: 480px;
}

.spectrum-Dialog--fullscreen {
  left: 32px;
  top: 32px;
  right: 32px;
  bottom: 32px;

  transform: translate(0, var(--spectrum-dialog-entry-animation-distance, var(--spectrum-global-dimension-size-250)));
}

.spectrum-Dialog--fullscreen.is-open {
    transform: translate(0, 0);
  }

.spectrum-Dialog--fullscreen,
.spectrum-Dialog--fullscreenTakeover {
  width: auto;
  max-height: none;
  max-width: none;

  padding-top: calc(var(--spectrum-dialog-padding) - 10px);
}

.spectrum-Dialog--fullscreen .spectrum-Dialog-header, .spectrum-Dialog--fullscreenTakeover .spectrum-Dialog-header {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

.spectrum-Dialog--fullscreen .spectrum-Dialog-title, .spectrum-Dialog--fullscreenTakeover .spectrum-Dialog-title {
    font-size: 28px;
    font-weight: 100;
  }

.spectrum-Dialog--fullscreen .spectrum-Dialog-content, .spectrum-Dialog--fullscreenTakeover .spectrum-Dialog-content {
    max-height: none;
  }

.spectrum-Dialog--fullscreenTakeover {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;

  box-sizing: border-box;
  border: none;
  border-radius: 0;
}

.spectrum-Dialog--fullscreenTakeover,
  .spectrum-Dialog--fullscreenTakeover.is-open {
    transform: none;
  }

.spectrum-Dialog {
  background: var(--spectrum-dialog-background-color, var(--spectrum-alias-background-color-default));
}

.spectrum-Dialog-header {
  background: var(--spectrum-dialog-background-color, var(--spectrum-alias-background-color-default));
}

.spectrum-Dialog-header:after {
    background: var(--spectrum-dialog-rule-color, var(--spectrum-global-color-gray-300));
  }

.spectrum-Dialog-title {
  color: var(--spectrum-dialog-title-text-color, var(--spectrum-global-color-gray-900));
}

.spectrum-Dialog-content {
  color: var(--spectrum-dialog-content-text-color, var(--spectrum-global-color-gray-800));
}

.spectrum-Dialog-typeIcon {
  color: var(--spectrum-dialog-icon-color, var(--spectrum-global-color-gray-900));
}

.spectrum-Dialog-footer {
  background: var(--spectrum-dialog-background-color, var(--spectrum-alias-background-color-default));
}

.spectrum-Dialog--error .spectrum-Dialog-title {
    color: var(--spectrum-dialog-error-title-text-color, var(--spectrum-semantic-negative-color-text-small));
  }

.spectrum-Dialog--error .spectrum-Dialog-typeIcon {
    color: var(--spectrum-dialog-error-icon-color, var(--spectrum-semantic-negative-color-icon));
  }
