/* Registration styles */

h1,
h2 {
    font-size: 1.6rem;
}

.main.registration {
    background-color: #ccc;
    background-position: bottom center;
    background-size: cover;
    background-repeat: no-repeat;
    transition-duration: 2s;
    transition-timing-function: linear;
    transition-delay: 1s;
    animation-timing-function: ease-in-out;
}

.registration {
    padding-top: 5px;
    padding-bottom: 30px;
}

.registration__logo {
    text-align: center;
    margin: auto;
}
.registration__logo img {
    width: 100px;
}

.registration__steps {
    display: none;
    align-items: flex-start;
    flex-flow: column;
    justify-content: flex-start;
    padding: 35px 15px;
    background-color: #fff;
    width: 90%;
    margin-top: 50px;
    margin-bottom: 10px;
    max-width: 700px;
}
.registration__steps.active {
    display: flex;
}
.registration__steps.confirmation {
    align-items: center;
}

.registration__header {
    padding: 1em 0;
}

.registration__title {
    margin-top: .8em;
    margin-bottom: .2em;
    color: black;
    text-transform: uppercase;
}
.registration__title.center {
    text-align: center;
}

.registration__progress {
    font-size: 1em;
    flex-shrink: 0;
}

.registration__header .registration__progress {
    display: none;
}

.registration__note {
    font-size: .8em;
    margin-top: 0;
}

.registration__note em {
    color: #727176;
}

.registration__progress__item {
    align-items: center;
    background: #cdcdcd;
    border: .12em solid #cdcdcd;
    border-radius: 50%;
    color: white;
    cursor: default;
    display: inline-flex;
    font-weight: 700;
    height: 1.5em;
    justify-content: center;
    margin-right: .3em;
    position: relative;
    text-decoration: none;
    width: 1.5em;
    z-index: 1;
}

.registration__progress__item .number {
    position: relative;
    z-index: 2;
}

.registration__progress__item::after {
    border-top: .1em solid #cdcdcd;
    bottom: auto;
    content: '';
    height: 1px;
    left: calc(100% + 1px);
    line-height: 0;
    margin: auto;
    position: absolute;
    top: auto;
    width: .7em;
    z-index: 1;
}

.registration__progress__item:last-of-type {
    margin-right: 0;
}

.registration__progress__item:last-of-type::after {
    display: none;
}

.registration__progress__item_active {
    background: #f59600;
    border-color: #f59600;
}

.registration__steps__content {
    display: flex;
    margin-top: 1.5em;
    overflow: hidden;
    transition: all .3s ease-in-out;
    width: 300%;
}

.registration__steps__content_1 {
    transition: all .3s ease-in-out;
    transform: translateX(0);
}

.registration__steps__content_2 {
    transition: all .3s ease-in-out;
    transform: translateX(-33.3333%);
}

.registration__steps__content_3 {
    transition: all .3s ease-in-out;
    transform: translateX(-66.666%);
}

.registration__steps__content_1 .registration__step-item_2,
.registration__steps__content_1 .registration__step-item_3,
.registration__steps__content_2 .registration__step-item_1,
.registration__steps__content_2 .registration__step-item_3,
.registration__steps__content_3 .registration__step-item_1,
.registration__steps__content_3 .registration__step-item_2 {
    max-height: 50vh;
    overflow: hidden;
}

.registration__step-item {
    display: block;
    flex-shrink: 0;
    width: calc(100%/3);
}

.registration__step-item__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.registration__step-item__separator {
    border-bottom: .01em solid #ccc;
    height: 1px;
    line-height: 0;
    margin-top: .4em;
    width: 100%;
}

.registration__step-item__title {
    color: #f59600;
    font-size: 1.2em;
    margin: 0;
    padding: 0 1em 0 0;
    text-transform: uppercase;
}

.registration__step-item__title .number {
    display: none;
}

.registration__categories__intro {
    font-size: .8em;
    line-height: 1.5em;
    text-align: center;
}

.registration__categories {
    display: flex;
    flex-wrap: wrap;
    font-size: 1em;
    justify-content: space-between;
    margin-top: 1em;
    width: 100%;
}

.registration__category {
    align-items: center;
    border: .1em solid #eee;
    border-radius: .3em;
    color: #f59600;
    display: flex;
    justify-content: center;
    margin-bottom: 1em;
    min-height: 7em;
    padding: 1em;
    position: relative;
    width: 48%;
}

.registration__category a {
    color: #727176;
}

.registration__category__radiobox {
    border: 1px solid #727176;
    border-radius: 50%;
    height: 18px;
    left: .5em;
    position: absolute;
    top: .5em;
    width: 18px;
    z-index: 1;
}

.registration__category__icon {
    display: none;
}

.registration__category__name {
    color: #545454;
    font-size: 1.1em;
    line-height: 1.3em;
    margin: 0;
    text-align: center;
    text-transform: none;
}

.registration__category__description {
    font-size: .8em;
    margin: 0;
    text-align: center;
}

.registration__category_selected {
    border-color: #009bdb;
}

.registration__category_selected .registration__category__name{
    color: #009bdb;
}

.registration__category_selected .registration__category__radiobox {
    border-color: #009bdb;
}

.registration__category_selected .registration__category__radiobox::after {
    background: #009bdb;
    border-radius: 50%;
    content: '';
    height: 14px;
    left: 1px;
    position: absolute;
    top: 1px;
    width: 14px;
    z-index: 1;
}

.registration__button {
    margin-top: 2em;
}

.registration__button_loading::after {
    background-image: url(../../img/spinner-loading.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    content: '';
    cursor: default;
    height: 22px;
    margin-left: 5px;
    animation: rotating 1.5s linear infinite;
    width: 22px;
}

.registration__field__cv {
    align-items: center;
    background: #e8f0ff;
    border: none;
    border-radius: 4px;
    color: #0862c3;
    display: flex;
    height: 2.5em;
    justify-content: center;
    margin-bottom: 1em;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1;
}

.registration__field__cv input[type="file"] {
    display: none;
    top: 100%;
    position: absolute;
    right: 100%;
    z-index: 1;
}

.registration__field__cv__icon {
    height: 30px;
    margin-right: 5px;
    width: 30px;
}

.registration__field__cv__icon_selected {
    display: none;
}

.registration__field__cv__text {
    font-size: .8em;
    font-weight: 700;
}

.registration__field__cv_selected {
    background-color: #efefef;
    border: none;
}

.registration__field__cv_selected .registration__field__cv__text {
    color: #1b931f;
}

.registration__instructions {
    margin-bottom: 10px;
}


@keyframes rotating {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.registration__button_loading {
    border-color: #ebe2e2!important;
    color: #ebe2e2!important;
    cursor: default!important;
}

.registration__button_loading:hover {
    background-color: transparent!important;
    box-shadow: none!important;
    transform: none!important;
}

.registration__form {
    border: 1px solid #BCBDBF;
    align-content: flex-start;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    width: 100%;
    padding: 10px;
}

.registration__fieldset {
    display: flex;
    flex-flow: column;
    width: 100%;
}

.registration__field {
    width: 100%;
}
.registration__field.mb {
    margin-bottom: 10px;
}

.registration__field__col-2 {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-direction: column;
}
.registration__field__col-3 {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.registration__field__label {
    display: flex;
    margin-bottom: .3em;
    width: 100%;
}

.registration__field__label_hidden {
    visibility: hidden;
}

.registration__field_mandatory .registration__field__label::after {
    color: #f59600;
    content: '*';
}

.registration__field_gender {
    color: #f59600;
}

.registration__field__input,
.registration__field__select {
    background-color: white;
    border: 1px solid #BCBDBF;
    border-radius: 3px;
    font-size: 1em;
    height: 40px;
    margin-bottom: .8em;
    padding-left: 1em;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    outline: none;
}
.registration__field__input p {
    margin: 0;
}
.registration__field__input.doc {
    height: 50px;
}

.registration__field__select {
    background-image: url(../../img/icon-arrow-down-orange.svg);
    background-position: right 15px center;
    background-repeat: no-repeat;
    background-size: 12px 12px;
    padding-right: 40px;
    color: #f59600;
}
.registration__field__select.selected {
    color: #000;
}
.registration__field__input.subtxt {
    margin-bottom: 0;
}
.registration__field__input.doc {
    cursor: pointer;
    color: #f59600;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.icon_doc {
    width: 30px;
    margin-right: 10px
}
.icon_doc.ok {
    display: none;
}
.registration__field__cv__input {
    display: none;
}
.registration__field__input.filed {
    color: #000;
}

.registration__field__span {
    font-size: 12px;
}

.registration__field__radios {
    border: 1px solid #BCBDBF;
    padding: 0 20px;
}
.registration__field__radios,
.registration__field__checkboxes {
    align-items: center;
    display: flex;
    min-height: 40px;
    margin-bottom: .8em;
    justify-content: flex-start;
    width: 100%;
}

.registration__field__radio,
.registration__field__checkbox {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.registration__field__checkbox {
    align-items: flex-start;
    font-size: .8em;
}

.registration__field__radio::before,
.registration__field__checkbox::before {
    background: white;
    border: solid 1px #BCBDBF;
    border-radius: 50%;
    content: '';
    height: 20px;
    margin-right: 5px;
    width: 20px;
}

.registration__field__checkbox::before {
    border-radius: 2px;
    flex-shrink: 0;
}

.registration__field__radio_selected::before,
.registration__field__checkbox_selected::before {
    border: solid 3px #efcf9f;
    background: #f59600;
}

.registration__field__radio input[type=radio],
.registration__field__checkbox input[type=checkbox] {
    right: 100%;
    position: absolute;
}

.registration__field__checkbox a {
    margin-left: .5em;
}

.registration__field__select::placeholder,
.registration__field__input::placeholder {
    color: #f59600;
}

.registration__field__input::-ms-input-placeholder {
    color: #f59600;
}

.registration__field__input::-moz-placeholder {
    color: #f59600;
    opacity: 1;
}

.registration__field__input::-webkit-inner-spin-button,
.registration__field__input::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.registration__field__input[type=number] {
    -moz-appearance: textfield;
}

.registration__field__select::-ms-expand {
    display: none;
}

.registration__field__col-3 .registration__field__input,
.registration__field__col-3 .registration__field__select {
    width: 32%;
}

.registration__field_error .registration__field__input,
.registration__field_error .registration__field__select,
.registration__field_error .registration__field__checkboxes {
    border-color: #cc2031;
    margin-bottom: .2em;
}

.registration__field_error .registration__field__label {
    color: #cc2031;
}
.registration__field_error .registration__field__radios {
    border-color: #cc2031;
    margin-bottom: 0.2em;
}

.registration__field__message {
    color: #cc2031;
    font-size: .8em;
    margin-bottom: .8em;
}

.registration_novisible {
    display: none!important;
}

.registration__confirmation__content {
    width: 100%;
}

.registration__confirmation .registration__title {
    text-align: center;
}

.registration__email-confirmation {
    border: 2px solid #f79600;
    border-radius: 5px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    width: 100%;
}

.registration__email-confirmation__notification {
    align-items: flex-start;
    word-break: break-word;
    display: flex;
    justify-content: space-between;
    padding: 1.5em;
    width: 100%;
}

.registration__email-confirmation__icon {
    flex-shrink: 0;
    margin-right: 15px;
    width: 40px;
}

.registration__email-confirmation__note {
    background: #f79600;
    color: white;
    font-weight: 700;
    padding: 1.5em;
    text-align: center;
    width: 100%;
}

.registration__email-resend {
    display: none;
    background: #e0e0e0;
    border-radius: 5px;
    color: black;
    cursor: pointer;
    margin: auto;
    margin-top: 1em;
    padding-bottom: 1em;
    padding: .2em 1em;
    text-align: center;
    max-width: 500px;
    width: 90%;
}
.registration__email-resend.active {
    display: block;
}

.registration__email-resend a,
.registration__email-resend strong {
    color: #cc2031;
}

.registration__email-resend__button {
    background-color: #f8f8f8;
    background-image: url(../../img/icon-resend-red.svg);
    background-position: left 16px center;
    background-repeat: no-repeat;
    background-size: 40px 40px;
    border-radius: 10px;
    word-break: break-word;
    color: black!important;
    cursor: pointer;
    display: block;
    padding: .5em 1em .5em 4em;
    text-align: left;
}

.registration__buttons {
    margin-top: 20px;
}
.registration__confirm {
    text-align: center;
    margin-top: 20px;
}

.loyalty {
    background: #efefef;
    border-radius: 5px;
    display: flex;
    flex-flow: column-reverse;
    font-size: .9em;
    margin-bottom: 3em;
    margin-top: 2em;
    padding: 1em;
    width: 100%;
}

.loyalty-card {
    margin: 2em auto 0 auto;
    max-width: 300px;
    padding: 0;
    position: relative;
    transform: rotate(-20deg);
    z-index: 1;
}

.loyalty-card__picture {
    height: auto;
    max-width: 100%;
    width: 100%;
}

.loyalty-details {
    position: relative;
    text-align: center;
    z-index: 2;    
}

.loyalty-details__title {
    color: #d60c8d;
    font-size: 1.2em;
    text-align: center;
}

.loyalty-details__title__points {
    display: block;
    font-size: 1.3em;
    text-align: center;
}

.loyalty-details__title__note {
    color: grey;
    display: block;
    font-size: .6em;
    margin-top: .2em;
}

.loyalty-details__card-label {
    color: #00aef0;
    margin-bottom: 0;
}

.loyalty-details__card-number {
    color: black;
    font-size: 1.4em;
    font-weight: 700;
    margin-top: 0;
}

.loyalty-details__steps {
    text-align: left;
}

.btn.next {
    width: 160px;
    margin: auto;
    margin-bottom: 10px;
}

@media screen and (min-width: 360px) {
    .registration__form {
        padding: 20px;
    }
}

@media screen and (min-width: 500px) {
    .registration__steps {
        padding: 35px 30px;
    }
    .registration__buttons {
        display: flex;
    }
    .registration__field__col-2 {
        flex-direction: row;
    }
    .registration__field__col-2 .registration__field {
        width: 47%;
    }
}

@media screen and (min-width: 680px) {

    .registration__header {
        align-items: center;
        display: flex;
        justify-content: space-between;
        margin-top: .5em;
        padding: 1.5em 0;
        width: 100%;
    }

    .registration__progress {
        font-size: 2em;
    }

    .registration__progress__item {
        margin-right: .6em;
    }

    .registration__header .registration__progress {
        display: flex;
    }

    .registration__step-item__header {
        justify-content: center;
    }

    .registration__note {
        text-align: center;
    }

    .registration__step-item .registration__progress {
        display: none;
    }

    .registration__step-item__title .number {
        display: inline-block;
        margin-right: .3em;
    }

    .registration__progress__item::after {
        left: calc(100% + 3px);
    }

    .registration__step-item__separator {
        border-bottom-width: .02em;
        margin-top: .8em;
    }

    .registration__confirmation__content {
        align-items: stretch;
        display: flex;
        flex-flow: row;
        justify-content: space-between;
        margin-top: 2em;
    }

    .registration__email-confirmation {
        width: 55%;
    }

}

@media screen and (min-width: 768px) {

    .main.registration {
        background-position: bottom left;
    }
    .registration__steps {
        padding: 40px 60px;
        margin-top: 80px;
        margin-bottom: 60px;
    }

    .registration__logo img {
        width: 125px;
    }

    .loyalty {
        align-items: center;
        flex-flow: row;
        font-size: 1em;
    }

    .loyalty-details {
        text-align: left;
        padding-left: 5em;
    }

    .loyalty-details__title {
        text-align: left;
    }

    .loyalty-details__title__points {
        text-align: left;
    }

    .loyalty-card__picture {
        transform: translateX(2em);
    }

    .loyalty-details__steps {
        font-size: .8em;
    }

    .registration__field__input.doc {
        height: 40px;
    }

}

@media screen and (min-width: 960px) {

    .registration__title {
        font-size: 2rem;
        margin-bottom: 0;
    }

    .registration__categories__intro {
        font-size: .9em;
        line-height: 1.6em;
        width: 80%;
        margin: 0 auto 1.3em auto;
    }

    .registration__categories {
        align-items: flex-start;
    }

    .registration__category {
        align-items: center;
        flex-flow: column;
        margin-bottom: 0;
        min-height: 12em;
        width: 23%;
    }

    .registration__category__icon {
        display: block;
        height: 68px;
        overflow: hidden;
        line-height: 0;
        margin: 0 auto .5em auto;
        padding: 0;
        width: 68px;
    }

    .registration__category__icon img {
        display: block;
        height: 100%;
        width: 100%;
    }

    .registration__button {
        margin-left: auto;
        margin-right: 0;
        transition: all .2s ease-in;
        width: 280px;
    }

    .registration__button:hover {
        transform: none;
    }

    #registration__button_categories {
        margin-right: auto;
    }

    .registration__button_loading:hover {
        background: #ccc;
        cursor: default;
    }

    .registration__field__cv {
        cursor: pointer;
    }

    .registration__email-confirmation__icon {
        margin-right: 30px;
        width: 75px;
    }

    .registration__email-resend__button {
        transition: all .2s ease-in;
    }

    .registration__email-resend__button:hover {
        box-shadow: 0px 5px 6px 3px rgba(0,0,0,.5);
        transform: scale(1.05);
        transition: all .2s ease-out;
    }

}

@media screen and (min-width: 1200px) {
    .registration__steps {
        margin-top: 90px;
        margin-bottom: 70px;
    }

}

@media screen and (min-width: 1380px) {

    .loyalty-card {
        max-width: none;
        width: 480px;
    }

}