body {
  margin: 0 !important;
  padding: 0 !important;
  height:100%;
  background: #242424;
  font-family: 'Roboto', sans-serif !important;
}


html{
  height:100%;
}

button {
  font-family: 'Roboto', sans-serif !important;
}

input {
  font-family: 'Roboto', sans-serif !important;
}

textarea {
  font-family: 'Roboto', sans-serif !important;
}

strong {
  font-weight: 500;
  letter-spacing: 0.15px;
}

* {
  box-sizing: border-box;
}

#react-container{
  height:100% !important;
  background: white;
  /* Clear of the notch and rounded corners (viewport-fit=cover), the bottom is done by the tab bar */
  padding: env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);
}

#loader-wrapper {
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1000;
}

.loaded #loader-wrapper {
    visibility: hidden;
}

#loader {
    z-index: 1001;
    border: 16px solid #f3f3f3;
    border-top: 16px solid #c73083;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes spinnerFadeIn {
  0% { opacity: 0; }
  100% { opacity: 0.8; }
}

/* Touch: no grey flash on tap, no pull-to-refresh bounce of the whole app (pages scroll themselves) */
html, body {
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior: none;
}

.mobile-only {
  display: none !important;
}

/*
Mobile layout, the same width as MOBILE_QUERY in src/utils/useIsMobile.ts. The pages are styled inline, these classes
overrule the desktop values with !important on small screens only.
*/
@media (max-width: 900px) {
  /* Grids of two or three columns become one column */
  .responsive-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* Rows of panels are stacked */
  .responsive-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .responsive-row > * {
    width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
  }

  /* Page padding */
  .page-body {
    padding: 12px !important;
  }

  .page-header-inner {
    padding: 12px 12px 10px !important;
  }

  .page-header-inner [role=tablist] {
    gap: 18px !important;
    margin-bottom: -10px;
  }

  .page-title {
    font-size: 20px !important;
  }

  .hide-mobile {
    display: none !important;
  }

  .mobile-only {
    display: revert !important;
  }

  /* Inputs at 16px, iOS zooms in on smaller text when an input gets the focus */
  input, textarea, select {
    font-size: 16px !important;
  }
}
