label {
  cursor: pointer;
}

input, select, textarea {
  outline: none;
}

input[type=text], input[type=password] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 500px;
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  outline: none;
  height: 55px;
  line-height: 55px;
  font-weight: 500;
  font-size: 16px;
  padding: 0 35px;
  background: #FAFBFF;
  color: #3C4456;
  border: 1px solid #9EA3AE;
}

input[type=submit] {
  cursor: pointer;
}

.isOk input[type=text], .isOk input[type=password] {
  background: #F3F8FF;
  border: 1px solid #B9CFEE;
}

.isError input[type=text], .isError input[type=password] {
  background: #FFF4F5;
  border: 1px solid #EA6767;
}

:-ms-input-placeholder {
  font-weight: 300;
  font-size: 16px;
  color: #888E9D;
}

::-ms-input-placeholder {
  font-weight: 300;
  font-size: 16px;
  color: #888E9D;
}

::placeholder, :-ms-input-placeholder, ::-ms-input-placeholder {
  font-weight: 300;
  font-size: 16px;
  color: #888E9D;
}

.checkFormBlock label {
  display: inline-block;
  position: relative;
}

.checkIconsFormBlock .inputIcon {
  position: absolute;
  top: 50%;
  right: 25px;
  opacity: 0;
  margin-top: -1px;
}

.formElementBlock.isOk .inputIcon.iconOk {
  opacity: 1;
}

.formElementBlock.isError .inputIcon.iconError {
  opacity: 1;
}

.formElementBlock.isError .errorText {
  opacity: 1;
}

.checkIconsFormBlock input[type=text], .checkIconsFormBlock input[type=password] {
  padding-right: 50px;
}

.checkFormBlock .errorText {
  display: block;
  font-size: 13px;
  color: red;
  padding: 0 15px;
  opacity: 0;
  height: 17px;
}

.checkboxBlock input[type=checkbox] {
  display: none;
}

.checkboxBlock .customCheckboxBlock {
  background: #FFFFFF;
  border: 1px solid #D7DDE8;
  width: 23px;
  height: 23px;
  position: relative;
  text-align: center;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}

.checkboxBlock.active .customCheckboxBlock {
  background: #3485FF;
}

.checkboxBlock .customCheckboxBlock svg {
  opacity: 0;
  position: relative;
  top: 1px;
}

.checkboxBlock .customCheckboxBlock svg path {
  fill: #fff;
}

.checkboxBlock.active .customCheckboxBlock svg {
  opacity: 1;
}

.formElementBlock {
  margin-bottom: 10px;
}

.formButtonBlock {
  margin-top: 20px;
}

.formElementBlock.w100 label, .formElementBlock.w100 input {
  width: 100%;
}

select.select2 {
  opacity: 0;
}

.select2-container {
  width: 100% !important;
}

.countrySelectBlock .select2-selection__rendered {
  position: relative;
}

.countrySelectBlock .select2-selection__rendered:after {
  content: "";
  display: block;
  width: 17px;
  height: 15px;
  position: absolute;
  top: 6px;
  right: 0px;
  cursor: pointer;
  background: url(../images/dropDown_icon_closed.svg) left top no-repeat;
}

.countrySelectBlock .select2-container--open .select2-selection__rendered:after {
  background: url(../images/dropDown_icon.svg) left top no-repeat;
  -webkit-transform: matrix(-1, 0, 0, 1, 0, 0);
  transform: matrix(-1, 0, 0, 1, 0, 0);
}

.select2-selection {
  height: 47px !important;
  line-height: 47px !important;
  border: 1px solid #E1E6F2 !important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 7px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
}

.select2-selection__rendered {
  width: 100%;
  height: 100%;
  line-height: 47px !important;
}

.select2-selection__arrow {
  height: 100% !important;
  line-height: 47px;
}

.countrySelectBlock .select2-selection {
  height: auto !important;
  line-height: unset !important;
  border: none !important;
}

.countrySelectBlock .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
  background: none;
  border: none;
  display: inline-block;
  padding: 0;
  margin: 0;
  height: 20px;
}

.countrySelectBlock .select2-container .select2-search--inline .select2-search__field {
  position: relative;
  top: -13px;
  font-size: 13px;
}

.countrySelectBlock .select2-container--default .select2-selection--multiple .select2-selection__rendered li .val {
  display: none;
}

.countrySelectBlock .select2-container--default .select2-selection--multiple .select2-selection__rendered li img {
  width: 24px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.countrySelectBlock .select2-container--default .select2-selection--multiple .select2-selection__rendered li .select2-selection__choice__remove {
  display: none;
}

.select2-results__options li img, .selection img {
  width: 20px;
  height: auto;
}

span.select2-selection.select2-selection--single {
  outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  font-size: 14px;
  color: #3C4456;
}

.contentBlock span.select2-selection.select2-selection--single {
  background: #FAFBFF;
}

.formBlock label {
  display: block;
  overflow: hidden;
}

.formBlock label .heading {
  display: block;
  font-weight: 500;
  font-size: 16px;
  color: #3C4456;
  margin-bottom: 7px;
}

.formBlock .radioBlock label {
  display: inline-block;
}

.formBlock .radioBlock .text, .formGroupBlock .text {
  display: block;
  font-weight: 500;
  font-size: 16px;
  color: #3C4456;
  margin-bottom: 7px;
}

.formBlock .radioBlock label input {
  display: none;
}

.formBlock .radioBlock .customRadioBlock {
  height: 43px;
  line-height: 43px;
  background: #F4F7FD;
  border-radius: 500px;
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  font-size: 14px;
  color: #636977;
  padding: 0 18px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.formBlock .radioBlock.active .customRadioBlock {
  background: #F4F8FF;
  border: 1px solid #3485FF;
  font-weight: 500;
  font-size: 14px;
  color: #3485FF;
}

.formGroupBlock .radioBlock {
  display: inline-block;
  margin-right: 10px;
}

.formGroupBlock .radioBlock:last-child {
  margin-right: 0px;
}

.textInputWithArrowBlock .visibleElement {
  position: relative;
}

.textInputWithArrowBlock input {
  background: #FAFBFF;
  height: 49px;
  line-height: 49px;
  font-size: 14px;
  color: #3C4456;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  padding: 0 20px 0 8px;
  width: 100%;
  border: 1px solid #E1E6F2;
}

.textInputWithArrowBlock .arrow {
  display: block;
  position: absolute;
  right: 10px;
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  margin-left: -4px;
  margin-top: -2px;
  top: 50%;
  width: 0;
}