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; }

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

input.error, select.error, textarea.error { 
   color: #e2132b; 
   background: #f8dcdf;
  -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, select.error:hover, textarea.error:hover { 
   color: #444;
   background: white;
  -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, select.error:active, textarea.error:active { 
   color: #000;
   background: white;
  -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); }   
  
  
  
.labels-above.animated input.error, .labels-above.animated select.error, .labels-above.animated textarea.error { 
   background: white;  
   border: 1px solid #ef3340;
  -moz-box-shadow:    inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0);
  -webkit-box-shadow: inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0); 
  box-shadow:         inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0); }

.labels-above.animated input.error:hover, .labels-above.animated select.error:hover, .labels-above.animated textarea.error:hover { 
   color: #444;
   background: white;
  -moz-box-shadow:    inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0);
  -webkit-box-shadow: inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0);
  box-shadow:         inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0); }

.labels-above.animated input.error:active, .labels-above.animated select.error:active, .labels-above.animated textarea.error:active { 
   color: #000;
   background: white;
  -moz-box-shadow:    inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0);
  -webkit-box-shadow: inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0);
  box-shadow:         inset 1.5px 1.5px 2.5px rgba(0, 0, 0, 0.0); }    




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

form label { position: relative; width: auto; height: auto; float: left;}

.labels-above label {
  padding: .5em 0 .2em .2em;
  -webkit-transition: all .3s ease-in-out;
  -moz-transition:    all .3s ease-in-out;
  -o-transition:      all .3s ease-in-out;
  -ms-transition:     all .3s ease-in-out;
  transition:         all .3s ease-in-out; }
.labels-above.animated label {
  position: absolute;
  left: .3em;
  top: 50%;
  z-index: 1000;
  color: #525252;
  font-size: .95em;
  padding: 0 .2em 0;
  -moz-transform:    translateY(-50%);
  -ms-transform:     translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform:         translateY(-50%); }
.labels-above.animated li:hover label { color: #0470bd ; }  
.labels-above.animated li.focused label { color: #525252; }  

.labels-above.animated li.focused label,
.labels-above.animated li.entered label {
  background: #fff;   
  top: 0%;
  font-size: .8em; 
  -moz-transform:    translateY(-15%);
  -ms-transform:     translateY(-15%);
  -webkit-transform: translateY(-15%);
  transform:         translateY(-15%); }  



.labels-above.animated label abbr { 
  color: #fff; 
  border-bottom: none !important; }

.labels-above label:hover {
  cursor: pointer; 
  color: #ef3340; }
  
.labels-above label abbr { 
  color: #ef3340; 
  border-bottom: none !important; }
.labels-above label abbr[title], .labels-above label dfn[title] {
 border-bottom: none !important;  
}

li.submit-button { padding-top: .4em; }

.with-icons li { position: relative; }
.with-icons li:before { 
  position: absolute;
  left: .5em;
  top: 50%;
  -moz-transform:    translateY(-50%);
  -ms-transform:     translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform:         translateY(-50%);
  display: inline-block; 
  font-family: 'trilogyicons';
  content: attr(data-icon);
  speak: none;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; 
  -webkit-transition: all .3s ease-in-out;
  -moz-transition:    all .3s ease-in-out;
  -o-transition:      all .3s ease-in-out;
  -ms-transition:     all .3s ease-in-out;
  transition:         all .3s ease-in-out; }
.with-icons li:hover:before { color: #0470bd; }
.with-icons li.focused:before { color: #ef3340; }

.with-icons li.name-field:before { content: "u"; }
.with-icons li.email-field:before { content: "e"; }
.with-icons li.zip-field:before { content: "Q"; }


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

.labels-above strong.error {
  left: 0;
  top: 105%;
  bottom: auto; }


.labels-above.animated strong.error { 
  background: #ff0000;
  padding: 3px 5px;    
  top: 50%;
  left: 100%;
  z-index: 9999;
  -moz-border-radius:    2px;
  -webkit-border-radius: 2px;
  border-radius:         2px; 
  font-size: .7em;
  font-weight: 400;
  color: #fff; 
  text-transform: uppercase;  }
    
.labels-above strong.error:after { display: none;  }



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

form li.textarea { float: right; z-index: 999; }

form li.submit { 
  text-align: center;
  display: block; 
  }
  
form li { 
  margin: 0;
  display: block;
  float: none;
  margin: 0; }
.labels-above.animated li { padding: .4em 0; }

input,
select,
textarea { 
   background: white; 
   border: none;
   width: calc(100% - 2em);
   height: auto;
   margin: 0 auto;
   padding: .5em 1em;
   -webkit-border-radius: 2px 2px 2px 2px;
   border-radius: 2px 2px 2px 2px;    
   cursor: pointer; 
   font-style: normal;
   font-weight: 300;
   font-size: 100%;
   line-height: 1;
   color: #000;
   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; 
   -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
   -moz-box-sizing: border-box;    /* Firefox, other Gecko */
   box-sizing: border-box;         /* Opera/IE 8+ */
    } 

input.checkbox {
  width: 10px;
}

.ie8 input.checkbox {
    background: none;
    border: normal;
    color: black;
    padding: 0;
    margin: 0;
    width: 15px;
    }


input:hover,
select:hover,
textarea:hover { 
   -webkit-box-shadow:inset 0 0 0 1px #000;
   box-shadow:inset 0 0 0 1px #000;
    background: white;
    color: black;
    }
    
input:focus,
select:focus,
textarea:focus { 
   -webkit-box-shadow:inset 0 0 0 1px #000;
   box-shadow:inset 0 0 0 1px #000;
    background: white;
    color: black;
    }


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

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

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



/* Unsubscribe form styles */
form.unsubscribe input:focus, form.unsubscribe select:focus, form.unsubscribe textarea:focus {
  background: none;
  box-shadow: none;
  -webkit-box-shadow: none;
}
form.unsubscribe ol, form.unsubscribe ul {
    list-style: none;
    margin: 0;
}

form.unsubscribe li {
    margin: 0 0 7px;
    display: block;
}

form.unsubscribe input, form.unsubscribe select, form.unsubscribe textarea {
  float: none; 
}

form.unsubscribe input[type="radio"] {
  display: inline;
  width: auto;
  margin-right: 10px;
  -webkit-appearance: radio;
}

form.unsubscribe input[type="radio"] + label {
  display: inline;
  float: none;
}

form.unsubscribe textarea#reason {
  clear: both;
  display: block;
  margin: 0;
  width: 320px; 
  height: 60px;
}


/* Layout pieces */
form div.title {
    width: auto;
    color: #68b2bc;
    font-size: 180%;
    line-height: 1 !important;
    margin: 0 !important;
    text-align: left;
    vertical-align: middle;
    display: inline-block;
    padding: 0 0 10px 0; }

form div.fields {
   width: 100%;
    vertical-align: middle;
    display: inline-block;
}

   li.firstname-container { width: 100%;}
   li.lastname-container { width: 100%; }
   li.email-container { width: 100%; }
   li.zip-container { width: 50%; }

form div.submission {
   width: 100%;
    vertical-align: middle;
    display: inline-block;
}

#post-join {     
   margin: 0;
    font-size: 180%;
    color: white; }
    
   #post-join p { margin: 0 auto; }
