/* CSSForms */
/* ### TRANSITIONS ### */
.formlist,
form {
  list-style-type: none;
  width: 100%;
  float: left;
}
.formlist li,
.formrow,
.frm_submit,
p.submit {
  display: block;
  float: left;
  clear: left;
  width: 100%;
  padding: 0.6em 0 !important;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.4);
}
.formlist li:last-child,
.formrow:last-child,
.frm_submit:last-child,
p.submit:last-child {
  border-bottom: none;
}
.formlist li::before {
  content: "" !important;
}
.formlist li ul {
  display: block;
  margin: -0.8em 0;
  list-style-type: none;
}
.formlist li ul li {
  border-bottom: none;
}
input,
textarea,
span.select,
option,
label,
legend {
  padding: 0.4em 0.2em;
  outline: 0;
}
input,
textarea,
select,
option {
  line-height: 1em;
}
/* ### FIELDSET ### */
fieldset {
  display: block;
}
legend {
  display: block;
  float: left;
  width: 35%;
  margin-right: 5%;
  margin-bottom: -2.1em;
  padding-left: 0;
  padding-right: 0;
  line-height: 1.3em;
}
label {
  position: relative;
  display: block;
  float: left;
  width: 35%;
  margin-top: 0.15em;
  margin-right: 5%;
  padding-left: 0;
  padding-right: 0;
  cursor: pointer;
}
/* required [FORMIDABLE] */
label.frm_required_field::after {
  content: "*";
  color: #dd47aa;
}
/* ### TEXT INPUTS ### */
input[type=text],
input[type=password],
textarea,
span.select,
.file {
  width: 56%;
  margin: 0.2em;
  /* same as box-shadow! */
  border: 1px solid #478add;
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  /*
  box-shadow: 0px 0px 0px 0.2em rgba(40,40,40,0.05);
  -moz-box-shadow: 0px 0px 0px 0.2em rgba(40,40,40,0.05);
  -webkit-box-shadow: 0px 0px 0px 0.2em rgba(40,40,40,0.05);
  */
  font: inherit;
  background: transparent;
}
/* hover + focus */
input[type=text]:hover,
input[type=password]:hover,
textarea:hover,
span.select:hover,
.file:hover,
input[type=text]:focus,
input[type=password]:focus,
textarea:focus,
span.select:focus,
.file:focus {
  border-color: #dd47aa;
  /*
  box-shadow: 0px 0px 0px 0.2em rgba(40,40,40,0.1);
  -moz-box-shadow: 0px 0px 0px 0.2em rgba(40,40,40,0.1);
  -webkit-box-shadow: 0px 0px 0px 0.2em rgba(40,40,40,0.1);
  */
}
/* disabled */
input[type=text]:disabled,
input[type=password]:disabled,
textarea:disabled,
span.select select:disabled,
.file input:disabled,
input[type=text][readonly],
input[type=password][readonly],
textarea[readonly] {
  color: rgba(40, 40, 40, 0.4) !important;
  background: rgba(40, 40, 40, 0.15) !important;
}
/* ### CHECKBOXES + RADIOS ### */
.frm_radio,
.frm_checkbox {
  float: right;
  clear: right;
  width: 60%;
}
.frm_radio > label,
.frm_checkbox > label {
  float: none;
  width: auto;
  padding-left: 2em;
}
.frm_radio input,
.frm_checkbox input {
  float: left;
  margin: 0 0 0 -2em;
}
.frm_radio label.initiated,
.frm_checkbox label.initiated {
  padding-left: 3em;
}
.frm_radio label.initiated::before,
.frm_checkbox label.initiated::before {
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 1.25em;
  height: 1.25em;
  margin: 0.1em 0 0 0.15em;
  padding: 0;
  font-size: 1.5em;
  line-height: 1.25;
  text-align: center;
  color: rgba(40, 40, 40, 0.15);
  background: transparent;
  border: 1px solid #478add;
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
}
.frm_radio label.initiated:hover::before,
.frm_checkbox label.initiated:hover::before,
.frm_radio label.initiated:focus::before,
.frm_checkbox label.initiated:focus::before {
  border-color: #dd47aa;
}
.frm_checkbox label.initiated::before {
  content: '✔';
}
.frm_radio label.initiated::before {
  content: '✖';
}
.frm_checkbox label.initiated.checked::before,
.frm_radio label.initiated.checked::before {
  color: #478add;
}
.frm_checkbox label.initiated input,
.frm_radio label.initiated input {
  opacity: 0;
}
/* ### SELECT ### */
span.select {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
span.select::after {
  content: '▼';
  position: absolute;
  z-index: 1;
  right: 0.4em;
  top: 0.4em;
  color: #aaa;
}
select,
option {
  outline: none !important;
  -moz-outline-style: none;
  background: transparent;
}
option::-moz-focus-inner {
  border: 0;
  outline: 0;
}
select {
  position: relative;
  z-index: 2;
  width: 120%;
  font: inherit;
  line-height: 1em;
  background: transparent;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
}
option {
  padding: 0;
  font: inherit;
}
/* ### FILE UPLOADS ### */
.file {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.file input {
  background: transparent;
  border: 1px solid transparent;
  font: inherit;
  -webkit-appearance: none;
}
/*

.file:after {
  content: "\2039 Browse";
  .button;
  
  position: absolute;
  top: 0;
  right: 0;
  
  margin-right: 0;
  
  .border-radius( 0px );

  
}

*/
/* webkit */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .file input {
    position: relative;
    left: -7.7em;
    padding: 0;
  }
}
.file-js {
  position: relative;
  display: inline-block;
  width: 54%;
}
.file-js input[type=file] {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 9;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.file-js input[type=text] {
  width: 98%;
}
.file-js::after {
  content: '↑';
}
/* ### BUTTONS ### */
/* button reset */
button::-moz-focus-inner,
input[type=button]::-moz-focus-inner,
input[type=submit]::-moz-focus-inner,
input[type=reset]::-moz-focus-inner {
  padding: 0 !important;
  border: none !important;
}
input[type=submit],
input[type=reset],
button,
.button {
  display: inline-block;
  margin-right: 0.4em;
  margin-bottom: 0.4em;
  padding: 0.8em 2em;
  font: inherit;
  line-height: 1;
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.4);
  text-decoration: none;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3), 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent;
  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3), 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent;
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3), 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent;
  color: #fff;
  background: #478add;
  border: 2px solid rgba(255, 255, 255, 0.6);
  border: none;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  cursor: pointer;
}
input[type=submit]:hover,
input[type=reset]:hover,
button:hover,
.button:hover,
input[type=submit]:focus,
input[type=reset]:focus,
button:focus,
.button:focus,
.buttonhover {
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3), 0px 0px 2px rgba(0, 0, 0, 0.4), 0px -3px 0px rgba(0, 0, 0, 0.1) inset;
  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3), 0px 0px 2px rgba(0, 0, 0, 0.4), 0px -3px 0px rgba(0, 0, 0, 0.1) inset;
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3), 0px 0px 2px rgba(0, 0, 0, 0.4), 0px -3px 0px rgba(0, 0, 0, 0.1) inset;
  background: #317cd9;
}
input[type=submit]:active,
input[type=reset]:active,
button:active,
.button:active,
buttonactive {
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
  -moz-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
  -webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
}
/* secondary */
input[type=reset],
button.secondary,
.button.secondary {
  background: #f0f0f0;
  color: #444;
  text-shadow: 0px -1px 1px #ffffff;
}
input[type=reset]:hover,
button.secondary:hover,
.button.secondary:hover,
input[type=reset]:focus,
button.secondary:focus,
.button.secondary:focus,
.button.secondary.hover {
  background: #e3e3e3;
}
/* disabled */
input[type=submit]:disabled,
input[type=reset]:disabled,
button:disabled,
.button:disabled {
  background: #dfdfdf;
  color: #888888;
  text-shadow: none;
  box-shadow: 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
  -moz-box-shadow: 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
  -webkit-box-shadow: 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
}
input[type=submit]:disabled:hover,
input[type=reset]:disabled:hover,
button:disabled:hover,
.button:disabled:hover,
input[type=submit]:disabled:focus,
input[type=reset]:disabled:focus,
button:disabled:focus,
.button:disabled:focus {
  background: #464646;
  text-decoration: line-through;
  box-shadow: 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
  -moz-box-shadow: 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
  -webkit-box-shadow: 0px -3px 0px rgba(0, 0, 0, 0.1) inset, 0px 0px 0px transparent, 0px 0px 0px transparent;
}
input[type=reset]:disabled,
button.secondary:disabled,
.button.secondary:disabled {
  background: #fdfdfd;
  color: #bbbbbb;
}
input[type=reset]:disabled:hover,
button.secondary:disabled:hover,
.button.secondary:disabled:hover {
  background: #e3e3e3;
}
/* ### MESSAGES ### */
.formmessage {
  position: relative;
  z-index: 3;
  clear: both;
  width: 54%;
  margin: 0.8em 0 0 40%;
  padding: 0.4em 2%;
  background: #dd47aa;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}
.formmessage:before,
.formmessage:after {
  content: ".";
  position: absolute;
  top: -12px;
  display: block;
  width: 0px;
  height: 0px;
  border-width: 6px;
  border-style: solid;
  overflow: hidden;
}
.formmessage:before {
  left: 8px;
  border-color: transparent #dd47aa #dd47aa transparent;
}
.formmessage:after {
  left: 20px;
  border-color: transparent transparent #dd47aa #dd47aa;
}
/* ### DESCRIPTIONS ### */
.formdescription {
  position: relative;
  z-index: 3;
  clear: both;
  width: 54%;
  margin: 0.2em 0 0 41%;
  color: #bababa;
}
/* ### SUBMIT ### */
.frm_ajax_loading {
  display: none;
}
