@import "../themes/ionic.globals";
@import "../themes/ionic.mixins";


// Structure
// --------------------------------------------------
// Adds structural css to the native html elements

* {
  box-sizing: border-box;

  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

html {
  width: 100%;
  height: 100%;

  text-size-adjust: 100%;
}

body {
  @include font-smoothing();
  @include margin(0);
  @include padding(0);

  position: fixed;

  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;

  text-rendering: optimizeLegibility;

  overflow: hidden;

  touch-action: manipulation;

  -webkit-user-drag: none;

  -ms-content-zooming: none;

  word-wrap: break-word;

  overscroll-behavior-y: none;

  text-size-adjust: none;
}


// Page Container Structure
// --------------------------------------------------

.ion-page {
  @include position(0, 0, 0, 0);

  display: flex;
  position: absolute;

  flex-direction: column;
  justify-content: space-between;

  contain: layout size style;
  overflow: hidden;
  z-index: $z-index-page-container;
}

ion-route,
ion-route-redirect,
ion-router,
ion-animation-controller,
ion-nav-controller,
ion-menu-controller,
ion-action-sheet-controller,
ion-alert-controller,
ion-loading-controller,
ion-modal-controller,
ion-picker-controller,
ion-popover-controller,
ion-toast-controller,
.ion-page-hidden,
[hidden] {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

.ion-page-invisible {
  opacity: 0;
}
