.formulator {
  width: 100%;
  max-width: 750px;
  margin: 0 auto 2em auto;
  font-size: 1em;
  overflow: visible;
}
.formulator * {
  font-size: inherit;
}
.formulator > h2,
.formulator > h3 {
  margin-top: 0;
}
.formulator .intro {
  margin-bottom: .2em !important;
  font-style: italic;
  opacity: .8;
}
.formulator .clc .col {
  width: 50%;
  margin: 0;
  padding: .1em;
}
/* Honeypot */
.formulator .hp_con,
.formulator #e_mail_repeat,
.formulator #hp_label {
  display: none;
}
.formulator .clc .col:first-of-type {
  border-right: 1px solid rgba(0, 0, 0, .2);
  padding-right: 2em;
}
.formulator .clc .col:last-of-type {
  padding-left: 2em;
}
.formulator label {
  display: block;
  margin-top: 1em;
  padding-bottom: .1em;
  font-weight: 700;
}
.formulator label.inline {
  display: inline-block;
  margin-top: 0;
  padding-bottom: 0;
}
.formulator label.required::after,
.formulator legend.required::after {
  content: '*';
  display: inline-block;
  opacity: .6;
}
.formulator fieldset {
  margin-top: 1.6em;
  padding: 1em;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 2px;
}
.formulator legend {
  padding: 0 .5em;
  margin-left: -.5em;
}
.formulator .subheading {
  margin-top: 1em;
  font-weight: 700;
}
.formulator input:not(.button),
.formulator textarea {
  font-size: 1em;
  padding: 1.3em;
  box-shadow:
    0px 0px 0.5px rgba(0, 0, 0, 0.031),
    0px 0px 1.1px rgba(0, 0, 0, 0.044),
    0px 0px 2.1px rgba(0, 0, 0, 0.055),
    0px 0px 3.8px rgba(0, 0, 0, 0.066),
    0px 0px 7.1px rgba(0, 0, 0, 0.079),
    0px 0px 17px rgba(0, 0, 0, 0.11)
  ;
}
.formulator select {
  overflow: auto;
  line-height: 1em;
  padding: .4em;
}
.formulator input:not(.button),
.formulator textarea,
.formulator select {
  margin-bottom: 1em;
  border: none;
  border-radius: .5em;
}
.formulator select {
  min-width: 25%;
}
.formulator select option {
  padding: .3em 2em .3em .5em;
  cursor: pointer;
}
.formulator select option:hover {
  background-color: rgba(166, 194, 215, .4);
}
.formulator select option:disabled {
  opacity: .8;
  font-style: italic;
  cursor: default;
  background-color: transparent
}
.formulator input::-webkit-input-placeholder,
.formulator textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  opacity: .8;
  font-style: italic;
}
.formulator input::-moz-placeholder,
.formulator textarea::-moz-placeholder { /* Firefox 19+ */
  opacity: .8;
  font-style: italic;
}
.formulator input:-ms-input-placeholder,
.formulator textarea:-ms-input-placeholder { /* IE 10+ */
  opacity: .8;
  font-style: italic;
}
.formulator input:-moz-placeholder,
.formulator textarea:-moz-placeholder { /* Firefox 18- */
  opacity: .8;
  font-style: italic;
}
.formulator input::placeholder,
.formulator textarea::placeholder { /* Firefox 18- */
  opacity: .8;
  font-style: italic;
}
.formulator input:focus,
.formulator textarea:focus,
.formulator select:focus {
  outline: 2px solid #5C8DB6;
  outline-offset: -1px;
}
.formulator input[type=checkbox]:focus,
.formulator input[type=radio]:focus {
  outline: none !important;
}
.formulator input[type=text],
.formulator input[type=number],
.formulator textarea {
  min-width: 100%;
  line-height: 1.2em;
}
.formulator input[type=file] {
  width: 100%;
  padding: .4em;
  line-height: 1em;
  margin: .2em 0 1em 0;
}
.formulator input + label.inline {
  margin-right: 1em;
  cursor: pointer;
}
.formulator .hint {
  margin-top: 1.3em;
  border: 1px solid #FFD71A;
  border-radius: .5em;
  padding: .6em;
  font-size: .9em !important;
  background-color: #FBFAD4;
}
.formulator .unit {
  display: inline-block;
  padding-left: .2em;
}
.formulator .consent_con {
  font-size: .85em !important;
}
.formulator .consent_con input[type=checkbox] {
  float: left;
  margin: 0 .8em 0 4px;
  transform: scale(1.5);
  position: relative;
}
.formulator .consent_con .consent_text {
  line-height: 1.5em;
}
.formulator .consent_con .consent_text * {
  line-height: inherit;
}
.formulator .btn_container {
  margin-top: 1.5em;
}
.formulator .btn_container input {
  margin-right: 1em;
}
.formulator .btn_container input:last-of-type {
  margin-right: 0;
}
.formulator .errormsg {
  font-size: .9em !important;
  margin-top: .1em;
  padding: .2em;
  color: #C72828;
}
.formulator textarea + .errormsg {
  margin-top: -.1em;
}
.formulator .mailingmsg {
  display: block;
  padding: 2em;
  border: 1px solid #555;
  -webkit-border-radius: .4em;
  -moz-border-radius: .4em;
  border-radius: .4em;
  font-weight: 700;
  letter-spacing: .05em;
}
.formulator .mailingmsg.success {
  background-color: #E8F7E2;
  border-color: #B9E8A4;
  color: #4B8F2D;
}
.formulator .mailingmsg.fail {
  background-color: #F6E2E2;
  border-color: #E7A3A8;
  color: #8D2B33;
}
@media (max-width: 900px) {
  .formulator {
    margin-top: 1em;
    padding: 2em;
  }
  .formulator .clc .col {
    width: 100%;
    margin: 0;
    padding: 0 !important;
  }
  .formulator .clc .col:first-of-type {
    border-right: none;
  }
}
@media (max-width: 600px) {
  .formulator input:not(.button),
  .formulator textarea {
    padding: 1em;
  }
}
@media (max-width: 500px) {
  .formulator {
    margin: 2em auto 1em auto;
    padding: 0;
    border: none;
    background-color: transparent;
  }
}