/* (c)2024 Devhaus Technologies Inc. *Confidential* */
/* (c)2024 Devhaus Technologies Inc. *Confidential* */
/** https://css-tricks.com/snippets/css/turn-off-number-input-spinners/ **/
/** https://stackoverflow.com/questions/3975769/disable-webkits-spin-buttons-on-input-type-number **/
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0; }

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

label.checked {
  display: block;
  padding-bottom: 10px; }
  label.checked input[type='checkbox'],
  label.checked input[type='radio'] {
    margin-right: 10px; }
  label.checked:first-of-type {
    padding-top: 0; }
  label.checked:last-of-type {
    padding-bottom: 0; }

/** https://css-tricks.com/snippets/css/force-vertical-scrollbar/ **/
html {
  overflow-y: scroll; }

/* (c)2024 Devhaus Technologies Inc. *Confidential* */
html,
body {
  margin: 0;
  padding: 0;
  overflow-y: hidden;
  height: 100%; }

body.loginpage {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  background-color: #bbf4ee;
  background-size: cover;
  background-image: url("/images/lj-login-background.jpg"); }

body.pnbloginpage {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  background-color: #bbf4ee;
  background-size: cover;
  background-image: url("/images/chalkdrawing.jpg"); }

.box {
  display: grid;
  grid-template-columns: 380px 380px;
  grid-template-rows: 125px 420px;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  width: 760px;
  height: 545px;
  background: white;
  border-radius: 10px; }

.logo {
  grid-area: 1 / 1 / 2 / 3;
  display: flex;
  justify-content: center;
  align-items: center; }
  .logo img {
    width: 94px;
    height: 94px; }

#switch_server ~ #login_form {
  display: block; }

#switch_server ~ #server_selection {
  display: none; }

#switch_server:checked ~ #login_form {
  display: none; }

#switch_server:checked ~ #server_selection {
  display: block; }

.login {
  padding: 1.25rem; }
  .login .login__blurb {
    font-size: 12px; }
  .login .error {
    color: #cc0000;
    font-size: 14px; }
  .login__section_toggle {
    visibility: hidden;
    display: none; }
  .login input[type='text'],
  .login input[type='password'] {
    border: 1px solid #37dfce;
    border-radius: 3px;
    background-repeat: no-repeat;
    background-position-y: center;
    padding-left: 36px;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
    font-size: 18px;
    display: block;
    margin-bottom: 1em; }
    .login input[type='text']:focus,
    .login input[type='password']:focus {
      border-color: #18988b; }
    .login input[type='text']::placeholder,
    .login input[type='password']::placeholder {
      font-size: 16px;
      font-weight: 300; }
  .login__username {
    background-image: url("/images/person.svg"); }
  .login__password {
    background-image: url("/images/lock.svg"); }
  .login__button {
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    text-align: center;
    border-radius: 3px;
    font-weight: 500;
    display: inline-block;
    font-size: 14px;
    white-space: pre;
    border: 2px solid #18988b;
    background-color: #575296;
    padding: 0.3em 1em;
    transition: all 0.2s;
    cursor: pointer;
    user-select: none; }
    .login__button:hover {
      border: 2px solid #116c63;
      background-color: #116c63; }
  .login__server-selection a {
    font-size: 14px;
    display: block;
    text-decoration: none;
    color: black;
    padding: 0.5rem;
    transition: 0.3s all; }
    .login__server-selection a:hover {
      background-color: #e7fbf9; }
  .login__server-selection a.selected {
    background-color: #116c63;
    color: white; }
    .login__server-selection a.selected:after {
      background-color: white; }
    .login__server-selection a.selected:hover {
      background-color: #18988b; }

.serverRegionName {
  font-size: 13px;
  font-weight: bold; }

label.switch_server {
  text-decoration: underline;
  font-size: 13px; }

h1.siginmessage {
  font-size: 22px !important;
  font-weight: bold; }

h2.sigintext {
  font-size: 12px;
  font-weight: 300;
  margin-top: auto;
  margin-bottom: 2rem; }

h1 {
  font-weight: 300;
  font-size: 24px;
  margin: 0; }

h2 {
  font-weight: 300;
  font-size: 18px;
  line-height: 20px; }

.build-info {
  position: absolute;
  bottom: 0;
  right: 0;
  color: white;
  font-size: 12px;
  padding: 10px; }

.register {
  background-image: url("/images/children.png");
  background-repeat: no-repeat;
  padding-right: 0;
  background-position: 33% 50%;
  background-color: #1f9b8d;
  color: white;
  line-height: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  position: relative;
  background-size: cover;
  justify-content: center; }
  .register__request_a_tour_blurb {
    font-size: 20px;
    font-weight: 300; }
  .register__request_a_tour_p {
    padding-top: 1rem; }
  .register__request_a_tour {
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 3px;
    font-weight: 500;
    border: 2px solid;
    background-color: #575296;
    padding: 0.3em 1em;
    transition: all 0.2s; }
    .register__request_a_tour:hover {
      border: 2px solid #575296; }

.box.error {
  animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px; }

.referraldetails {
  padding: 10px;
  width: 64%;
  right: 0;
  top: 39%;
  position: absolute;
  text-align: right;
  background-color: inherit;
  min-height: 200px;
  color: #fff; }
  .referraldetails .referralhead {
    font-size: 18px;
    margin-top: 5px;
    letter-spacing: 0.1px;
    text-align: left;
    font-weight: 300; }
  .referraldetails .referralamountheader {
    font-size: 25px;
    letter-spacing: 0.1px;
    text-align: left;
    font-weight: 300; }
  .referraldetails .referraldetailstext {
    font-size: 14px;
    letter-spacing: 0.1px;
    text-align: left;
    font-weight: 300;
    line-height: 1.2; }
  .referraldetails .referraldetails_learn_more {
    color: white;
    text-decoration: none;
    font-weight: bold; }

.material-icons-round.md-48 {
  font-size: 45px; }

.maintenance {
  font-family: sans-serif;
  display: grid;
  grid-template-columns: min-content 1fr;
  grid-template-rows: 0.4fr 1fr;
  gap: 5px 5px;
  grid-template-areas: 'icon header' 'icon notice';
  padding-top: 0.5rem;
  margin-top: 2rem;
  color: #565294; }
  .maintenance .notice {
    grid-area: notice;
    font-size: 12px;
    font-weight: medium;
    letter-spacing: 0.1px;
    text-align: left; }
  .maintenance .header {
    grid-area: header;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.15px;
    text-align: left; }
  .maintenance .icon {
    grid-area: icon;
    display: flex;
    justify-content: center;
    align-items: top; }
  .maintenance .nobreak {
    white-space: nowrap; }

@keyframes shake {
  10%,
  90% {
    transform: translate3d(-1px, 0, 0); }
  20%,
  80% {
    transform: translate3d(2px, 0, 0); }
  30%,
  50%,
  70% {
    transform: translate3d(-4px, 0, 0); }
  40%,
  60% {
    transform: translate3d(4px, 0, 0); } }
