/**
 * @file
 *
 * .is-ultimenu-canvas-off: #header or .region-primary-menu, etc.
 * .is-ultimenu-canvas-on: any sibling of #header.
 *
 * Tips: Use Modernizer.js to have graceful fallback for old browsers.
 * Note the `transform` transitions, it is faster and smoother than `left` ones.
 */

/** The #header alike element, out of canvas by default, can exist once. */
.is-ultimenu-canvas--active .is-ultimenu-canvas-off {
  left: 0;
  max-width: 100%;
  -ms-transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

.is-ultimenu-canvas.is-ultimenu-expanded .is-ultimenu-canvas-off {
  -ms-transform: translateY(0);
  transform: translateY(0);
}

/** Any element below, pushed out of canvas once the #header is in.
Do not set transform here for compatibiity with fixed Jumper.module. */
.is-ultimenu-canvas--active .is-ultimenu-canvas-on {
  position: relative;
  transition: transform 500ms ease;
}

.is-ultimenu-canvas--active.is-ultimenu-canvas--hiding .is-ultimenu-canvas-on {
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.is-ultimenu-canvas.is-ultimenu-expanded .is-ultimenu-canvas-on {
  -ms-transform: translateY(600%);
  transform: translateY(600%);
}

/**
 * 944px with 16px base font.
 * .is-ultimenu-canvas--active is only available if off-canvas is enabled for
 * both desktop and mobile. Or a little later via JS if not. That's why we don't
 * rely on it for the smaller device to avoid FOUC.
 */
@media only screen and (max-width: 58.999em) {
  /** The #header alike element, out of canvas by default, can exist once. */
  .is-ultimenu-canvas .is-ultimenu-canvas-off {
    max-width: 100%;
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}
