.o-dialog {
  position: fixed;
  z-index: 1050;
  bottom: 0;
  left: 0;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  width: 100%;
  max-height: calc(var(--viewport-height) - var(--toolbar-height) - 5rem);
  transition-timing-function: var(--transition-timing-function-cubic-bezier);
  transition-duration: var(--transition-duration-0-5);
  transition-property: transform;
  transform: translateY(100%);
  pointer-events: none;
  border-radius: 1.25rem 1.25rem 0 0;
  background-color: var(--color-greyscale-7);
  will-change: transform;
}

  @media all and (min-width: 1025px) {.o-dialog {
    top: 50%;
    bottom: auto;
    left: 50%;
    visibility: hidden;
    width: 52.5rem;
    max-height: calc(var(--viewport-height) - var(--toolbar-height) - 2.5rem);
    transition-property: opacity, visibility, transform;
    transform: translate(-50%, -50%) scale(0.96, 0.96);
    opacity: 0;
    border-radius: 1.875rem
}
  }

  .o-dialog--large {
    width: 80%;
  }

  @media all and (min-width: 769px) {

  .o-dialog--medium {
      width: 64rem
  }

      .o-dialog--medium .o-dialog__content {
        padding: 0;
      }
    }

  @media all and (min-width: 769px) {

  .o-dialog--canvas {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: initial;
      overflow-y: auto;
      width: 50rem;
      height: 100vh;
      max-height: 100%;
      transform: none;
      border-radius: 0
  }

      .o-dialog--canvas.o-dialog--visible {
        transform: none;
      }

        .o-dialog--canvas.o-dialog--visible ~ .o-dialog-overlay {
          opacity: 0.9;
        }
    }

  .o-dialog--canvas form {
      padding-bottom: 6.25rem;
    }

  .o-dialog--canvas form .form-actions {
        position: fixed;
        z-index: 100;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 6.25rem;
        padding: 0.9375rem;
        text-align: center;
        border-top: 0.0625rem solid #ddd;
        background: white;
        background-color: white;
        box-shadow: 0 -0.125rem 0.3125rem rgb(0 0 0 / 0.1);
      }

  .o-dialog--visible {
    transform: translateY(0);
    pointer-events: auto;
  }

  @media all and (min-width: 1025px) {

  .o-dialog--visible {
      visibility: visible;
      transform: translate(-50%, -50%) scale(1, 1);
      opacity: 1
  }
    }

  .o-dialog__header {
    position: relative;
    padding: 1.25rem 3.375rem 1.25rem 1.25rem;
    border-bottom: 0.0625rem solid var(--color-main-4);
  }

  @media all and (min-width: 1025px) {

  .o-dialog__header {
      padding: 1.875rem 4rem 1.875rem 1.875rem
  }
    }

  .o-dialog__close-button {
    --outline-offset: calc(var(--outline-size) * -1);

    position: absolute;
    z-index: 10;
    top: 50%;
    right: 0.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    cursor: pointer;
    transform: translateY(-50%);
    color: inherit;
    border: 0;
    border-radius: var(--border-radius-8);
    background-color: transparent;
    box-shadow: none;
    appearance: none;
  }

  @media all and (min-width: 1025px) {

  .o-dialog__close-button {
      right: 2rem
  }
    }

  @media (hover: hover) {

  .o-dialog__close-button:hover {
        color: var(--color-main-1)
    }
      }

  .o-dialog__close-button svg {
      width: 0.875rem;
      height: 0.875rem;
      fill: currentColor;
    }

  .o-dialog__content {
    overflow: auto;
    padding: 0;
    -webkit-overflow-scrolling: touch;
  }

  @media all and (min-width: 769px) {

  .o-dialog__content {
      padding: 0.9375rem
  }
    }

  @media all and (min-width: 1025px) {

  .o-dialog__content {
      padding: 1.875rem
  }
    }

  .o-dialog__actions {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
  }

  @media all and (min-width: 481px) {

  .o-dialog__actions {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: flex-end
  }
    }

.o-dialog-overlay {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  transition-timing-function: var(--transition-timing-function-cubic-bezier);
  transition-duration: var(--transition-duration-0-5);
  transition-property: opacity, visibility;
  opacity: 0;
  background-color: var(--color-greyscale-2);
}

.o-dialog--visible ~ .o-dialog-overlay {
    visibility: visible;
    opacity: 1;
  }

.o-dialog-logo {
  position: absolute;
  z-index: 1000;
  bottom: 0;
  left: 0;
  width: 25%;
}
