@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;1,100&display=swap);
@font-face {
  font-family: "Roboto";
  font-display: swap;
  src: url("/assets/fonts/Roboto-Regular.ttf") format("ttf");
}
@font-face {
  font-family: "Roboto";
  font-style: Bold;
  font-display: swap;
  src: url("/assets/fonts/Roboto-Bold.ttf") format("ttf");
}
.app {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 200;
  color: var(--text);
  padding: 0;
  margin: 0;
  --primary: #1976d2;
  --text: rgba(0,0,0,0.6);
  --disabled: rgba(0, 0, 0, 0.23);
}
.app h1 {
  font-weight: 200;
  font-size: 1.5em;
}
.app a {
  color: var(--primary);
  -webkit-text-decoration-color: rgba(25, 118, 210, 0.4);
          text-decoration-color: rgba(25, 118, 210, 0.4);
}
.app a:hover {
  -webkit-text-decoration-color: inherit;
          text-decoration-color: inherit;
}
.app .main-container {
  min-height: 100vh;
}
.app .form-row {
  position: relative;
  width: 100%;
  margin: 1em 0 0.5em;
}
.app .form-row input:focus {
  border-color: var(--primary);
}
.app .form-row input:focus + label {
  color: var(--primary);
}
.app .form-row input:not(:-moz-placeholder-shown) + label {
  top: -0.7em;
  font-size: 0.75em;
  background: white;
}
.app .form-row input:not(:-ms-input-placeholder) + label {
  top: -0.7em;
  font-size: 0.75em;
  background: white;
}
.app .form-row input:focus + label,
.app .form-row input:not(:placeholder-shown) + label {
  top: -0.7em;
  font-size: 0.75em;
  background: white;
}
.app .form-row label {
  color: var(--text);
}
.app .form-row input + label {
  color: var(--disabled);
  background: transparent;
  position: absolute;
  left: 0.5em;
  padding: 0 0.5em;
  top: calc(50% - 0.75em);
  font-size: 1em;
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition-property: top, font-size, background;
  pointer-events: none;
}
.app .form-row input {
  border: 1px solid var(--disabled);
  line-height: 1.4375em;
  height: 1.4375em;
  padding: 16.5px 14px;
  border-radius: 4px;
}
.app .form-row input::-moz-placeholder {
  color: transparent;
}
.app .form-row input:-ms-input-placeholder {
  color: transparent;
}
.app .form-row input::placeholder {
  color: transparent;
}
.app .form-row input[type=password],
.app .form-row input[type=email],
.app .form-row input[type=text] {
  width: calc(100% - 28px);
}
.app .form-row input[type=checkbox] {
  width: 1.4375em;
  vertical-align: middle;
}
.app .button {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.75;
  text-transform: uppercase;
  min-width: 64px;
  padding: 6px 16px;
  border-radius: 4px;
  color: #fff;
  background-color: #1976d2;
  border: none;
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  width: 100%;
  margin-top: 24px;
  margin-bottom: 16px;
  cursor: pointer;
}
.app .a {
  display: block;
  text-align: center;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.75;
  text-transform: uppercase;
  min-width: 64px;
  padding: 6px 16px;
  border-radius: 4px;
  color: #fff;
  background-color: #1976d2;
  border: none;
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  /*width: 100%;*/
  margin-top: 24px;
  margin-bottom: 16px;
  cursor: pointer;
}
.app .error {
  color: rgb(138, 4, 4);
  margin: 1em;
}
.app .success {
  color: #2e7d32;
  margin: 1em;
}

.app-logo {
  width: 5rem;
}

.auth-card {
  display: flex;
  width: 100%;
  height: 100vh;
}
.auth-card-image {
  display: none;
  background-image: var(--bg);
  background-position: center left;
  background-size: cover;
  flex-grow: 1;
}
@media (min-width: 600px) {
  .auth-card-image {
    display: block;
  }
}
.auth-card-image figure,
.auth-card-image img {
  max-width: 100%;
}
.auth-card-image figure {
  width: 100%;
  height: 100%;
  background-image: var(--bg);
}
.auth-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-basis: 90%;
  min-width: 90%;
}
@media (min-width: 600px) {
  .auth-card-content {
    flex-basis: 66.666667%;
    min-width: 66.666667%;
  }
}
@media (min-width: 900px) {
  .auth-card-content {
    flex-basis: 41.666667%;
    min-width: 41.666667%;
    padding: 32px;
  }
}
.auth-card-content .logo {
  text-align: center;
}
.auth-card-content .copy {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.43;
  text-align: center;
  color: rgba(0, 0, 0, 0.6);
  margin-top: 40px;
}
