.fr_form * {
  box-sizing: border-box; }

.fr_loading {
  color: #888;
  font-size: 125%;
  padding: 20px 0;
  text-align: center; }

.fr_required,
.fr_error {
  color: #c12f2e; }

.fr_response_field.error input, .fr_response_field.error textarea {
  border-color: #c12f2e; }

.fr_response_field label {
  display: block; }

.fr_response_field {
  margin-bottom: 20px; }

.fr_response_field.fr_response_field_header {
    margin-bottom: 0;
}

.fr_grid {
  margin-left: -10px; }
  .fr_grid:before, .fr_grid:after {
    display: table;
    content: " "; }
  .fr_grid:after {
    clear: both; }
  .fr_grid > div {
    float: left;
    position: relative;
    padding-left: 10px; }
    .fr_grid > div.has_sub_label {
      margin-top: 1.75em; }
    .fr_grid > div input,
    .fr_grid > div select {
      width: 100%; }
  .fr_grid .fr_spacer {
    margin-top: 1.75em; }

.fr_sub_label {
  line-height: 1.5em;
  color: #888;
  position: absolute;
  top: -1.5em; }

.fr_full,
.fr_half {
  width: 100%; }

@media screen and (min-width: 640px) {
  .fr_half {
    width: 50%; } }
.fr_response_field_identification > label {
  display: none; }
@media screen and (max-width: 639px) {
  .fr_response_field_identification .fr_half:first-child {
    margin-bottom: 20px; } }

.fr_map_wrapper {
  width: 100%;
  height: 240px;
  position: relative; }

.fr_map_map {
  width: 100%;
  height: 216px; }

.fr_map_cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background: rgba(255, 255, 255, 0.4);
  text-align: center;
  padding-top: 100px;
  font-size: 125%;
  cursor: pointer; }

.fr_map_toolbar {
  height: 24px;
  line-height: 24px;
  padding: 0 5px;
  background-color: #eee;
  font-size: 90%; }
  .fr_map_toolbar:before, .fr_map_toolbar:after {
    display: table;
    content: " "; }
  .fr_map_toolbar:after {
    clear: both; }
  .fr_map_toolbar .fr_map_coord {
    float: left; }
  .fr_map_toolbar a {
    float: right; }

.fr_field_wrapper {
  position: relative; }

.fr_length_counter {
  padding: 1px 4px;
  background: rgba(0, 0, 0, 0.1);
  font-size: 90%; }
  .fr_length_counter.is_short {
    color: #888; }
  .fr_length_counter.is_long {
    color: #c12f2e; }

.fr_response_field_text input {
  width: 160px; }
  .fr_response_field_text input.size_medium {
    width: 300px; }
  .fr_response_field_text input.size_large {
    width: 100%; }

.fr_response_field_email input,
.fr_response_field_website input,
.fr_response_field_phone input {
  width: 160px; }

.fr_response_field_paragraph textarea {
  width: 160px;
  height: 40px; }
  .fr_response_field_paragraph textarea.size_medium {
    width: 100%;
    height: 100px; }
  .fr_response_field_paragraph textarea.size_large {
    width: 100%;
    height: 240px; }

.fr_text {
  font-size: 90%; }
  .fr_text.size_medium {
    font-size: 100%; }
  .fr_text.size_large {
    font-size: 125%; }

.fr_response_field_number input[type=text] {
  width: 160px; }
.fr_response_field_number .fr_units {
  font-size: 90%; }

.fr_other_option label {
  display: inline; }
.fr_other_option input[type=text] {
  display: inline;
  width: auto; }

.fr_table_col_remove {
  width: 25px;
  padding: 0;
  text-align: center;
  vertical-align: middle; }

.fr_bottom {
  display: table;
  width: 100%; }

.fr_bottom_l,
.fr_bottom_r {
  display: table-cell; }

.fr_bottom_l {
  text-align: left; }

.fr_bottom_r {
  text-align: right; }

.fr_error_alert_bar {
  background-color: #c12f2e;
  color: #fff;
  padding: 10px;
  margin-bottom: 20px; }
  .fr_error_alert_bar a, .fr_error_alert_bar a:hover {
    color: #fff; }

.fr_pagination {
  list-style: none;
  margin: 0 0 20px;
  padding: 0; }
  .fr_pagination:before {
    content: 'Pages: '; }
  .fr_pagination li {
    display: inline; }

.fr_pagination {
  list-style: none;
  border-bottom: 3px solid #efefef;
  margin-bottom: 40px;
  padding-left: 0;
  display: table;
  width: 100%;
  height: 40px; }
  .fr_pagination:before {
    content: ''; }
  .fr_pagination li {
    display: table-cell;
    text-align: center; }
    .fr_pagination li a, .fr_pagination li span {
      cursor: pointer;
      position: relative;
      display: inline-block;
      bottom: -20px;
      color: #fff;
      width: 40px;
      height: 40px;
      text-align: center;
      line-height: 36px;
      border-radius: 50%;
      font-size: 16px;
      margin-right: 20px;
      text-decoration: none;
      border: 2px solid #e5e5e5;
      text-shadow: 0 -1px 0 #999; }
    .fr_pagination li a {
      background-color: #aaa; }
      .fr_pagination li a:hover {
        background-color: #9d9d9d; }
    .fr_pagination li span {
      background-color: #2aa828; }
    .fr_pagination li.has_errors span {
      background-color: #c12f2e; }
    .fr_pagination li.has_errors a {
      background-color: #f2c9c9; }
      .fr_pagination li.has_errors a:hover {
        background-color: #edb5b4; }
    .fr_pagination li.active span {
      background-color: #2aa828; }

.fr_bottom {
  background-color: #eee;
  padding: 20px; }
