div, span, form, label, legend, input, select, body, a, h1, h2, h3, h4, h5, h6, p, ul, li{
  border: 0px;
  margin: 0px;
  padding: 0px;
  text-decoration: none;
}

html {
  font-family: OpenSans, arial;
  font-size: 62.5%;
  height: 100%;
}

/* Spinner and overlay logic for google */
.spinner-overlay {
  display: none; 
  position: absolute;
  top:0px;
  left:0px;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

.spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  height:120px;
  width:120px;
  /* -75 =  (120 / 2) + 15 */
  margin: -75px 0 0 -75px;
  -webkit-animation: rotation .9s infinite linear;
  -moz-animation: rotation .9s infinite linear;
  -o-animation: rotation .9s infinite linear;
  animation: rotation .9s infinite linear; 
  /*   
  border-left:15px solid rgba(0,174,239,0);
  border-right:15px solid rgba(0,174,239,0);
  border-bottom:15px solid rgba(0,174,239,0);
  */  
  border-left:15px solid rgba(0,174,239,.15);
  border-right:15px solid rgba(0,174,239,.15);
  border-bottom:15px solid rgba(0,174,239,.15);
  border-top:15px solid rgba(0,174,239,.8);
  border-radius:100%; 
}

@-webkit-keyframes rotation {
   from {-webkit-transform: rotate(0deg);}
   to {-webkit-transform: rotate(359deg);}
}
@-moz-keyframes rotation {
   from {-moz-transform: rotate(0deg);}
   to {-moz-transform: rotate(359deg);}
}
@-o-keyframes rotation {
   from {-o-transform: rotate(0deg);}
   to {-o-transform: rotate(359deg);}
}
@keyframes rotation {
   from {transform: rotate(0deg);}
   to {transform: rotate(359deg);}
}

/* end spinner styles */

.o-login-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-height: 45rem;
  overflow: auto;
  width: 100%;
}

.c-egg {
  background-image: url(/srv/images/eggArt.svg);
  background-position: right top;
  background-repeat: no-repeat;
}

@keyframes eggArt-out {
  100% {background-position: 300% 0%;}
}

@keyframes eggArt-in {
  100% {background-position: right top;}
}

.c-login-logo {
  background-image: url(/srv/images/babytelLogo.svg);
  background-repeat: no-repeat;
  height: 7rem;
  left: 1%;
  position: absolute;
  top: 3%;
  width: 14.6rem;
}

.c-login-logo a {
  display: block;
  height: 100%;
  width: 100%;
}

.o-form, .o-login-signup, .c-form__input {
  border-bottom: 1px solid rgba(0,0,0,0.3);
}

.o-form, .o-login-footer, .o-login-signup, .o-login-note /*login-note = additional section used in certain LAF like faxops*/ { 
  align-items: center;
  display: flex;
  flex-direction: column;
}

.o-form {  
  flex-grow: 1;
  justify-content: space-around;
  margin-top: 5rem;
  max-height: 45rem;
}

.c-form__title {
  color: var(--color-login-text);
  display: inline-block;
  font-size:4rem;
  font-weight: bold;
}

.c-form__line {
  background-color: var(--color-hover);
  background-image: var(--login-title-line-background-image);
  height: .5rem;
  margin-top: .8rem;
  width: 100%;
}

.c-form__inquiry, .o-login-signup {
  color: var(--color-login-text);
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.c-form__inquiry {
  padding: 1.5rem 0;
}

.c-form__input {
  background-color: transparent;
  color: var(--color-login-text);
  font-family: OpenSans, arial;
  font-weight: bold;
  width: 33.5rem;
}

.c-form__input:focus {
  border-bottom: 1px solid var(--color-login-text);
  outline: 0;
}

.c-form__input:focus::placeholder {
  opacity: 0.5;
}

.c-form__input {
  font-size: 1.6rem;
}

::placeholder {
  color: var(--color-login-input-placeHolder-text);
  opacity: 1;
}

:-ms-input-placeholder {
  color: var(--color-login-input-placeHolder-text);
}

::-ms-input-placeholder {
  color: var(--color-login-input-placeHolder-text);
}

.c-form__error {
  color: red;
  font-size: 1.4rem;
}

.c-form__button {
  background-color: var(--color-button);
  border-radius: 4% / 25%;
  color: var(--color-main);
  cursor: pointer;
  font-family: OpenSans, arial;
  font-size: 1.6rem;
  font-weight: bold;
  height: 5.3rem;
  width: 33.5rem;
}

.c-form__button:focus {background-color: var(--color-button-hover); outline: 0;}
.c-form__button:hover {background-color: var(--color-button-hover);}

.c-form__help, .c-login-footer__entrust {
  color: #939598;
  font-size: 1.3rem;
}

.c-form__help {
  text-align: center;
}

.c-form__help a, .o-column-list a, .c-login-footer__info a {
  color: var(--color-login-links);
  font-weight: normal;
}

.c-form__help a:focus, .o-column-list a:focus, .c-login-footer__info a:focus, 
.c-form__help a:hover, .o-column-list a:hover, .c-login-footer__info a:hover {
  color: var(--color2);
}

.o-login-signup, .o-login-footer, .o-login-note { 
  justify-content: space-around;
}

.o-login-signup, .o-login-note {
 height: auto;
 padding: 1rem 0
}

.c-login-signup__lang {
  font-size: 1.2rem;
}

.o-column-list {
  column-count: 4;
  column-gap: 2rem;
  font-size: 1.3rem;
  list-style-type: none;
  margin-left: 6rem;
  text-align: left;
  break-inside: avoid;
}

.o-login-footer {
  flex-grow: 1;
  max-height: 12rem;
}

.c-login-footer__link {
  font-size: 1.3rem;
}

.c-login-footer__entrust {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.c-login-footer__info {
  color: var(--color-login-footer-text);
  text-align: center;
}

/*** to avoid javascript for language selection ***/

.nav-lang {
  font-size: 1.4rem;
  position: absolute;
  right: 1%;
  top: 6%;
}

.nav-lang__current:focus {
  border:1.5px solid #00629b;
  outline: 0;
}

.nav-lang__current, .nav-lang__options {
  cursor: pointer;
}

.nav-lang__current {
  align-items:center;
  border: 1.5px solid #00b9f2;
  border-radius: 6px;
  box-sizing: border-box;
  color: var(--color-login-text);
  display: flex;
  height: 3rem;
  padding: .5rem;
  width: 15rem;
}

.nav-lang__img {
  display: inline-block;
  height: 2rem;
  margin-right: .5rem;
  width: 2rem;
}

.nav-lang__options {
  border: 1px solid var(--color3);
  box-sizing: border-box;
  left: .7%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 110%;
  transition: 0.4s; /* fade out */
  width: 98.5%;
  z-index: 9999;
}

.nav-lang__option a {
  box-sizing: border-box;
  display: block;
  height: 100%;
  padding: .5rem;
  width: 100%;
}

.nav-lang__option a:hover, .nav-lang__option a:focus{
  background: var(--color-page-background);
}

.nav-lang:focus-within .nav-lang__options {
  display: block;
  opacity: 1;
  pointer-events: auto;
  transition: 0.15s;
}

.nav-lang > *:not(:last-child):focus, .nav-lang:focus {
  pointer-events: none; /* Causes second click to close */
}

/*** End of to avoid javascript ***/

@media screen and (max-width:74em) {
  .o-login-page {
    animation: eggArt-out 5s 1;
    animation-fill-mode: forwards;
  }
}

@media screen and (min-width:74em) {
  .o-login-page {
    animation: eggArt-in 5s 1;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    background-position: 200% 0%;
  }
}

@media screen and (max-width:45em) {
  .o-login-page {background-image: none;}
  .o-form {width: 100%;}
  .o-login-signup {width: 100%;}
  .o-login-footer {width: 100%;}
}

@media screen and (max-width:34.5em) {
  .o-login-page {background-image: none; height: auto; justify-content: flex-start; overflow: auto;}
  .c-login-logo {align-self: center; margin-top: 2rem; position: static; width: 15rem;}
  .o-form {height: 66vh;}
  .c-form__title {padding-top: 0;}
  .c-form__inquiry {padding: 1rem 0;}
  .c-form__input {width: 80%;}
  .o-login-signup .o-column-list {column-count: 1; margin: 0; text-align: center; font-size: 1.6rem;}
  .o-login-footer {height: 19vh;}
}

@media screen and (max-height:50em) {
  .o-form {flex-basis: 40rem; flex-shrink: 1; max-height: 45rem; min-height: 35rem;}
  .c-form__title {padding-top: 2rem;}
  .c-form__button {max-width: 94%; height: 4rem; width: 25rem;}
  .o-login-footer {flex-basis: 10rem; flex-shrink: 1; margin-bottom: 1rem; max-height: 11rem;}
}