:root {
  --visage-modal-dialog-z-index: 10000;
  --visage-modal-dialog-top: 50vh;
  --visage-modal-dialog-min-width: 250px;
  --visage-modal-dialog-width: fit-content;
  --visage-modal-dialog-max-width: 600px;
  --visage-modal-dialog-min-height: 50px;
  --visage-modal-dialog-height: fit-content;
  --visage-modal-dialog-max-height: 80%;
  --visage-modal-dialog-padding: 48px;
  --visage-modal-dialog-background: white;
  --visage-modal-dialog-transform: translateY(-30%);
  --visage-modal-dialog-visible-transform: translateY(-50%);
  --visage-modal-dialog-transition-duration: .15s;
  --visage-modal-dialog-close-top: 16px;
  --visage-modal-dialog-buttons-textbutton-horizontal-margin: 12px;
  --visage-modal-dialog-padding-panel-menu: 16px;
  --visage-modal-dialog-footer-gutter-panel-pinned: 8px
}
@media only screen and (max-width: 767px) {
  :root {
    --visage-modal-dialog-top: 0;
    --visage-modal-dialog-width: 100%;
    --visage-modal-dialog-max-width: 100%;
    --visage-modal-dialog-min-height: 100%;
    --visage-modal-dialog-height: 100%;
    --visage-modal-dialog-max-height: 100%;
    --visage-modal-dialog-padding: 24px;
    --visage-modal-dialog-transform: translateY(80%);
    --visage-modal-dialog-visible-transform: translateY(0%)
  }
}
.stylized-dialog {
  box-sizing: border-box;
  position: fixed;
  z-index: var(--visage-modal-dialog-z-index);
  top: var(--visage-modal-dialog-top);
  left: 0;
  right: 0;
  display: block;
  min-width: var(--visage-modal-dialog-min-width);
  width: var(--visage-modal-dialog-width);
  max-width: var(--visage-modal-dialog-max-width);
  min-height: var(--visage-modal-dialog-min-height);
  height: var(--visage-modal-dialog-height);
  max-height: var(--visage-modal-dialog-max-height);
  margin: var(--visage-modal-dialog-margin, auto auto 12px auto);
  padding: var(--visage-modal-dialog-padding);
  font-size: var(--visage-modal-dialog-font-size, var(--visage-text-size-5));
  line-height: var(--visage-modal-dialog-line-height, var(--visage-text-size-5-line-height));
  color: var(--visage-modal-dialog-font-color, var(--visage-font-base-color));
  background: var(--visage-modal-dialog-background);
  border-width: var(--visage-modal-dialog-border-width, 1px);
  border-color: var(--visage-modal-dialog-border-color, var(--visage-color-border));
  border-radius: var(--visage-modal-dialog-border-radius, 0);
  box-shadow: var(--visage-modal-dialog-box-shadow, var(--visage-depth-2-box-shadow));
  overflow: auto;
  opacity: 0;
  transform: var(--visage-modal-dialog-transform);
  transition: transform var(--visage-modal-dialog-transition-duration),opacity var(--visage-modal-dialog-transition-duration);
  -webkit-overflow-scrolling: touch
}
@media only screen and (max-width: 767px) {
  .stylized-dialog {
    -webkit-overflow-scrolling: auto
  }
}
.stylized-dialog:not([open]) {
  display: none
}
.stylized-dialog.stylized-dialog-visible {
  opacity: 1;
  transform: var(--visage-modal-dialog-visible-transform);
  transition: transform var(--visage-modal-dialog-transition-duration),opacity var(--visage-modal-dialog-transition-duration)
}
.stylized-dialog-iframe {
  background-color: transparent;
  border: none
}
._dialog_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0
}
.stylized-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.25)
}
.stylized-dialog + .backdrop,
.stylized-dialog-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--visage-modal-dialog-backdrop-color, rgba(0, 0, 0, 0.25))
}
.stylized-dialog-backdrop {
  z-index: var(--visage-modal-dialog-z-index)
}
.stylized-dialog-close-button {
  display: block;
  position: absolute;
  top: var(--visage-modal-dialog-close-top);
  right: var(--visage-modal-dialog-close-right, var(--visage-modal-dialog-close-top));
  left: var(--visage-modal-dialog-close-left, auto);
  z-index: 2;
  padding: var(--visage-modal-dialog-close-padding, 0);
  margin: 0;
  height: var(--visage-modal-dialog-close-height, 20px);
  width: var(--visage-modal-dialog-close-width, 20px);
  font-size: 1px;
  color: transparent;
  text-align: center;
  background: var(--visage-modal-dialog-close-background, rgba(255, 255, 255, 0.5));
  border-width: var(--visage-modal-dialog-close-border-width, 0);
  border-style: solid;
  border-color: var(--visage-modal-dialog-close-border-color, var(--visage-color-border));
  border-radius: var(--visage-modal-dialog-close-border-radius, 50%);
  cursor: pointer;
  overflow: hidden
}
.stylized-dialog-close-button:before {
  content: " ";
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
  background-size: auto auto;
  background-position: center;
  background-repeat: no-repeat;
  filter: var(--visage-icon-filter-dark-grey);
  display: inline-block;
  background-image: var(--visage-modal-dialog-close-icon-url, var(--visage-icon-url-close));
  filter: var(--visage-modal-dialog-close-icon-filter, var(--visage-icon-filter-default))
}
.stylized-dialog-close-button:active:before,
.stylized-dialog-close-button:hover:before {
  filter: var(--visage-modal-dialog-close-icon-filter-hover, var(--visage-icon-filter-black))
}
.stylized-dialog-back-button {
  display: inline-block;
  position: relative;
  padding: var(--visage-modal-dialog-back-padding, 0 0 0 24px);
  margin: var(--visage-modal-dialog-back-margin, 0 0 24px 0);
  font-size: var(--visage-modal-dialog-back-font-size, var(--visage-text-size-5));
  line-height: var(--visage-modal-dialog-back-line-height, var(--visage-text-size-5-line-height));
  font-weight: var(--visage-modal-dialog-back-font-weight, bold);
  color: var(--visage-modal-dialog-back-font-color, var(--visage-font-base-color));
  background: none;
  border: none;
  cursor: pointer
}
.stylized-dialog-back-button:hover {
  text-decoration: underline
}
.stylized-dialog-back-button:focus {
  outline: 1px solid #000
}
.stylized-dialog-back-button:before {
  content: " ";
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
  background-size: auto auto;
  background-position: center;
  background-repeat: no-repeat;
  filter: var(--visage-icon-filter-dark-grey);
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  filter: var(--visage-modal-dialog-back-icon-filter, var(--visage-icon-filter-default));
  background-image: var(--visage-modal-dialog-back-icon-url, var(--visage-icon-url-chevron-l))
}
.stylized-dialog .stylized-dialog-header {
  margin: var(--visage-modal-dialog-header-margin, 0 0 12px 0);
  padding: var(--visage-modal-dialog-header-padding, 0 0 12px 0);
  max-width: var(--visage-modal-dialog-header-max-width, calc(100% - 28px + 8px));
  font-size: var(--visage-modal-dialog-header-font-size, var(--visage-text-size-3));
  line-height: var(--visage-modal-dialog-header-line-height, var(--visage-text-size-3-line-height));
  font-weight: var(--visage-modal-dialog-header-font-weight, bold);
  text-align: var(--visage-modal-dialog-header-text-align, left)
}
.stylized-dialog .stylized-dialog-header .stylized-dialog-title {
  margin: 0;
  padding: 0;
  font-size: var(--visage-modal-dialog-header-font-size, var(--visage-text-size-3));
  line-height: var(--visage-modal-dialog-header-line-height, var(--visage-text-size-3-line-height));
  font-weight: var(--visage-modal-dialog-header-font-weight, 900)
}
.stylized-dialog-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: var(--visage-modal-dialog-buttons-margin, 12px calc(var(--visage-modal-dialog-buttons-textbutton-horizontal-margin) * -1) 0 calc(var(--visage-modal-dialog-buttons-textbutton-horizontal-margin) * -1));
  padding-top: var(--visage-modal-dialog-buttons-padding, 12px 0 0 0)
}
.stylized-dialog-buttons .textbutton {
  flex-grow: 1;
  margin: var(--visage-modal-dialog-buttons-textbutton-margin, 0 var(--visage-modal-dialog-buttons-textbutton-horizontal-margin) 4px var(--visage-modal-dialog-buttons-textbutton-horizontal-margin))
}
.stylized-dialog-buttons .textbutton:only-child {
  flex-grow: 0
}
.stylized-dialog-preloader {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100%;
  z-index: 10001
}
.stylized-dialog-preloader .preloader-graphic {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}
.stylized-dialog.stylized-dialog-scrollable {
  position: fixed;
  max-height: var(--visage-modal-dialog-max-height);
  -webkit-overflow-scrolling: touch
}
.stylized-dialog.stylized-dialog-scrollable .stylized-dialog-buttons {
  margin-bottom: 8px
}
.stylized-dialog.stylized-dialog-takeover {
  --visage-modal-dialog-top: 0;
  --visage-modal-dialog-width: 100%;
  --visage-modal-dialog-max-width: 100%;
  --visage-modal-dialog-min-height: 100%;
  --visage-modal-dialog-height: 100%;
  --visage-modal-dialog-max-height: 100%;
  --visage-modal-dialog-transform: translateY(80%);
  --visage-modal-dialog-visible-transform: translateY(0%)
}
.stylized-dialog.stylized-dialog-takeover::backdrop {
  background-color: transparent
}
.stylized-dialog-backdrop.stylized-dialog-takeover-backdrop,
.stylized-dialog.stylized-dialog-takeover + .backdrop {
  background-color: transparent
}
.stylized-dialog-takeover.stylized-dialog-takeover-translucent {
  background-color: rgba(228, 243, 247, 0.98)
}
.stylized-dialog-takeover.stylized-dialog-takeover-translucent .stylized-dialog-buttons {
  background: none
}
.stylized-dialog-body-constrain {
  position: fixed;
  max-height: 100%;
  overflow: hidden
}
.stylized-dialog-scrollbar-measure {
  position: absolute;
  top: -200vh;
  width: 100px;
  height: 100px;
  overflow: scroll
}
.stylized-dialog.stylized-dialog-skin-full-bleed {
  padding: 0;
  overflow: hidden
}
.stylized-dialog.stylized-dialog-skin-full-bleed .stylized-dialog-header {
  margin-top: 20px
}
.stylized-dialog.stylized-dialog-skin-full-bleed .stylized-dialog-iframe {
  width: 100%
}
.stylized-dialog.stylized-dialog-panel {
  position: fixed;
  top: 0;
  left: auto;
  right: 0;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: var(--visage-modal-dialog-padding-panel, var(--visage-modal-dialog-padding));
  padding-bottom: 0;
  box-shadow: var(--visage-modal-dialog-box-shadow, var(--visage-depth-2-box-shadow));
  overflow: auto;
  opacity: 1;
  transform: translateX(100%)
}
.stylized-dialog.stylized-dialog-panel.stylized-dialog-visible {
  transform: translateX(0)
}
.stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-top {
  margin: calc(0px - var(--visage-modal-dialog-padding));
  margin-bottom: 20px
}
.stylized-dialog.stylized-dialog-panel .stylized-dialog-header {
  position: static;
  top: 0;
  margin: 0;
  padding: 0;
  text-align: left;
  border: none
}
.stylized-dialog.stylized-dialog-panel .stylized-dialog-header h2 {
  font-size: var(--visage-modal-dialog-header-font-size-panel, var(--visage-text-size-2))
}
.stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-bottom,
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-footer {
  position: -webkit-sticky;
  position: sticky;
  z-index: 9999;
  bottom: 0;
  width: auto;
  margin: var(--visage-modal-dialog-footer-margin-panel-pinned, 24px -16px 0 -16px);
  padding: var(--visage-modal-dialog-footer-padding-panel-pinned, 16px calc(var(--visage-modal-dialog-padding) - var(--visage-modal-dialog-footer-gutter-panel-pinned)));
  background: var(--visage-modal-dialog-footer-background-panel-pinned, var(--visage-modal-dialog-background));
  border-width: var(--visage-modal-dialog-footer-border-width-panel-pinned, 1px 0 0 0);
  border-style: solid;
  border-color: var(--visage-modal-dialog-footer-border-width-panel-pinned, #e6e6e6)
}
.stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-bottom > *,
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-footer > * {
  margin-left: var(--visage-modal-dialog-footer-gutter-panel-pinned);
  margin-right: var(--visage-modal-dialog-footer-gutter-panel-pinned)
}
.stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-bottom .stylized-dialog-buttons,
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-footer .stylized-dialog-buttons {
  width: 100%;
  margin-top: 0;
  border-top: none
}
@media only screen and (max-width: 767px) {
  .stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-bottom,
  .stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-footer {
    flex-direction: column
  }
  .stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-bottom > *,
  .stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-footer > * {
    margin: 0 0 var(--visage-modal-dialog-footer-gutter-panel-pinned) 0
  }
  .stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-bottom .textbutton-skin-primary,
  .stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-footer .textbutton-skin-primary {
    order: 9999
  }
}
.stylized-dialog.stylized-dialog-panel .stylized-dialog-panel-zone-bottom {
  display: flex;
  justify-content: flex-start
}
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-left {
  left: 0;
  right: auto;
  transform: translateX(-100%)
}
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-left.stylized-dialog-visible {
  transform: translateX(0)
}
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-bottom {
  top: auto;
  left: 50%;
  right: 0;
  bottom: 0;
  height: auto;
  min-height: 0;
  width: 100%;
  min-width: 100%;
  transform: translateX(-50%) translateY(100%)
}
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-bottom.stylized-dialog-visible {
  transform: translateX(-50%) translateY(0)
}
.stylized-dialog.stylized-dialog-panel.stylized-dialog-panel-bottom.stylized-dialog-takeover {
  min-height: 100%
}
@media only screen and (max-width: 767px) {
  .stylized-dialog.stylized-dialog-panel:not(.stylized-dialog-panel-menu) {
    min-width: 100vw
  }
}
.stylized-dialog-panel.stylized-dialog-panel-pinned[open] {
  display: flex;
  flex-direction: column;
  justify-content: space-between
}
.stylized-dialog-panel.stylized-dialog-panel-pinned > :nth-last-child(2):not(.stylized-dialog-footer):not(.stylized-dialog-panel-zone-bottom) {
  flex: 9999
}
.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-footer {
  display: block
}
.stylized-dialog-panel.stylized-dialog-panel-pinned .stylized-dialog-panel-zone-bottom {
  display: block;
  margin-bottom: 0
}
@media only screen and (max-width: 767px) {
  .stylized-dialog.stylized-dialog-panel:not(.stylized-dialog-panel-menu) {
    min-width: 100vw
  }
}
html.firefox .stylized-dialog-panel.stylized-dialog-panel-pinned[open] {
  display: block
}
.stylized-dialog.stylized-dialog-panel-menu {
  max-width: var(--visage-modal-dialog-max-width-panel-menu, calc(100vw - 24px));
  padding: var(--visage-modal-dialog-padding-panel-menu)
}
.stylized-dialog.stylized-dialog-panel-menu .stylized-dialog-header {
  margin-top: 0;
  margin-right: 28px
}
.stylized-dialog.stylized-dialog-panel-menu .stylized-dialog-close-button {
  position: absolute;
  z-index: 3
}
.stylized-dialog.stylized-dialog-panel-menu .stylized-dialog-buttons {
  justify-content: space-between;
  position: static;
  margin: var(--visage-modal-dialog-buttons-margin-panel-menu, 0 calc(0 - var(--visage-modal-dialog-padding-panel-menu)) calc(0 - var(--visage-modal-dialog-padding-panel-menu)) calc(0 - var(--visage-modal-dialog-padding-panel-menu)));
  padding: var(--visage-modal-dialog-buttons-margin-panel-menu, 16px var(--visage-modal-dialog-padding-panel-menu));
  border-top: none
}
.stylized-dialog.stylized-dialog-panel-menu.stylized-dialog-panel-pinned .stylized-dialog-footer {
  background: var(--visage-color-light-grey);
  margin-bottom: calc(var(--visage-modal-dialog-footer-gutter-panel-pinned) - var(--visage-modal-dialog-padding))
}
.stylized-dialog.stylized-dialog-panel-menu.stylized-dialog-panel-pinned .stylized-dialog-buttons,
.stylized-dialog.stylized-dialog-panel-menu.stylized-dialog-panel-pinned .stylized-dialog-footer {
  position: -webkit-sticky;
  position: sticky;
  z-index: 9999;
  min-height: var(--visage-modal-dialog-footer-min-height-panel-menu-pinned, calc(calc(2 * var(--visage-modal-dialog-padding-panel-menu)) + var(--visage-button-min-height)));
  bottom: var(--visage-modal-dialog-footer-bottom-panel-menu-pinned, calc(0 - var(--visage-modal-dialog-padding-panel-menu)))
}
.stylized-dialog.stylized-dialog-panel-menu.stylized-dialog-panel-pinned .stylized-dialog-footer .stylized-dialog-buttons {
  min-height: 0
}