.footer-15 {
  position: fixed;
  right: var(--footer-15--icon--margin-right);
  bottom: var(--footer-15--icon--margin-bottom);
}
.footer-15 .footer-15-icon {
  display: block;
  aspect-ratio: 1;
  width: var(--footer-15--icon--width);
  padding: var(--footer-15--icon--padding);
  color: var(--footer-15--icon--color);
  background-color: var(--footer-15--icon--background-color);
  box-shadow: var(--footer-15--icon--box-shadow);
  border-radius: var(--footer-15--icon--border-radius);
}
.footer-15 .footer-15-icon:hover {
  color: var(--footer-15--icon--color-hover);
  background-color: var(--footer-15--icon--background-color-hover);
}
.footer-15 .footer-15-icon svg {
  width: 100%;
  height: 100%;
}
.footer-15 .footer-15-iframe {
  position: absolute;
  right: 0;
  bottom: 100%;
  border-radius: var(--footer-15--iframe--border-radius);
  box-shadow: var(--footer-15--iframe--box-shadow);
  width: var(--footer-15--iframe--width);
  height: var(--footer-15--iframe--height);
  max-width: calc(100vw - var(--footer-15--icon--margin-right) - var(--footer-15--icon--margin-right));
  max-height: calc(100vh - var(--footer-15--icon--margin-right) - var(--footer-15--icon--margin-right) - var(--footer-15--icon--width) - var(--theme--spacing--element--margin));
}
.footer-15 .footer-15-iframe div {
  border-radius: var(--footer-15--iframe--border-radius);
  height: 100%;
  width: 100%;
}
.footer-15 .footer-15-iframe iframe {
  border-radius: var(--footer-15--iframe--border-radius);
  width: 100%;
  height: 100%;
}
fw-sandbox.in-iframe .footer-15 {
  bottom: 0;
  right: 0;
}