/* -------------------- Reset -------------------- */
.b-form input::-ms-clear,
.b-form textarea::-ms-clear { visibility: hidden; }
.b-form textarea { overflow: auto; }

/*input, select { -webkit-appearance: none; -moz-appearance: none; }*/

/* --------------------
   -------------------- Forms layout -------------------- */
.b-form { position: relative; margin: 60px 0 42px; font: 400 1em 'Lato', sans-serif; color: #252525; }

@media (max-width: 767px) {

    .b-form { margin: 40px 0 24px; }

}

.b-form:first-child { margin-top: auto; }
.b-form:last-child { margin-bottom: auto; }

.b-form .flex { margin-bottom: -12px; }
.b-form .flex > [class*="col-"] { margin-bottom: 12px; }

/* * * * * *
 * * * * * * Form boxes * * * * * */
.b-form_box,
.b-form_box_field,

.b-form input,
.b-form textarea,

.b-form .e-select,
.b-form .e-uploader { position: relative; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

.b-form_box,
.b-form_box_field { display: block; }

.b-form_box { margin-bottom: 36px; }
.b-form_box:last-child { margin-bottom: auto; }

/* * * * * *
 * * * * * * Form footer * * * * * */
.b-form_bottom { margin-top: 36px; white-space: nowrap; }
.b-form_bottom:first-child { margin-top: auto; }

.b-form_bottom > a,
.b-form_bottom > span,
.b-form_bottom > button { display: inline-block; vertical-align: middle; margin-right: 4px; }

.b-form_bottom__right { text-align: right; }
.b-form_bottom__right > a,
.b-form_bottom__right > button { display: inline-block; margin-left: 7px; margin-right: 0; }

.b-form_bottom__center { text-align: center; }
.b-form_bottom__center > a,
.b-form_bottom__center > button { display: inline-block; margin: 0 7px; }

.b-form_bottom .e-btn_xs { padding: 9px 16px 8px; font: 700 12px/1 'Lato', sans-serif; }


/* -------------------- Forms elements -------------------- */
/* * * * * *
 * * * * * * Labels * * * * * */
.b-form_box_title { display: block; margin-bottom: 8px; font: 400 1em 'Lato', sans-serif; color: #04356c; transition: color 250ms; }
.b-form_box_title.required:after { color: #ff6400; content: ' \002A'; }

.b-form_box_title:last-child { margin-bottom: auto; }

@media (min-width: 768px) {

    .b-form_box_title__middle:last-child { margin-top: .75em; }

}

.b-form_box.m-error .b-form_box_title { color: #ff6400; }

/* * * * * *
 * * * * * * Links * * * * * */
.b-form_box a { text-decoration: none; color: #0d56a6; }
.b-form_box a:hover { color: #ff6400; }


/* --------------------
   -------------------- Forms fields -------------------- */
/* * * * * *
 * * * * * * Fields * * * * * */
.b-form_box_field input[type="text"],
.b-form_box_field input[type="date"],
.b-form_box_field input[type="tel"],
.b-form_box_field input[type="email"],
.b-form_box_field input[type="password"],

.b-form_box_field textarea,

.b-form_box_field .e-select,
.b-form_box_field .selectric,

.b-form_box_field .b-form_box_field_date { display: block; position: relative; padding: 0 15px; width: 100%; height: 42px; font: 400 18px 'Lato', sans-serif; text-overflow: ellipsis; text-shadow: none; color: #000; background: #fff; border: 1px solid #cadef5; border-radius: 0; transition: all 250ms; }

.b-form_box_field textarea { padding: 6px 5px; max-width: 100%; height: 162px; min-height: 162px; resize: none; }

.b-form_box_field .e-select,
.b-form_box_field .selectric { padding: 0 42px 0 15px; text-align: left; }

.b-form_box_field .e-select span,
.b-form_box_field .selectric .label { display: block; overflow: hidden; width: 100%; line-height: 40px; white-space: nowrap; text-overflow: ellipsis; box-sizing: border-box; }

.b-form_box_field .e-select:before,
.b-form_box_field .selectric:before { position: absolute; right: 14px; top: 50%; margin: -3px 0 0; width: 0; height: 0; border-top: 8px solid #3c6491; border-left: 6px solid transparent; border-right: 6px solid transparent; content: ''; }

.b-form_box_field .e-select option[value=""] { display: none; }

/* * * * * *
 * * * * * * Small * * * * * */
@media (min-width: 768px) {

    .b-form_box_field.half input,
    .b-form_box_field.half .e-select,
    .b-form_box_field.half .selectric { width: 50%; }

    .b-form_box_field.third input,
    .b-form_box_field.third .e-select,
    .b-form_box_field.third .selectric { width: 33.3333332%; }

    .b-form_box_field.quarter input,
    .b-form_box_field.quarter .e-select,
    .b-form_box_field.quarter .selectric { width: 25%; }

}

/* * * * * *
 * * * * * * Radio/checkboxes * * * * * */
.b-form_box_field label { display: inline-block; position: relative; margin-right: 12px; font: 400 1em 'Lato', sans-serif; color: #04356c; transition: color 250ms; cursor: pointer; }

.b-form_box_field:first-child label,
.b-form_box_title ~ .b-form_box_field label { margin-top: 14px; }

.b-form_box_field label > .radio { vertical-align: -3px; margin: 0 2px 0 0; }
.b-form_box_field label > .checker { vertical-align: -2px; margin: 0 2px 0 0; }

.b-form_box_field label > input { vertical-align: 1px; margin: 0 6px 0 0; }

.b-form_box_field.list label { display: block; position: relative; margin: 0; padding-left: 25px; min-height: 19px; }
.b-form_box_field.list label ~ label { margin-top: 16px; }

.b-form_box_field.list label > .radio,
.b-form_box_field.list label > .checker,

.b-form_box_field.list label > input { position: absolute; left: 0; top: 2px; }

/* * * * * *
 * * * * * * Date picker * * * * * */
.b-form_calendar { display: block; width: 27px; height: 28px; cursor: pointer; transition: all 250ms; }
.b-form_calendar:first-child { margin-top: 5px; }

.b-form_calendar:hover { opacity: .75; }


/* --------------------
   -------------------- Transitions -------------------- */
/* * * * * *
 * * * * * * Fields * * * * * */
.b-form_box_field input,
.b-form_box_field textarea,

.b-form_box_field .e-select { transition: color 400ms, background 400ms, border 400ms, box-shadow 400ms; }


/* --------------------
   -------------------- Forms elements states -------------------- */
/* * * * * *
 * * * * * * Fields read only * * * * * */
.b-form_box_field input[readonly],
.b-form_box_field textarea[readonly],
.b-form_box_field .e-select.readonly { padding: 0; font: 400 14px 'Lato', sans-serif; color: #838383; background: none; border: none; cursor: default; }

/* * * * * *
 * * * * * * Fields disabled * * * * * */
.b-form_box_field input[disabled],
.b-form_box_field textarea[disabled],
.b-form_box_field .e-select.disabled { color: #999; background: #f5f5f5; border-color: #d5d5d5; cursor: not-allowed; }

/* * * * * *
 * * * * * * Elements focus * * * * * */
.b-form_box_field input:focus,
.b-form_box_field textarea:focus,

.b-form_box_field .e-select.focus,
.b-form_box_field .selectric-open .selectric { border-color: #4186d3; box-shadow: 0 0 8px rgba(65, 134, 211, .5); }

/* * * * * *
 * * * * * * Elements error * * * * * */
.b-form_box.m-error .b-form_box_field input,
.b-form_box.m-error .b-form_box_field textarea,

.b-form_box.m-error .b-form_box_field .e-select,
.b-form_box.m-error .b-form_box_field .selectric { border-color: #ff6400 !important; box-shadow: 0 0 8px rgba(255, 100, 0, .15); }

/* * * * * *
 * * * * * * Placeholders * * * * * */
.b-form_box_field input[placeholder],
.b-form_box_field textarea[placeholder] { text-overflow: ellipsis; }

.b-form_box_field input::-webkit-input-placeholder,
.b-form_box_field textarea::-webkit-input-placeholder { font-style: normal; color: #000 !important; text-overflow: ellipsis; transition: all 250ms ease; }

.b-form_box_field input:-moz-placeholder,
.b-form_box_field textarea:-moz-placeholder { font-style: normal; color: #000 !important; text-overflow: ellipsis; transition: all 250ms ease; }

.b-form_box_field input:-ms-input-placeholder,
.b-form_box_field textarea:-ms-input-placeholder { font-style: normal; color: #000 !important; text-overflow: ellipsis; transition: all 250ms ease; }

.b-form_box_field .e-select .placeholder,
.b-form_box_field .selectric .placeholder { font-style: normal; color: #000 !important; }

/* * * * * *
 * * * * * * Placeholders on focus * * * * * */
.b-form_box_field input:focus:-moz-placeholder,
.b-form_box_field textarea:focus:-moz-placeholder { color: transparent !important; }

.b-form_box_field input:focus::-webkit-input-placeholder,
.b-form_box_field textarea:focus::-webkit-input-placeholder { color: transparent !important; }

.b-form_box_field input:focus:-ms-input-placeholder,
.b-form_box_field textarea:focus:-ms-input-placeholder { color: transparent !important; }

/* * * * * *
 * * * * * * Label placeholders * * * * * */
label.b-form_box_field_placeholder { display: block; position: absolute; left: 15px; top: 0; right: 15px; padding: 0 !important; margin: 0 !important; font: 400 1em/42px 'Lato', sans-serif; text-align: left !important; color: #000 !important; text-overflow: ellipsis; overflow: hidden; box-sizing: border-box; transition: all 250ms; cursor: text; pointer-events: none; }

label.b-form_box_field_placeholder.complete,

input:focus ~ label.b-form_box_field_placeholder,
textarea:focus ~ label.b-form_box_field_placeholder { opacity: 0; visibility: hidden; }


/* --------------------
   -------------------- Notifications -------------------- */
/* * * * * *
 * * * * * * Notices * * * * * */
.b-form_box_notice { margin: 10px 0; font: 400 .75em/1.333333333333 'Lato', sans-serif; color: #8a8a8a; transition: all 250ms; }

.b-form_box_notice:first-child { margin-top: 6px; }
.b-form_box_notice:last-child { margin-bottom: auto; }

.b-form_box.m-error .b-form_box_notice { color: #ff6400; }

/* * * * * *
 * * * * * * Errors * * * * * */
.b-form_box_error { margin-top: 0; font: 400 .75em/1.333333333333 'Lato', sans-serif; color: #ff6400 !important; max-height: 0; opacity: 0; -webkit-transition: all 400ms ease; -moz-transition: all 400ms ease; -o-transition: all 400ms ease; transition: all 400ms ease; }

.b-form_box_error a { text-decoration: underline; color: inherit; }
.b-form_box_error a:hover { text-decoration: underline; color: inherit; opacity: .5; }

.b-form_box.m-error .b-form_box_error { margin-top: 10px; max-height: 48px; opacity: 1; }

.b-form__hideLabels .b-form_box_error { display: none; visibility: hidden; }

/* * * * * *
 * * * * * * Form notifications * * * * * */
.b-form_message { position: relative; padding-bottom: 18px; overflow: hidden; visibility: hidden; opacity: 0; transition: visibility 250ms, opacity 250ms, overflow 250ms; }
.b-form_message__show { visibility: visible; opacity: 1; overflow: visible; }

.b-form_message + form { visibility: visible; opacity: 1; transition: visibility 250ms, opacity 250ms; }
.b-form_message + form.b-form__hide { visibility: hidden; opacity: 0; }

.b-form_message_balloon { position: relative; font: 400 1em/1.4375 'Lato', sans-serif; color: #000; background: #e3f0ff; transition: background 250ms; }
.b-form_message_balloon:before { position: absolute; left: 58px; top: 50%; margin-top: -27px; content: ''; }

.b-form_message_balloon_capsule { display: table; width: 100%; }
.b-form_message_balloon_capsule_inner { display: table-cell; vertical-align: middle; padding: 40px 60px 36px 148px; }

.b-form_message_balloon h6 { margin: 0 0 8px !important; font: 700 1.125em 'Lato', sans-serif; color: #04356c; transition: color 250ms; }

.b-form_message_balloon p { margin-top: auto !important; margin-bottom: auto !important; }
.b-form_message_balloon p ~ p { margin-top: 1.4375em !important; }

.b-form_message_balloon ul { margin-left: 50px; }

@media (max-width: 767px) {

    .b-form_message_balloon:before { content: none; }
    .b-form_message_balloon_capsule_inner { padding: 30px 40px; }

}

@media (max-width: 479px) {

    .b-form_message_balloon { margin-left: -20px; margin-right: -20px; }
    .b-form_message_balloon_capsule_inner { padding: 30px 20px; }

}

.b-form_message_balloon__error { background: #ffccaa; }
.b-form_message_balloon__error:before { width: 55px; height: 55px; background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTUiIGhlaWdodD0iNTUiIHZpZXdCb3g9IjAgMCA1NSA1NSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNGRjY0MDAiIGQ9Ik01NSAxNS44MXYyMy4zOEwzOS4xODcgNTVIMTUuODEyTDAgMzkuMTlWMTUuODFMMTUuODEyIDBoMjMuMzc1eiIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik00OSAxOC4zNnYxOC4yOEwzNi42MzcgNDlIMTguMzYyTDYgMzYuNjRWMTguMzZMMTguMzYyIDZoMTguMjc1eiIvPjxwYXRoIGQ9Ik0yOCAyMy43NTlsLTcuNzc4LTcuNzc5LTQuMjQzIDQuMjQgNy43OCA3Ljc4LTcuNzggNy43OCA0LjI0MyA0LjI0TDI4IDMyLjI0MWw3Ljc3OSA3Ljc3OSA0LjI0My00LjI0LTcuNzgtNy43OCA3Ljc4LTcuNzgtNC4yNDMtNC4yNEwyOCAyMy43NTl6IiBmaWxsPSIjRkY2NDAwIi8+PC9nPjwvc3ZnPg==); }

.b-form_message_balloon__error h6 { color: #ff6400; }

.b-form_message_balloon__success { background: #f1fd72; }
.b-form_message_balloon__success:before { width: 55px; height: 55px; background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTUiIGhlaWdodD0iNTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxnPiAgPHRpdGxlPmJhY2tncm91bmQ8L3RpdGxlPiAgPHJlY3QgZmlsbD0ibm9uZSIgaWQ9ImNhbnZhc19iYWNrZ3JvdW5kIiBoZWlnaHQ9IjU3IiB3aWR0aD0iNTciIHk9Ii0xIiB4PSItMSIvPiA8L2c+IDxnPiAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPiAgPGcgaWQ9InN2Z18xIj4gICA8cGF0aCBpZD0ic3ZnXzIiIGZpbGw9IiM1MmI5NGMiIGQ9Im01My4yMjYzNjQsNy4yODIzMTFsLTEuNTQ0MDI1LC0xLjc2NTE5OGMtMS42OTUwMTUsLTEuOTQ0MTg2IC00LjQ3MjEwNywtMS45NDQxODYgLTYuMTcyNTIsMGwtMjYuMjE0MzI5LDMwLjAwODM2NWwtOS4zMDE5MTYsLTEwLjY0MjYyMmMtMS42OTUwMTgsLTEuOTQyMTI5IC00LjQ3MzkwOSwtMS45NDIxMjkgLTYuMTY4OTI1LDAuMDAyMDU2bC0xLjU0MjIzMSwxLjc2MzE0MmMtMS42OTUwMTYsMS45NDIxMjkgLTEuNjk1MDE2LDUuMTIwNzE4IDAsNy4wNjI4NTNsMTMuOTE5NjIzLDE1Ljk0ODQ5OGMxLjY5NjgxNCwxLjk0MDA3MSA0LjQ3MzkwNiwxLjk0MDA3MSA2LjE3MDcyMSwwbDMwLjg1MzYwMSwtMzUuMzE0MjQyYzEuNjkzMjIyLC0xLjk0MjEzIDEuNjkzMjIyLC01LjEyMDcyMSAwLC03LjA2Mjg1MXoiLz4gIDwvZz4gIDxnIGlkPSJzdmdfMyIvPiAgPGcgaWQ9InN2Z180Ii8+ICA8ZyBpZD0ic3ZnXzUiLz4gIDxnIGlkPSJzdmdfNiIvPiAgPGcgaWQ9InN2Z183Ii8+ICA8ZyBpZD0ic3ZnXzgiLz4gIDxnIGlkPSJzdmdfOSIvPiAgPGcgaWQ9InN2Z18xMCIvPiAgPGcgaWQ9InN2Z18xMSIvPiAgPGcgaWQ9InN2Z18xMiIvPiAgPGcgaWQ9InN2Z18xMyIvPiAgPGcgaWQ9InN2Z18xNCIvPiAgPGcgaWQ9InN2Z18xNSIvPiAgPGcgaWQ9InN2Z18xNiIvPiAgPGcgaWQ9InN2Z18xNyIvPiA8L2c+PC9zdmc+); }

.b-form_message_balloon__success h6 { color: #ff6400; }


/* --------------------
   -------------------- Blue form -------------------- */
.b-form__grayBlue form { padding: 48px 60px 52px 54px; background: #e3f0ff; }

@media (max-width: 979px) {

    .b-form__grayBlue form { padding: 30px; }

}

@media (max-width: 767px) {

    .b-form__grayBlue form { padding: 30px 20px; }

}

@media (max-width: 479px) {

    .b-form__grayBlue form { margin-left: -20px; margin-right: -20px; padding: 30px 20px; }

}


/* --------------------
   -------------------- Need for modal form -------------------- */
.b-form_box_field label { padding-left: 5px; vertical-align: 4px }
