body{
  background-color:  #fafafa;
  display: flex;
  flex-direction: row;
  flex-grow: 1;  
  font-family: tahoma;
  justify-content: center;
  width: 80%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}
.banner{
    align-items: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%; 
    margin:3em 0;
    margin-bottom: 1em;   
}
.banner img{
   justify-content: center;
   margin:auto;
}
.banner p{
    color:#05a; 
    display: flex;
    font-size: 3em;
    justify-content: center;
    margin: .5em;
}
.flex-body{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    margin: 0;
}
.flex-container{
    margin:2em 0;
    display: flex;
    justify-content: center;
    text-align: center;
    width: 100%;
}
.flex-footer{
    display: flex;
    justify-content: center;
    text-align: center;
    margin-top: auto;
    width: 100%;
}
.flex-sidebar{
    background-color: #027;
    width: 20vw;
    min-width: 20vw;
    height: 100vh;
}
.flex-sidebar ul{
   padding: 0;
}
.flex-sidebar li{
    color:#cceeff;
    list-style-type: none;
    padding: 1vh;
}
.flex-sidebar li:hover{
    color:#cceeff;
background-color: #05a; 
    list-style-type: none;
    padding: 1vh;
}
.in-form{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.lbl-group{
    justify-content: center;
    text-align:left;
    margin:2em 0em;
    width: 100%;   
}
.lbl-group label{
    border-radius: 5px;
    color: #05a;
    font-size: 1.2em;
    position: relative;
    top:-75px;
    left: -5px;
    background-color: #ffffff00;
    line-height: .1em;
    padding: 0px 5px;
    z-index: 200;
}
.lbl-group input{
    background:#fff0;
    border: 0px;
    border-bottom: .15em solid #05a;
    color: #efefef;
    font-size: 1.5em;
    width: 100%;
    height: 100%;
    padding-left:0px;
    padding-top: 10px; 
    padding-bottom: 0px;
    box-sizing: border-box; 
    
}
.lbl-group input::placeholder{
    color: #cceeff;
}
.lbl-group input:focus{
    outline: 0px;
}
#banner-logo{
    display: flex;
    width: 20vh;    
}
.btn-prime{
    background-color: #cef;
    border: 0px;
    color:#05a;
    font-size: 1.5em;
    width: 100%;
    height: 100%;
    padding: .5em;
    box-sizing: border-box;  
}
.btn-prime:hover{
    background-color: #cef;
    border: 0px;
    color:#05a;
    box-shadow: 0px 0px 0px 3px #05a;
    box-sizing: border-box;  
}
.btn-prime:active{
    background-color: #05a;
    border: 0px;
    color:#cef;
    box-shadow: 0px 0px 0px 3px #cef;;
    box-sizing: border-box;  
}