input:-moz-placeholder { opacity: 1; }
input::-moz-placeholder { opacity: 1; }
select:-moz-placeholder { opacity: 1; }
select::-moz-placeholder { opacity: 1; }
textarea:-moz-placeholder { opacity: 1; }
textarea::-moz-placeholder { opacity: 1; }

/* Form List Resets
--------------------------------------------------- */
form ol, 
form ul {
  list-style: none;
  margin: 0; }
form li { position: relative; margin-bottom: 6px; }

input, textarea, select {
  background: #fff;  
  font-size: 1em; 
  line-height: 40px; 
  color: #444;
  padding-left: 7px; 
  height: 40px; 
  vertical-align: middle; 
  width: 100%;
  font-family: "open-sans",Arial,Helvetica,sans-serif;
  -webkit-transition: width 2s; /* Safari */
  transition: width 2s; border: 1px solid #ddd !important;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  transition:         all .35s ease-in-out;    
  -webkit-transition: all .35s ease-in-out;  
  -moz-transition:    all .35s ease-in-out;  
  -o-transition:      all .35s ease-in-out;  
  -ms-transition:     all .35s ease-in-out
}

.form input:-ms-input-placeholder      { color: #444; }
.form input::-webkit-input-placeholder { color: #444; }  

select#state {
   max-width: 100px; }
select#state > option { padding-left: 20px; }   


/* Error INPUT
--------------------------------------------------- */

input.error { 
  -moz-box-shadow:    inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.25); 
  box-shadow:         inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.25); }

input.error:hover { 
  -moz-box-shadow:    inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.35);
  -webkit-box-shadow: inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.35);
  box-shadow:         inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.35); }

input.error:active { 
  -moz-box-shadow:    inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.45);
  -webkit-box-shadow: inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.45);
  box-shadow:         inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.45); }     

/* Error LABEL
--------------------------------------------------- */

form label { position: relative; }

strong.error { 
  background: #bf0007;
  padding: 3px 5px;   
  display: block;
  white-space: nowrap;
  position: absolute; 
  left: 50%;
  top: 30px;
  z-index: 9999;
  -moz-border-radius:    4px;
  -webkit-border-radius: 4px;
  border-radius:         4px; 
  font-size: 10px;
  line-height: 10px;
  font-weight: 400;
  color: #fff; 
  text-transform: uppercase; } 
strong.error:after { 
  height: 0; 
  width: 0;    
  margin-left: -6px;  
  content: " ";    
  position: absolute; 
  left: 15px; 
  bottom: 100%;
  border-color: rgba(235, 110, 31, 0);    
  border: solid transparent; 
  pointer-events: none;
  border-bottom-color: #bf0007; 
  border-width: 6px; }



/* Generic Form Elements
--------------------------------------------------- */


form li { 
  display: block; }

input,
select,
textarea { 
  cursor: pointer;  } 

input:hover,
select:hover,
textarea:hover { 
  /*background: #0052a5; */
  /* color: #fff; */
  box-shadow:         1px 1px 3px rgba(0, 0, 0, 0.2);       
  -moz-box-shadow:    1px 1px 3px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }

/* ---- Placeholder Text Equalizer ---- */

input:-ms-input-placeholder            { color: #444; }
input::-webkit-input-placeholder       { color: #444; }
input:hover:-ms-input-placeholder      { color: #fff; }
input:hover::-webkit-input-placeholder { color: #fff; }     

textarea:-ms-input-placeholder            { color: #444; }
textarea::-webkit-input-placeholder       { color: #444; }
textarea:hover:-ms-input-placeholder      { color: #fff; }
 textarea:hover::-webkit-input-placeholder { color: #fff; }      

input:focus,
select:focus,
textarea:focus { 
  background: #ddd ;   
  color: #444;
  cursor: text; 
  box-shadow:         inset 1px 1px 1px rgba(0, 0, 0, 0.35);       
  -moz-box-shadow:    inset 1px 1px 1px rgba(0, 0, 0, 0.35);
  -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.35); }    

/* Generic Button
--------------------------------------------------- */

button { 
  display: block;
  font-size: 1em;
  font-weight: 700;
  line-height: 1; 
  cursor: pointer;  
  color: #fff;
  width: 100%;
  background-color: #0052a5;
  height: 40px; 
  border: none; 
  text-transform: uppercase;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;   
  font-family: "open-sans",Arial,Helvetica,sans-serif;
  -webkit-transition: width 2s; /* Safari */
  transition: width 2s; 
  border: medium none !important;
  transition:         all .35s ease-in-out;    
  -webkit-transition: all .35s ease-in-out;  
  -moz-transition:    all .35s ease-in-out;  
  -o-transition:      all .35s ease-in-out;  
  -ms-transition:     all .35s ease-in-out
  -moz-border-radius:    2px;
  -webkit-border-radius: 2px;
  border-radius:         2px;    
}

button:hover { 
  background: #1d8a0c; 
  -moz-box-shadow:    0 1px 1px rgba(0,0,0,.15);
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.15);
  box-shadow:         0 1px 1px rgba(0,0,0,.15); }   
button:active { 
  background: #02193f;
  -moz-box-shadow:    inset 0 1px 1px rgba(0,0,0,.35);
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.35);
  box-shadow:         inset 0 1px 1px rgba(0,0,0,.35); }  

/* Customization
--------------------------------------------------- */

  
#join .button { 
  background: #0052a5 repeat scroll 0 0;
  color: #fff;
  text-transform: uppercase;
  padding: 0;
  width: 100%;
  -moz-border-radius:    2px;
  -webkit-border-radius: 2px;
  border-radius:         2px;    
}

#join .button:hover {
  background: #1d8a0c;
 }  

#join ol {
    background: none repeat scroll 0 0;
    width: 100%;
    margin-bottom: 10px;
}
 
#join li {
    display: table-cell;
    padding-right: 0;
    position: relative;
    width: 25%;
}

#join li:first-child {
    padding-right: 10px;
    width: 65%;
}

#join input {
 background: #fff; 
 padding-left: 35px;
 border: none !important;
}

#join input:hover {
  background: #0052a5;
  color: #fff;  }
  
#join input:focus {
  background: rgba(255,255,255,.85);
  color: #455e8a; }

#join li label { 
  display: block;
  position: absolute;
  vertical-align: middle;
  color: #092e6e;
  font-size: 1em; 
  left: .65em;
  top: .65em; }
  
#join li:hover label { color: #a6c4e3; }  

  @media (min-device-width: 768px) {
        #join ol { width: 80%; margin-bottom: 0; float: left; }
        #join .button { width: 20%; float: left;}
        #join li {     padding-right: 10px; }
  }

#join2 {
    margin-bottom: 1em;
}

#join2 ol {
    background: none repeat scroll 0 0;
    width: 100%;
}

#join2 .button { 
  width: 100%;
}

#join2 button { 
  background: #02193f repeat scroll 0 0;
  color: #fff;
  text-transform: uppercase;
  padding: 0;
}

#join2 input {
  margin-bottom: .5em;
  padding: 0 .5em;
}

#join2 input:hover {
  background: rgba(255,255,255,.65);
  color: #fff;  }
  
#join2 input:focus {
  background: rgba(255,255,255,.85);
  color: #455e8a; }

textarea {
    height: 150px;
}

