.fusion-flip-boxes {
  margin-bottom: 25px;

  .fusion-column {
    box-sizing: border-box;
  }

  .fusion-flip-box {
    position: relative;
    z-index: 1;
    padding: 0;
    margin: 0;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);

    .flip-box-inner-wrapper {
      position: relative;
      margin-bottom: 15px;
      perspective: 1000px;
    }

    .flip-box-back,
    .flip-box-front {
        display: flex;
        align-items: center;
        top: 0;
        right: 0;
        left: 0;
      perspective: 1000px;
      padding: 27px 20px;
      text-align: center;
      backface-visibility: hidden;
      background-clip: padding-box;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }

    .flip-box-front {
        position: relative;
        bottom: 0;
      z-index: 10;
    }

    .flip-box-back {
        position: absolute;
      z-index: -1;

      .fusion-button {
        display: table;
        margin: 20px auto 0;
      }
    }

    .flip-box-front-inner,
    .flip-box-back-inner {
        width: 100%;
    }

    &.hover,
    &:hover {
      .flip-box-back {
        z-index: 1;
      }

      .flip-box-front {
        z-index: -1;
      }
    }

    .flip-box-grafix {
      display: table;
      margin: 0 auto 10px;
    }

    .flip-box-image {
      table-layout: fixed;
      width: 100%;
    }

    .flip-box-circle {
      height: 64px;
      width: 64px;
      border: 1px solid;
      border-radius: 50%;
      background-clip: padding-box;

      i {
        display: table-cell;
        vertical-align: middle;
        font-size: 24px;
      }
    }

    .flip-box-no-circle {
      i {
        font-size: 60px;
      }
    }

    .flip-box-heading {
      margin-top: 0;
      margin-bottom: 9px;
      padding-top: 0;

      &.without-text {
        margin-bottom: 0;
      }
    }

    .flip-box-heading-back {
      margin-bottom: 9px;
      margin-top: 0;
      text-transform: uppercase;
    }

    .finished-animating {
      transition: none !important;
      animation: none !important;
    }

    &.flip-right {
        .flip-box-front {
          transform: rotateY(0deg);
        }

        .flip-box-back {
          transform: rotateY(-180deg);
        }

        &:hover,
        &.hover {
          .flip-box-back {
            transform: rotateY(0deg);
          }

          .flip-box-front {
            transform: rotateY(180deg);
          }
        }
    }

    &.flip-left {
        .flip-box-front {
          transform: rotateY(0deg);
        }

        .flip-box-back {
          transform: rotateY(180deg);
        }

        &:hover,
        &.hover {
          .flip-box-back {
            transform: rotateY(0deg);
          }

          .flip-box-front {
            transform: rotateY(-180deg);
          }
        }
    }

    &.flip-up {
        .flip-box-front {
          transform: rotateX(0deg);
        }

        .flip-box-back {
          transform: rotateX(-180deg);
        }

        &:hover,
        &.hover {
          .flip-box-back {
            transform: rotateX(0deg);
          }

          .flip-box-front {
            transform: rotateX(180deg);
          }
        }
    }

    &.flip-down {
        .flip-box-front {
          transform: rotateX(0deg);
        }

        .flip-box-back {
          transform: rotateX(180deg);
        }

        &:hover,
        &.hover {
          .flip-box-back {
            transform: rotateX(0deg);
          }

          .flip-box-front {
            transform: rotateX(-180deg);
          }
        }
    }
  }

  &.flip-effect-classic {
      .flip-box-back,
      .flip-box-front {
        transition: transform 0.4s cubic-bezier(0.2,0.85,0.4,1.275);
      }

      .fusion-flip-box:hover,
      .fusion-flip-box.hover {
          .flip-box-grafix {
            i {
              &:before {
                display: none;
              }
            }
          }
      }
  }

  &.flip-effect-3d {
      .flip-box-inner-wrapper {
          transform-style: preserve-3d;
      }

      .flip-box-back,
      .flip-box-front {
        transform-style: preserve-3d;
        transition: transform 0.75s ease-in-out;
      }

      .flip-box-front-inner,
      .flip-box-back-inner {
          transform: translateZ(50px) scale(0.90);
      }
  }
}
// Fix for #5209.

.ua-edge {
  .fusion-flip-boxes {
    .fusion-flip-box.hover,
    .fusion-flip-box:hover {
      .flip-box-back {
        transform: rotateY(0deg);
        z-index: 1;
      }

      .flip-box-front {
        transform: rotateY(180deg);
        z-index: -1;
      }
    }
  }
}
