/****** form input ******/
.cci-textfield {
    margin-bottom: 38px;
}
.cci-textfield:before, .cci-textfield:after, .cci-textarea:before, .cci-textarea:after {
    content: ' ';
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    width: 0;
    -webkit-transition: width .3s;
    -moz-transition: width .3s;
    -ms-transition: width .3s;
    -o-transition: width .3s;
    transition: width .3s;
    z-index: 998;
}
.cci-textfield:before, .cci-textarea:before {
    height: 1px;
}
.cci-textfield:after, .cci-textarea:after {
    height: 2px;
}
.cci-textarea:before, .cci-textarea:after {
    bottom: 3px;
}
.cci-textfield.cci-textfield-birthday:before, .cci-textfield.cci-textfield-birthday:after {
    left: 50px;
}
.cci-textfield.cci-textfield-phone:before, .cci-textfield.cci-textfield-phone:after {
    left: 95px;
}
.cci-textfield:before, .cci-textarea:before {
    background-color: #fa5f55;
}
.cci-textfield:after, .cci-textarea:after {
    background-color: #91c164;
}
.cci-textfield-error:before, .cci-textfield-success:after {
    width: 100%;
}
.cci-textfield-error.cci-textfield-birthday:before, .cci-textfield-success.cci-textfield-birthday:after {
    width: calc(100% - 50px);
}
.cci-textfield-error.cci-textfield-phone:before, .cci-textfield-success.cci-textfield-phone:after {
    width: calc(100% - 95px);
}
.cci-textfield label {
    position: absolute;
    bottom: 16px;
    font-size: 16px;
    font-weight: 400;
    color: rgba(50, 60, 75, 0.5);
    display: block;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}
.cci-textfield-error label {
    color: #fa5f55;
    bottom: 45px;
    font-size: 14px;
    font-weight:500;
}
.cci-textfield-success > label {
    color: #91c164;
    font-size: 14px;
    bottom: 45px;
    font-weight: 500;
}
.cci-textfield-error__empty label {
    bottom: 16px;
    font-size: 14px;
    font-weight: normal;
}
.cci-textfield input {
    position: relative;
    height: 48px;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #e6e6e6;
    font-size: 16px;
    font-weight: 400;
    margin-top: 22px;
    width: 100%;
    padding: 0;
}
.cci-textarea textarea {
    position: relative;
    background-color: #ffffff;
    border: none;
    border-bottom: 2px solid #e6e6e6;
    font-size: 16px;
    font-weight: 400;
    margin-top: 14px;
    width: 100% !important;
    padding: 0;
}
.cci-textfield-birthday label{
    font-size: 16px;
    bottom: 45px;
    font-weight: 500;
    letter-spacing: 0.2px;
    color: #252631;
}
.cci-textfield-birthday input {
    margin-left: 50px;
    width: calc(100% - 50px);
}
.cci-textfield-phone label{
    font-size: 14px;
    bottom: 45px;
    font-weight: 500;
    letter-spacing: 0.2px;
    color: #252631;
}
.cci-textfield-phone input{
    margin-left: 95px;
    width: calc(100% - 95px);
}
.cci-textfield input::placeholder, .cci-textarea textarea::placeholder  {
    /*text-transform: uppercase;*/
    color: rgba(50, 60, 75, 0.5);
    font-weight: 400;
    font-size: 16px !important;

}
.cci-textfield input::-webkit-input-placeholder, .cci-textarea textarea::-webkit-input-placeholder {
    /*text-transform: uppercase;*/
    color: rgba(50, 60, 75, 0.5);
    font-weight: 400;
    font-size: 16px !important;

}
.cci-textfield input::-moz-placeholder, .cci-textarea textarea::-moz-placeholder  {
    /*text-transform: uppercase;*/
    color: rgba(50, 60, 75, 0.5);
    font-weight: 400;
    font-size: 16px !important;

}
.cci-textfield input:-moz-placeholder, .cci-textarea textarea:-moz-placeholder {
    text-transform: uppercase;
    color: rgba(50, 60, 75, 0.5);
    font-weight: 400;
    font-size: 16px !important;

}
.cci-textfield input:-ms-input-placeholder, .cci-textarea textarea:-ms-input-placeholder {
    text-transform: uppercase;
    color: rgba(50, 60, 75, 0.5);
    font-weight: 400;
    font-size: 16px !important;

}
.cci-textfield-phone input {
    /*padding-left: 18px;*/
}
.cci-textfield .mdi-check {
    display: none;
    position: absolute;
    bottom: 8px;
    right: 10px;
    color: #91c164;
}
.direction--rtl .cci-textfield .mdi-check {
    right: auto;
    left: 10px;
}
.cci-textfield-error-block, .cci-textfield-error-block-custom,
.cci-textfield-error-block-phone-zero{
    display: none;
}
.cci-textfield-error-custom .cci-textfield-error-block,
.cci-textfield-error-phone-zero .cci-textfield-error-block {
    display: none !important;
}
.cci-textfield-error .cci-textfield-error-block, .cci-textfield-error-custom .cci-textfield-error-block-custom,
.cci-textfield-error.cci-textfield-error-phone-zero:focus-within .cci-textfield-error-block-phone-zero{
    display: block;
    position: absolute;
    top: calc(100% + 5px);
    right: 0px;
    color: #fa5f55;
    font-size: 10px;
}
.cci-textfield-error-custom {

}
.cci-textfield-error-block  .min-length-text {}

/*login text*/

/*----------*/

.cci-textfield-success > .mdi-check {
    display: block;
}
input[type=password] {
    font-size: 25px;
}
.open-birthdate {
    color: #323c4b;
    position: absolute;
    left: 5px;
    bottom: 0px;
    top:34px;
    /*cursor: pointer;*/
}
.cci-textfield-birthday .open-birthdate .mdi-menu-down {
    font-size: 24px;
    line-height: 30px;
}
.cci-textfield-birthday .open-birthdate .mdi-calendar-week {
    font-size: 24px;
    line-height: 30px;
}
/****** form input ******/

/****** form checkbox ******/
.cci-checkbox {
    width: 100%;
    position: relative;
    margin-bottom: 38px;
    cursor: pointer;
}
.cci-checkbox input[type=checkbox] {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden;
}
.cci-checkbox label {
    position: relative;
    line-height: 1.5;
    width: 100%;
    font-size: 14px;
    letter-spacing: 0.2px;
    color: #252631;
    padding-left: 28px;
    cursor: pointer;
}
.cci-checkbox label a {
    position: relative;
    width: 100%;
    font-size: 14px;
    font-weight: 600;
    color: rgba(50, 60, 75, 0.75);
    text-decoration: underline;
}
.cci-checkbox label:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    border: 2px solid #36414d;
}
.cci-checkbox input[type=checkbox]:checked + label:before {
    content: '';
    font-family: 'Material Design Icons';
    display: block;
    position: absolute;
    left: 4px;
    top: 4px;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #91c164;
}
.cci-checkbox .cci-checkbox-error-block {
    display: none;
}
.cci-checkbox-error .cci-checkbox-error-block {
    display: block;
    position: absolute;
    bottom: -15px;
    right: 0px;
    color: #fa5f55;
    font-size: 10px;
}
/****** form checkbox ******/

/****** form radio ******/
.cci-radio {
    width: 100%;
    margin-bottom: 38px;
}
.cci-radio-wrap {
    position: relative;
    cursor: pointer;
}
.cci-radio-wrap input[type=radio] {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden;
}
.reg-invite-block .cci-radio-wrap label{
    float:left;
}
.cci-radio-wrap label {
    position: relative;
    width: 100%;
    font-size: 14px;
    font-weight: 400;
    color: rgba(50, 60, 75, 0.75);
    padding-left: 28px;
    cursor: pointer;
}
.cci-radio-wrap label a {
    position: relative;
    width: 100%;
    font-size: 14px;
    font-weight: 600;
    color: rgba(50, 60, 75, 0.75);
    padding-left: 22px;
}
.cci-radio-wrap label:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #e2e2e2;
    border-radius: 50%;
}
.cci-radio-wrap input[type=radio]:checked + label:before {
    content: '';
    font-family: 'Material Design Icons';
    display: block;
    position: absolute;
    left: 4px;
    top: 4px;
    width: 8px;
    height: 8px;
    background-color: #91c164;
    border-radius: 50%;
}
.cci-radio .cci-radio-error-block {
    display: none;
}
.cci-radio-error .cci-radio-error-block {
    display: block;
    position: absolute;
    bottom: -15px;
    right: 0px;
    color: #fa5f55;
    font-size: 10px;
}
.cci-radio-vertical .cci-radio-wrap {
    margin-bottom: 16px;
}
.cci-radio-horizontal {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 0 auto 0 auto;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.cci-radio-horizontal .cci-radio-wrap {
    margin-bottom: 16px;
    margin-right: 30px;
    alighn-self:flex-start;
}

/****** form radio ******/
.cci-textfield-phone .select2-container .select2-selection--single {
    height:48px;
}
/* select2 выбор телефонного кода */
.cci-textfield-phone .select2-container, .cci-textfield-consultant-phone .select2-container {
    z-index: 998;
    position: absolute;
    top: 26px;
    left: 0;
}
.cci-textfield-consultant-phone {}
.cci-textfield-phone .select2-selection__arrow {
    /*display: none;*/
}
.country-selector {
    width: 120px;
}
.country-selector-consultant {
    width: 120px;
}
img.flag {
    width:20px;
}
.flag-box {
    width:30px;
    text-align: left;
    padding-top: 2px;
}
.country-selector-modify .flag-box {
    padding-top: 0px;
    display: flex;
    align-items: center;
}
.country-selector-modify .select2-container .phone-code-box-selected{
    font-weight: bold;
}
.country-selector-modify  .select2-container .select2-selection--single .select2-selection__rendered{
    padding-left: 0px;
}
.country-selector-modify .option-wrapper {
    max-height: 40px;
}
.consultant-country-selector-modify .option-wrapper div {
    display: block;
}
.country-name-box {
    width:calc(100% - 70px);
    text-align: left;
    font-size: 16px;
}
.select2-results .phone-code-box {
    letter-spacing: -0.24px;
    color: #413D58;
    text-align: center;
    font-size: 12px;
    background: #FAFAFA 0% 0% no-repeat padding-box;
    border: 1px solid #DCDCDC;
    width: auto;
    padding: 4px 10px;
    margin-left: auto;
}
.phone-code-box {
    text-align: right;
    font-size: 14px;
}
.select2-container .phone-code-box-selected {
    background:  transparent !important;
    font-size: 16px !important;
    text-align: center;
    border: none !important;
    padding: 0;
}
.option-wrapper {
    display: flex !important;
    width: 100%;
    position: relative;
    align-items: center;
}
header .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 40px;
    padding-left: 16px;
}
header .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 24px;
    width: 24px;
}
.country-selector-modify .select2-selection__arrow {
    top: 7px !important;
    right: 78px !important;
}
.country-selector-modify  .select2-container .phone-code-box-selected{
    padding-left: 10px;
}
.country-selector-modify .select2-selection--single {
    border: none !important;
}
.country-selector-modify .select2-container--default .select2-selection--single {
    background-color: transparent !important;
}
/* select2 выбор телефонного кода */
/** error ***/
.alert {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.8;
    background-color: #ebebed;
    color: #29313a;
    border: 1px solid #ebebed;
    padding: 16px;
    margin-top: 25px;
    margin-bottom: 25px;
}
.alert-danger {
    background-color: #ffebe8;
    color: #fa5f55;
    border: 1px solid rgba(255, 96, 86, 0.77);
}
.alert-success {
    background-color: #f0ffe5;
    color: #19bd5c;
    border: 1px solid rgba(33, 255, 121, 0.53);
}
.alert-warning {
    background-color: #fffcd3;
    color: #f2a25e;
    border: 1px solid rgba(242, 221, 172, 0.99);
}
/** error ***/

.password-visibility {
    position: relative;
    display: flex;
    align-items: center;
}
.password-visibility .change-visibility {
    position: absolute;
    right: 16px;
    flex: 0 0 30px;
    max-width: 30px;
    cursor: pointer;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;
}
