.Authentication-Tabs > input,
.Authentication-Tabs section fieldset {
  display: none;
  border-radius: 0 0 .5rem .5rem;
  position: relative;
}

#tab-login:checked ~ section .tab-login,
#tab-restore:checked ~ section .tab-restore,
#tab-loginModal:checked ~ section .tab-login,
#tab-restoreModal:checked ~ section .tab-restore {
  display: block;
}

#tab-login:checked ~ ul .tab-login,
#tab-restore:checked ~ ul .tab-restore,
#tab-loginModal:checked ~ ul .tab-login,
#tab-restoreModal:checked ~ ul .tab-restore {
  background: #ddd;
}

.Authentication-Tabs > ul {
  margin: 0;
  list-style: none;
}
.Authentication-Tabs > ul > li {
  border-radius: .5rem .5rem 0 0; 
  display: inline-block;
  margin: 0;
  cursor: pointer;
}
.Authentication-Tabs > ul > li > label {
  cursor: pointer;
  margin: 0;
  padding: 1.5rem;
}
.Authentication-Tabs > ul > li:hover {
  background: #eee;
}

.progress-line, .progress-line:before {
  height: 3px;
  width: 100%;
  margin: 0;
}
.progress-line {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #b3d4fc;
  display: none;
}
.progress-line:before {
  background-color: #3f51b5;
  content: '';
  -webkit-animation: running-progress 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation: running-progress 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@-webkit-keyframes running-progress {
  0% { margin-left: 0px; margin-right: 100%; }
  50% { margin-left: 25%; margin-right: 0%; }
  100% { margin-left: 100%; margin-right: 0; }
}
@keyframes running-progress {
  0% { margin-left: 0px; margin-right: 100%; }
  50% { margin-left: 25%; margin-right: 0%; }
  100% { margin-left: 100%; margin-right: 0; }
}
.inputPrefix {
  background: #ddd;
  width: 6rem;
  display: inline-block;
  font-size: 1.6rem;
  text-align: center;
  height: 4.4rem;
  line-height: 4.4rem;
}
.inputLogin {
  display: inline-block;
  width: calc( 100% - 6rem );
}