button:focus,
a:focus, a:active,
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
select::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
    outline: none !important;
}

select:-moz-focusring {
    outline: none !important;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
    font-size: 21px;
    line-height: inherit;
    color: #333;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
}

input[type="file"] {
	border: medium none;
    box-shadow: none;
    cursor: pointer;
    margin: 0;
    max-width: none;
    padding: 0;
    width: auto;
	height: 31px;
	display: inline-block;
}

input[type="search"] {
    box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
    margin: 4px 0 0;
    margin-top: 1px \9;
    line-height: normal;
}

input[type="file"] {
    display: block;
}

input[type="range"] {
    display: block;
    width: 100%;
}

select[multiple],
select[size] {
    height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

select {
    cursor: pointer;
}

output {
    display: block;
    padding-top: 7px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #666666;
}

.form-control {
    display: block;
    width: 100%;
    height: calc(2.9rem + .25rem);
    padding: .375rem .75rem;
    font-size: 1em;
	font-weight: 300;
    color: #495057;
    background-color: #ffffff;
    border: solid 1px #dddddd;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    border-radius: .25rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form-control:focus {
    border-color: #bdc5c9;
    outline: 0;
	background-color:#ffffff;
}

.form-control::-moz-placeholder {
    color: #999999;
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: #999999;
}

.form-control::-webkit-input-placeholder {
    color: #999999;
}

.form-control-desc {
    color: #495057;
    font-size: 13px;
    font-style: italic;
    margin: 2px 0 0;
}

.selectbox.medium:after {
    top: 10px;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    cursor: not-allowed;
    background-color: #eee;
    opacity: 1;
}

textarea.form-control {
    height: auto;
	min-height: 100px;
	resize:none;
}

input[type="search"] {
    -webkit-appearance: none;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
	input[type="date"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="month"] {
		line-height: 34px;
	}
}

/* Selectbox */
.selectbox {
	position:relative;
	line-height: initial;
}

.selectbox:after {
    position: absolute;
	right: 10px;
	top: 12px;
	content: "\EA50";
	font-family: "Icon" !important;
	font-size: 26px;
    color: #dddddd;
}

.selectbox > select {
    border: 1px solid #dddddd;
    box-shadow: none;
	min-width: 40px;
	height: calc(2.9rem + .25rem);
    color: #495057;
    font-size: 14px;
    font-weight: 300;
	padding: .375rem .75rem;
    border-radius: .25rem;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
    text-overflow: '';
	background-color: #ffffff;
}

.selectbox.selectbox-block > select {
	width: 100%;
	display: block;
}

.selectbox > select:focus {
    border-color: #33cc87;
    outline: 0;
    background-color: #ffffff;
}

@media all and (min-width:0) {
	.selectbox > select {
		background: none\0/;
		padding: 5px\0/;
	}
}

@media screen and (-ms-high-contrast:active), (-ms-high-contrast:none) {
	.selectBox > select {
		padding: 5px 25px 5px 5px;
	}
}

select::-ms-expand {
    display: none;
}

/* Input Icon */
.input-icon {
    position: relative;
}

.input-icon > .form-control {
    padding-left: 33px;
}

.input-icon > i {
    color: #b7b7b7;
    display: block;
    position: absolute;
    margin: 6px 2px 4px 10px;
    z-index: 3;
    width: 16px;
    font-size: 16px;
    text-align: center;
}

.input-icon.input-icon-right > .form-control {
    padding-right: 33px;
    padding-left: 12px;
}

.input-icon.input-icon-right > i {
    right: 8px;
    float: right;
}

/* Form Input Sizing */
.input-mini {
    width: 45px !important;
}

.input-xsmall {
    width: 80px !important;
}

.input-small {
    width: 190px !important;
}

.input-medium {
    width: 240px !important;
}

.input-large {
    width: 320px !important;
}

.input-xlarge {
    width: 420px !important;
}

@media (max-width: 768px) {
    .input-large {
        width: 250px !important;
    }
    .input-xlarge {
        width: 300px !important;
    }
}

/* Form Group */
.form-group {
    margin-bottom: 15px;
}

@media screen and (min-width: 40em) {
	.form-group {
        margin-bottom: 20px;
	}
}

.form-group:before,
.form-group:after {
    content: " ";
    display: table;
}

.form-group:after {
    clear: both;
}

.form-group:last-child {
  margin-bottom: 0;
}

.form-group .label-control {
	padding-top: 0;
}

.label-control {
	font-size: 14px;
	font-weight: 600;
	color: #666666;
    margin-bottom: 5px;
	display: inline-block;
	padding-top: 15px;
}

.label-control.label-control-block {
	display:block;
	width:100%;
}

.form-group.filled,
.form-group.flex.filled .input-inline {
    position: relative;
}

.form-group .label-filled {
    color: #8d8d8d;
    left: .75rem;
    position: absolute;
    pointer-events: none;
    top: 16px;
    font-size: 1em;
    line-height: initial;
    -webkit-transition: .3s ease all;
    transition: .3s ease all;
}

.form-group.filled [data-filled] {
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

.form-group.filled textarea[data-filled] {
    padding-top: 20px;
}

.form-group.filled textarea[data-filled] + label.label-filled {
    top: 12px;
}

.form-group.filled select[data-filled] {
    color: transparent;
}

.form-group.filled select[data-filled]:focus,
.form-group.filled select[data-filled].input-filled {
    color: #495057;
}

.form-group [data-filled]:focus + label.label-filled,
.form-group [data-filled].input-filled + label.label-filled {
    color: #353f45;
    font-size: 12px;
    font-weight: 400;
    left: .75rem;
    top: -7px !important;
    padding: 0 6px;
    background: #fff;
}

.form-group:before,
.form-group:after {
    content: " ";
    display: table;
}

.form-group:after,
.form-group:after {
    clear: both;
}

.form-group.flex {
    display: flex;
}

.form-group.flex .input-inline {
    width: 100%;
    margin-right: 15px;
    flex: 1 0 0;
}

html[dir="Rtl"] .form-group.flex .input-inline {
	margin-right: 0;
    margin-left: 15px;
}

.form-group.flex .input-inline:last-child {
    margin-right: 0;
}

html[dir="Rtl"] .form-group.flex .input-inline:last-child {
    margin-left: 0;
}

@media screen and (max-width: 640px) {
    .form-group.flex {
        display: block;
    }
    .form-group.flex .input-inline {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .form-group.flex .input-inline:last-child {
        margin-bottom: 0;
    }
}

/* Validate Styles */
input.validate-error,
input.validate-error:focus,
select.validate-error,
select.validate-error:focus,
textarea.validate-error,
textarea.validate-error:focus {
	border-color: #cc4c3f;
	background-color: #ffffff;
}

div.validate-error {
	font-size: 12px;
	line-height: 1.5;
    margin: 5px 0 0;
	color: #cc4c3f;
}

div.selectbox-validate-error::after {
	color: #cc4c3f;
}

/* Radio & Checkbox Styles */
.radio,
.checkbox {
    position: relative;
    display: block;
    min-height: 25px;
    margin-bottom: 10px;
}

.radios,
.checkboxes {
    margin: 0;
}

.radios > .radio:last-child,
.checkboxes > .checkbox:last-child {
    min-height: 20px;
    margin-bottom: 0px;
}

.radio label,
.checkbox label {
    cursor: pointer;
    margin-bottom: 0;
    line-height: 1.3;
    display: inline-block;
}

/* .radio label a,
.checkbox label a {
	color: #666666;
    font-weight: 600;
}

.checkbox label a [name="use_personal_data_agreement"] + label > a {

} */

.radio input[type="radio"],
.checkbox input[type="checkbox"] {
    position: absolute;
    margin-top: 4px \9;
}

.radio + .radio,
.checkbox + .checkbox {
    margin-top: -5px;
}

input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
    cursor: not-allowed;
}

.radio-inline.disabled,
.checkbox-inline.disabled {
    cursor: not-allowed;
}

.radio.disabled label,
.checkbox.disabled label {
    cursor: not-allowed;
}

/* Custom Radio & Checkbox Styles */
.radio,
.checkbox {
    position: relative;
    display: block;
    min-height: 25px;
    margin-bottom: 10px;
}

.radios > .radio:last-child,
.checkboxes > .checkbox:last-child {
    min-height: 20px;
    margin-bottom: 0px;
}

.radio label,
.checkbox label {
    cursor: pointer;
    margin-bottom: 0;
    line-height: 1.3;
}

.radio input[type="radio"],
.checkbox input[type="checkbox"] {
    position: absolute;
    margin-top: 4px \9;
}

.radio + .radio,
.checkbox + .checkbox {
    margin-top: -5px;
}

input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
    cursor: not-allowed;
}

.radio-inline.disabled,
.checkbox-inline.disabled {
    cursor: not-allowed;
}

.radio.disabled label,
.checkbox.disabled label {
    cursor: not-allowed;
}

.radio-custom,
.checkbox-custom {
    display: block;
}

.radio-custom input[type=radio],
.checkbox-custom input[type=checkbox] {
    position: absolute;
    left: -9999em;
}

.radio-custom > label,
.checkbox-custom > label {
    position: relative;
    padding-left: 30px;
}

.radio-custom > label:before,
.checkbox-custom > label:before {
    position: absolute;
    width: 18px;
    height: 18px;
    left: 0;
    top: 0;
    margin: 0;
    content: '';
    border: 1px solid #dddddd;
    border-radius: .25rem;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: 50% 50%;
    background-size: 50% 50%;
}

.radio-custom > label,
.radio-custom > label:before {
    border-radius: 100%;
}

.radio-custom > input[type=radio]:checked + label:before,
.checkbox-custom > input[type=checkbox]:checked + label:before {
    color: #333333;
}

.radio-custom > input[type=radio]:disabled + label:before,
.checkbox-custom > input[type=checkbox]:disabled + label:before {
    color: #bfbfbf;
}

.radio-custom > input[type=radio]:checked + label:before {
    background-color: #33cc87;
}

.radio-custom > input[type=radio]:disabled + label:before {
    background-color: #eeeeee;
}

.checkbox-custom > input[type=checkbox]:checked + label:before {
    border-color: #33cc87;
    background-color: #33cc87;
}

.checkbox-custom > input[type=checkbox]:disabled + label:before {
    background-color: #eeeeee;
}

/* Custom Radio & Checkbox Horizontal Styles */
.radios.radio-horizontal .radio,
.checkboxes.checkbox-horizontal .checkbox {
    margin: 0 10px 5px 0;
    display: inline-block;
}

.input-group {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%;
}

.input-group>.custom-select:not(:last-child), .input-group>.form-control:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group>.custom-file, .input-group>.custom-select, .input-group>.form-control {
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0;
}

.input-group-append {
    margin-left: -1px;
}
.input-group-append,
.input-group-prepend {
    display: -ms-flexbox;
    display: flex;
}
.input-group>.input-group-append>.btn, .input-group>.input-group-append>.input-group-text, .input-group>.input-group-prepend:first-child>.btn:not(:first-child), .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child), .input-group>.input-group-prepend:not(:first-child)>.btn, .input-group>.input-group-prepend:not(:first-child)>.input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group-append .btn, .input-group-prepend .btn {
    position: relative;
    z-index: 2;
}
