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: 48px;;
  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; 
  bottom: 100%;
  border-color: #ff0000;    
  border: solid transparent; 
  pointer-events: none;
  border-bottom-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 { 
  padding-top: 15px;
  text-align: center;
  display: block; 
  }
  
form li { 
  margin: 0;
  display: block; }
.labels-above.animated li { padding: .4em 0; }

input,
select,
textarea { 
    background: rgba(255,255,255,.8); 
    width: 100%;
    height: 44px;
    margin: 0 auto;
    padding: 5px 11px;   
    cursor: pointer; 
    font-style: normal;
    font-weight: 400;
    font-size: 100%;
    line-height: 1.5;
    color: #183f6f;
    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, input[type='checkbox'] {
    display: inline-block;
    width: auto;
    vertical-align: middle;
    margin-right: .25em;
}

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


input:hover,
select:hover,
textarea:hover { 
    background: rgba(255,255,255,1);
    color: #183f6f;
    }
    
input:focus,
select:focus,
textarea:focus { 
    background: rgba(255,255,255,1);
    color: black;
    }


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

input:-ms-input-placeholder            { color: #99a1b5; }
input::-webkit-input-placeholder       { color: #99a1b5; }
input:hover:-ms-input-placeholder      { color: #999fae; }
input:hover::-webkit-input-placeholder { color: #999fae; }     

textarea:-ms-input-placeholder            { color: #99a1b5; }
textarea::-webkit-input-placeholder       { color: #99a1b5; }
textarea:hover:-ms-input-placeholder      { color: #999fae; }
textarea:hover::-webkit-input-placeholder { color: #999fae; }      

textarea { border: 0; height: 10em; }

/* Generic Button
--------------------------------------------------- */
.button {
   position: relative;
   background-color: #183f6f;
   font-size: 100%;
   letter-spacing: 0;
   font-weight: 700;
   line-height: 1;
   color: white;
   display: inline-block;
   text-transform: uppercase;
   cursor: pointer;
   -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;
   transition:         all .35s ease-in-out; }
   
button { height: 54px !important; border: 0; padding: 0 40px; }

.button:hover {
   background-color: #51cab2;
   color: white;}

.button:active {
   background-color: white;
   color: #51cab2;}
   
   .button.white, button.white {
      background-color: white;
      color: #183f6f;}
   
   .button.white:hover, button.white:hover {
      background-color: white;
      color: #51cab2;}


/* 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.fields {
   width: 70%;
    vertical-align: middle;
    display: inline-block;
   margin: 0 -5px 0 0;
}

#contact-us-form div.fields { width: 100% !important;}
#contact-us-form div.field { width: 100% !important; margin-bottom: 5px; }
section.checkbox { padding: .5em; } 

section.checkbox span {     
   display: inline-block;
    width: 90%;
    vertical-align: middle;
    font-size: 80%;
    line-height: 1.2; }
    
    .submit { width: 100%; }
    .submit .button { width: 100%; }

   li.email-container { width: 100% !important; }
   li.mobile-container { width: calc(30% - 2px); margin-left: 2px; }
   

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

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