@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  src: url("/login/static/fonts/DM-Sans-400.woff2") format("woff");
}

a,
article,
body,
button,
div,
fieldset,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
html,
iframe,
img,
input,
label,
li,
main,
ol,
section,
span,
ul {
  border: 0;
  box-sizing: border-box;
  font: inherit;
  font-family: "DM Sans";
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

a {
  text-decoration: none;
}

body,
html {
  -webkit-font-smoothing: antialiased;
  color: rgb(36, 36, 36);
  height: 100%;
}

body {
  display: grid;
  grid-template-rows: 1fr auto;
}

div.align-end {
  text-align: end;
}

div.flex-fill {
  display: flex;
  gap: 8px;
}

div.flex-fill > * {
  flex-grow: 1;
}

footer {
  bottom: 20px;
  font-size: 16px;
  line-height: 16px;
  padding: 16px 0;
  position: relative;
  text-align: center;
}

footer a {
  color: rgb(20, 90, 143);
  font-weight: 700;
}

footer div {
  line-height: 24px;
}

footer div ul li {
  display: inline-block;
  margin: 0 4px;
}

footer div ul li + li {
  margin-left: 0;
}

footer div ul li:not(:first-of-type)::before {
  background-color: rgb(255, 255, 255);
  border-radius: 50%;
  color: rgb(36, 36, 36);
  content: "\2022";
  height: 4px;
  margin-right: 4px;
  vertical-align: middle;
  width: 4px;
}

form {
  display: flex;
  flex-direction: column;
  padding-top: 8px;
}

/* Ensures lable/placeholder styles work correclty */
form .labeled-input {
  display: flex;
  flex-direction: column;
}

form sinch-button {
  margin-top: 24px;
}

form input {
  margin-bottom: 12px;
}

form p {
  margin-top: 0;
  margin-bottom: 24px;
}

h1 {
  font-size: 24px;
  font-weight: 400;
  line-height: 36px;
  margin: 16px 0 0;
}

h2 {
  font-size: 20px;
  font-weight: 400;
  line-height: 36px;
  margin: 16px 0 0;
}

.sinch-mailgun-wordmark {
  display: block;
  margin: 15px 0 24px;
  fill: var(--sinch-sys-color-text-default);
}
.sinch-mailgun-wordmark .logo {
  fill: #eb5454;
}

[id^="loginError"] {
  display: flex;
}

[id^="loginError"] .loginErrorText {
  padding-left: 10px;
}

input {
  border-radius: 12px;
  border: solid 1px rgb(166, 166, 166);
  font-size: 16px;
  height: 52px;
  outline: none;
  padding: 0 16px;
  width: 100%;
  transition: all 100ms linear;
}

input:disabled {
  cursor: not-allowed;
}

input::placeholder {
  opacity: 0;
}

input:focus {
  border-color: rgb(58, 167, 234);
  box-shadow: 0 0 0 1px rgb(58, 167, 234);
  transition: all 100ms linear;
}

input:not(:placeholder-shown) + label,
input:focus + label {
  padding: 0 6px;
  position: absolute;
  transform: scale(0.88) translate(3px, -13px);
  transition: all 100ms linear;
}

input:focus + label {
  color: rgb(58, 167, 234);
}

input.show-placeholder::placeholder {
  opacity: 1;
}

label {
  background-color: rgb(255, 255, 255);
  color: rgb(118, 118, 118);
  pointer-events: none;
  position: absolute;
  transform: translate(23px, 16px);
  transition: all 100ms linear;
}

label.with-placeholder {
  padding: 0 6px;
  transform: scale(0.88) translate(3px, -13px);
}

li.extra-margin {
  margin-left: 32px;
  margin-bottom: 8px;
}

main {
  align-items: center;
  display: flex;
  justify-content: center;
}

p {
  line-height: 24px;
}

p.centered {
  text-align: center;
}

section {
  padding: 22px 40px 60px;
  width: 400px;
}

section .breakout {
  width: max-content;
  white-space: nowrap;
}

span.small-text {
  font-size: small;
}

.hidden {
  display: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

pre.code {
  background-color: var(--sinch-ref-color-neutral-50);
  border-radius: 8px;
  border: 1px solid var(--sinch-ref-color-neutral-200);
  font: var(--sinch-sys-font-body-monospace-m);
  padding: 12px 16px;
  white-space: pre-wrap;
  word-wrap: break-word;
}

@media screen and (max-width: 500px) {
  section {
    width: 100%;
  }
}

@media screen and (max-width: 600px) {
  main {
    align-items: unset;
    padding-top: 42px;
  }

  section {
    padding: 45px 40px;
  }
}
