body { 
   background: #fff; }
   
header {
   margin: 0 auto ;
   height: auto;
   padding: 14px 0 6px 0;
   text-align: center;
   width: 100%;
   z-index: 1001;
   float: none;
   display: block;
   position: relative;
   border-bottom: 5px var(--main-highlight) solid;
   background: var(--main-bg-color);
   -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.2);
   box-shadow: 0 0 3px 0 rgba(0,0,0,.2); }      
      
.logo {
   display: inline-block;
   text-align: center; 
   z-index: 1000; }
   
.logo img, .logo svg {
   position: relative;
   width: 100%;
   margin: 0 auto;
   z-index: 1001;
   display: block;
   background: none;
   padding: 0;
   text-align: center;
   max-width: 170px;
   max-height: 66px;
   vertical-align: middle; }
      
#framework {
   width: 100%;
   max-width: 1200px;
   background: var(--sec-bg-color);
   padding: 2em 0;
   margin: 0 auto;
   font-size: 100%;
   position: relative;
   z-index: 0;
   flex: 0 0 auto;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   justify-content: flex-start;
   align-content: flex-start; }
   
   @media only screen and (max-width: 1240px) { #framework { width: 90%; } }

#signupheader {
   -ms-flex-preferred-size: 0;
   flex-basis: 0;
   -ms-flex-positive: 1;
   flex-grow: 1;
   max-width: 100%;
   margin: 2em 40px 2em 0;
   -ms-flex-order: 1;
   order: 1;}
   
   @media only screen and (max-width: 800px) { #signupheader { margin: 0 0 2em 0; } }


form {
   -ms-flex: 0 0 40%;
   flex: 0 0 40%;
   width: auto;
   background: var(--main-bg-color);
   -ms-flex-order: 2;
   order: 2;
   display: block;
   margin: 20px auto;
   border: 1px solid #ddd;
   padding: 30px 30px;
   color: #fff; }
   
   @media only screen and (max-width: 1240px) { form { -ms-flex: 0 0 40%; flex: 0 0 40%; } }
   @media only screen and (max-width: 800px) { form { -ms-flex: 0 0 100%; flex: 0 0 100%; } }


form input, form select, form textarea {
    padding: .5em; width: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

form span { color: white !important; }

#signupfooter { 
   -ms-flex: 0 0 100%;
   flex: 0 0 100%;
   max-width: 100%;
   -ms-flex-order: 3;
   order: 3; }
   
#signup label, #signup .label, #signup .fieldlabel {
   color: #fff;
   -webkit-font-smoothing: antialiased;
   margin-bottom: 0.15rem;
}

#signup .checkbox, #signup .radiobutton {
   width: auto;
   top: -3px;
   position: relative;}
   
.btn, .submit {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.25;
    border-radius: .25rem;
    transition: all .15s ease-in-out;}

.btn-group-lg>.btn, .btn-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: .3rem;}

.btn-block{
    display: block;
    width: 100%;}

.btn {
    border-radius: 0;
    text-transform: uppercase;
}

.btn-group-lg>.btn, .btn-lg {
    line-height: 1.5 !important;
    font-size: 1.5rem;}

.btn-primary, .btn-primary.disabled, .btn-primary:disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary:disabled:hover, .btn-primary:disabled:focus, .submit {
   background-color: var(--button-bg-color);
   color: #fff;
   cursor: pointer;
   -webkit-transition: .25s ease-in-out;
   -moz-transition: .25s ease-in-out;
   -o-transition: .25s ease-in-out;
   transition: .25s ease-in-out;
   width: 100%;
   font-size: 140%; }
   
   .submit:focus, .submit:hover, .submit:active { color: white; }
   .submit:hover, .submit:focus { background: var(--link-hover-color); }
   .submit:active { background: var(--link-active-color); }


input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].btn-block {
    width: 100%;
}
    
.signuperror {
   flex: 0 0 100%;
   max-width: 100%;
   background: #bf0000;
   padding: 10px;
   color: white; }
   
form span.error {
    color: white !important;
    background: #bf0000;
    padding: 5px;
    left: -10px;
    position: relative; }

/* Site Footer
------------------------------------ */
footer {
   background: var(--main-bg-color);
   border-top: 10px var(--main-highlight) solid;
   color: white;
   font-weight: 400;
   padding: 2em 0; 
   position: relative;
   z-index: 99;
   text-align: center;
   margin: 0 auto; }   
   
 
footer .paidfor { 
  font-size: .9em; 
  border: 1px solid #fff;
  padding: .5em 1em;
  margin: 1.5em 0 3em;
  display: inline-block;
}
footer a { 
  color: #fff; 
  padding: .5em 1em;
}
footer a:hover { 
  color: rgba(255,255,255,.3); 
}
footer a:active { 
  color: rgba(255,255,255,.5); 
} 
@media only screen and (min-width: 740px) and (min-device-width: 480px) {  
  footer .paidfor { 
    font-size: 1.1em; 
  }  
}

@media only screen and (min-width: 1000px) and (min-device-width: 480px) {  
  .paidfor { 
    font-size: 1.4em;
  }
}
