form .field {
  margin: 6px 0 18px 0;
}

form .field-wrapper {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

form .field-wrapper .field {
  position: relative;
  padding: 0 10px 0px 0;
  margin: 0;
  -webkit-box-flex: 1;
  flex: 1;
}

form .field-wrapper .field:last-child {
  padding-right: 0;
}

.search-filter-block .field-wrapper .filter-block {
  height: 100%;
}

.search-filter-block field-wrapper .filter-block-content {
  height: 100%;
}

form .field label > span > i {
  font-style: normal;
  color: red;
}

[data-type="validator-error"] {
  font-size: 11px;
  position: absolute;
  z-index: 10;
  margin-top: 2px;
  color: #ffffff;
  background: rgb(200, 53, 53);
  box-shadow: 0 8px 9px -2px rgba(187, 74, 74, 0.51);
  padding: 4px;
  opacity: 0.8;
  pointer-events: none;
}

[data-type="validator-error"]:before {
  content: "";
  width: 0;
  height: 0;
  top: -5px;
  position: absolute;
  left: 6px;
  border-left: 5px solid rgba(0, 0, 0, 0);
  border-right: 5px solid rgba(0, 0, 0, 0);
  border-bottom: 5px solid #ca3537;
}

form input[type="number"],
form input[type="text"],
form input[type="password"],
form textarea {
  font-weight: 400;
  cursor: auto;
  text-align: left;
  color: #1b1b1b;
  border: 1px solid #e3e2e2;
  background: #f6f6f6;
  text-shadow: none;
  margin: 4px 0;
  font-size: 14px;
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 8px 6px;
  border-radius: 1px;
  outline: none;
  resize: none;
  border-radius: 3px;
  font-family: "Montserrat", "Arial", sans-serif;
}

body input[type="text"].error,
body textarea.error {
  border-color: #f00;
  background: #ffe4e2;
}

form input[type="number"]:focus,
form input[type="text"]:focus,
form input[type="password"]:focus,
form textarea:focus {
  border-color: darkgrey;
  background: #fff;
}

form input[type="number"][disabled],
form input[type="text"][disabled],
form input[type="password"][disabled],
form textarea[disabled] {
  background-color: #e8e8e8;
}

[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
  position: absolute;
  opacity: 0;
  margin: 0;
}

[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label {
  position: relative;
  padding-left: 25px;
  cursor: pointer;
}

[type="checkbox"]:not(:checked) + label:before,
[type="checkbox"]:checked + label:before {
  font-family: "Material Icons";
  font-size: 18px;
  position: absolute;
  top: -3px;
  left: -1px;
  content: "check_box";
  color: #ca3537;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

[type="checkbox"]:not(:checked) + label:before {
  content: "check_box_outline_blank";
  color: inherit;
}

[type="checkbox"]:disabled:not(:checked) + label:before,
[type="checkbox"]:disabled:checked + label:before {
  color: #9a9a9a;
}

[type="checkbox"]:disabled + label {
  color: #9a9a9a;
}

[type="radio"]:not(:checked),
[type="radio"]:checked {
  position: absolute;
  opacity: 0;
}

[type="radio"]:not(:checked) + label,
[type="radio"]:checked + label {
  position: relative;
  padding-left: 25px;
  cursor: pointer;
}

[type="radio"]:not(:checked) + label:before,
[type="radio"]:checked + label:before {
  font-family: "Material Icons";
  font-size: 18px;
  position: absolute;
  top: -4px;
  left: -1px;
  content: "radio_button_checked";
  color: #ca3537;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

[type="radio"]:not(:checked) + label:before {
  content: "radio_button_unchecked";
  color: inherit;
}

[type="radio"]:disabled:not(:checked) + label:before,
[type="radio"]:disabled:checked + label:before {
  color: #9a9a9a;
}

[type="radio"]:disabled + label {
  color: #9a9a9a;
}

.file-input-wrapper {
  line-height: 1;
  position: relative;
  overflow: hidden;
  width: 200px;
  margin-bottom: 20px;
  text-align: center;
}

input[type="file"] {
  font-size: 200px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  opacity: 0;
}

.file-input-fake-button {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

form input[type="submit"],
form input[type="reset"],
form button,
a.button {
  position: relative;
  display: inline-block;
  background: #ca3537;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#a92b2d), to(#ca3537));
  background-image: linear-gradient(0deg, #a92b2d 0%, #ca3537 100%);
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  box-sizing: border-box;
  padding: 13px 36px;
  border-radius: 32px;
  box-shadow: 0 5px 15px 0 rgba(97, 37, 37, 0.15), 0 2px 4px 0 rgba(148, 93, 93, 0.2);
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  text-align: center;
  border: 0;
  outline: none;
  cursor: pointer;
}

form input[type="submit"]:hover,
form input[type="reset"]:hover,
form button:hover,
a.button:hover {
  background: #ca3537;
  color: #fff;
}

form input[type="submit"]:active,
form input[type="reset"]:active,
button:active,
a.button:active {
  box-shadow: inset 0 3px 3px rgba(240, 0, 0, 0.4), rgba(0, 0, 0, 0.12) 0px 1px 6px, rgba(0, 0, 0, 0.12) 0px 1px 4px;
}

form input[type="submit"][disabled],
form input[type="reset"][disabled],
form button[disabled],
a.button[disabled],
form button[disabled]:hover,
a.button[disabled]:hover,
form button[disabled]:active,
a.button[disabled]:active,
form button[disabled]:visited,
a.button[disabled]:visited {
  cursor: not-allowed;
  background: #9c9c9c;
  color: #cbcbcb;
}

form input[type="text"],
form input[type="password"],
form textarea {
  box-sizing: border-box;
  width: 100%;
  margin: 5px 0;
  padding: 9px 5px;
  resize: none;
  color: #1d1d1d;
  border: 1px solid #a2a2a2;
  -webkit-transition: 300ms ease-out;
  transition: 300ms ease-out;
  border-radius: 1px;
  background: #ffffff;
}
