*
{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    border: 0;
}

body
{
    font-family: Arial, Helvetica, sans-serif;
    margin-top: 1em;
    margin-left:  1em;
    margin-right: 1em;
}

.ajaxLoadOverlay
{
  display:    none;
  z-index:    1000;
  min-height: 50px;
  width:      100%;
  background: rgba( 0, 0, 0, 0 )
                          url('ajaxload.gif')
                          50% 50%
                          no-repeat;
}

.ajaxLoadShow
{
  display: block !important;
}

.dsrc_container
{
    margin: 0 auto;
    max-width: 700px;
}

.dsrc_newpwForm_error > p
{
    text-align: center;
    padding: 2em;
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 2em;   
}

.heading
{
  display: flex;
  align-items: center;  
  margin-bottom: 0.8em;
}

#logodiv
{
  width: 150px;
  height: 115px;
}

#logodiv > a
{
    text-decoration: none;
}

#logoimg
{
    width: 150px;
    height: 115px;  
    border: 0;
}


#headingtext {
  margin-left: 0.4em;
  font-size: 1.5em;
  font-weight: bold;
}

li {
    margin-bottom: 0.5em;
}

.flexform {
  display: flex;
  flex-direction: column;
  margin: 0.5em 0;
}

.flexform > input, .flexform > div {
  padding: 0.5em;
  margin:  0.5em 0;
}

.flexform > div
{
  background-color: #f1f1f1;
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 75px;
  font-size: 30px;
}

.dsrc_submit_row, .dsrc_return_to_login_row
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#btnLogmein
{
    flex-grow: 2;
}

#btnPasswordreset, #btnFirsttime, #btnSetpassword
{
    flex-grow: 1;
}

.initialhide
{
    display: none !important;
}

label
{
    cursor: pointer;
}
#chkShowPw
{
    margin-right: 0.4em;
}

input[type="email"],input[type="password"],input[type="text"]
{
    border-bottom: 1px solid grey;
    font-weight: bold;
    color: #333333;
    font-size: 1.2em;
}

.redgradient
{
    background: #e63b22;
    background-image: none;
    background-image: linear-gradient(to bottom, #e63b22, #b60000);
    color: white;
}

.roundedButton
{
    font-size: 1.2em;
    font-weight: bold;
    margin: 0.5em 0.5em;
    padding: 10px;
    border: 0;
    border-radius: 25px;
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
    cursor: pointer;
}

.roundedButton:hover
{
    background: #c62b12;
    background-image: none;
    background-image: linear-gradient(to bottom, #c62b12, #a60000);
}
.roundedButton:active
{
    transform: translateY(4px);
}

div.error
{
    width: 100%;
    background: red;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
}

div.errorBanner
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: red;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
    opacity: 0.9;
    z-index: 99;
}

div.errorBannerMsg
{
    position: relative;
    border-bottom: 1px white solid;
    padding: 0.2em;
    padding-left: 1em;
    padding-right: 3em;
    transition: 500ms cubic-bezier(1,0,0,1);
    max-height: 5em;
}
div.closeCross 
{
    position: absolute;
    top: 0;
    margin-top: -5px;
    right: 2em;
    background-color: #00000000;
    transition: transform .4s ease-in-out;
    cursor: pointer;
}
div.closeCross:after 
{
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: "\d7"; /* use the hex value here... */
    font-size: 2em;
    color: #ffffff;
    text-align: center;
    transition: transform .4s ease-in-out;
}
div.closeCross:hover
{
    transform: rotate(360deg);
}

div.closeError
{   /* Added to error banners to make them fold away */
    overflow: hidden;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    border: 0;
}
