.component.holder {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(58, 58, 58, .35);
    display: block;
    z-index: 9999;
    position: fixed;
    padding: 20px;
    overflow-y: auto;
    transition: opacity .6s ease;
    opacity: 1
}

.component.holder * {
    box-sizing: border-box
}

.component.holder.hidden {
    display: block !important;
    visibility: hidden;
    opacity: 0
}

.component.holder.hidden * {
    visibility: hidden
}

.component.holder .wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100%;
    max-width: 400px;
    margin: 0 auto
}

.component.holder .wrapper .close {
    position: absolute;
    z-index: 1;
    top: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    color: #222;
    border: none;
    background-color: transparent;
    cursor: pointer;
    transition: .3s ease
}

.component.holder .wrapper .close img,
.component.holder .wrapper .close svg {
    width: 14px;
    height: 14px
}

.component.holder .wrapper .close:hover {
    color: #080808
}

.component.holder .wrapper .content {
    position: relative;
    display: flex;
    width: auto;
    height: auto
}

.component.holder .chance {
    position: relative;
    --padding-size: 16px;
    font-family: 'Open Sans', sans-serif;
    max-width: 400px;
    background-color: #fff;
    padding: 36px var(--padding-size) var(--padding-size) var(--padding-size);
    border-radius: 10px
}

.component.holder .chance__top {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
    color: #dc1919;
    margin: 0 0 8px 0
}

.component.holder .chance__image {
    margin: 0 0 16px 0
}

.component.holder .chance__title {
    font-weight: 600;
    font-size: 22px;
    line-height: 1.4;
    text-align: center;
    color: #000;
    margin: 0 0 8px 0
}

.component.holder .chance__description {
    font-weight: 400;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
    color: #000;
    margin: 0
}

.component.holder .chance__form {
    margin: 16px 0 0 0
}

.component.holder .chance__form .step:not(.current) {
    display: none
}

.component.holder .chance__form .field {
    position: relative;
    width: 100%
}

.component.holder .chance__form .field__flex {
    display: flex;
    justify-content: space-between
}

.component.holder .chance__form .field input {
    height: 40px;
    width: 100%;
    padding: 0 12px;
    background: #fff;
    border: 1px solid silver;
    border-radius: 6px
}

.component.holder .chance__form .field input:focus {
    border-color: #a7a7a7
}

.component.holder .chance__form .field .error-notification {
    color: red;
    font-size: 10px;
    line-height: 1.25
}

.component.holder .chance__form .field:not(:last-child) {
    margin-bottom: 8px
}

.component.holder .chance__form .submit {
    margin-top: 16px
}

.component.holder .chance__form .submit .external-wrapper {
    margin-top: 16px
}

.component.holder .chance__form .action {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    background: #cf5a20;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
    border-radius: 6px;
    text-transform: uppercase;
    padding: 0 16px;
    width: 100%;
    font-size: 14px;
    color: #fff;
    transition: .3s ease
}

.component.holder .chance__form .action:disabled {
    background-color: #e27640;
    cursor: wait
}

.component.holder .chance__form .note {
    font-size: 10px;
    line-height: 1.25;
    color: #717171;
    text-align: center
}

.component.holder .chance__form .note a {
    color: inherit;
    white-space: nowrap;
    text-decoration: underline
}

.component.holder .chance .register-cupid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-family: Roboto, Arial, sans-serif
}

@media (max-width:1023px) {
    .component.holder .chance .register-cupid:last-child {
        padding-bottom: 25px
    }
}

.component.holder .chance .register-cupid>* {
    width: 100%
}

.component.holder .chance .register-cupid>* .call-to-action,
.component.holder .chance .register-cupid>* .external-wrapper {
    margin-bottom: 10px
}

.component.holder .chance .register-cupid .note {
    font-size: .75rem
}

.component.holder .chance .register-cupid .note a {
    white-space: nowrap
}

.component.holder .chance .search-row {
    display: grid;
    align-items: flex-start;
    justify-content: space-between;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    margin-bottom: 1rem
}

html[lang=ja-JP] .component.holder .chance .search-row {
    grid-template-columns: 1fr 1.5fr
}

@media (min-width:1024px) {
    .component.holder .chance .search-row {
        grid-template-columns: 1fr 1fr 1fr
    }

    html[lang=ja-JP] .component.holder .chance .search-row {
        grid-template-columns: 1fr 1.5fr 1fr
    }
}

.component.holder .chance .search-field {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column
}

.component.holder .chance .search-field__title {
    display: inline-block;
    line-height: 1.25;
    white-space: nowrap
}

@media (max-width:1023px) {
    .component.holder .chance .search-field__title {
        margin-bottom: 8px;
        font-size: 12px;
        font-weight: 600;
        color: #fff;
        width: 100%
    }
}

@media (min-width:1024px) {
    .component.holder .chance .search-field__title {
        margin-right: 10px;
        font-size: 18px;
        color: #222
    }
}

.component.holder .chance .search-field__error {
    grid-column: span 2
}

.component.holder .chance .search-name {
    grid-column: 1/3
}

@media (min-width:1024px) {
    .component.holder .chance .search-name {
        grid-column: 1/4
    }
}

.component.holder .chance .search-field_whoami.input-group.search-field {
    margin-top: 0
}

.component.holder .chance .search-field_whoami.input-group.search-field .error-notification {
    margin-inline-end: -90px
}

.component.holder .chance .search-age-select {
    box-sizing: border-box
}

@media (min-width:1024px) {
    .component.holder .chance .search-age-select {
        width: 100px
    }
}

.component.holder .chance .search-age-select.input-select select {
    width: 100px
}

.component.holder .chance .search-whoami {
    display: flex;
    align-items: center
}

.component.holder .chance .search-whoami input[type=checkbox],
.component.holder .chance .search-whoami input[type=radio] {
    position: absolute;
    opacity: 0
}

.component.holder .chance .search-whoami .icon {
    display: block;
    fill: #e7e7e7
}

.component.holder .chance .search-whoami .icon img,
.component.holder .chance .search-whoami .icon svg {
    display: block;
    width: 2rem;
    height: 2rem;
    fill: inherit;
    object-fit: cover
}

.component.holder .chance .search-whoami input[value=male]:checked~.icon,
.component.holder .chance .search-whoami input[value=male]:checked~co-i18n .icon {
    background: #c4d6f3;
    fill: #608acf
}

.component.holder .chance .search-whoami input[value=female]:checked~.icon,
.component.holder .chance .search-whoami input[value=female]:checked~co-i18n .icon {
    fill: #a45996;
    background: #f1d6ed
}

.component.holder .chance .search-whoami__label {
    flex: 0 0 2.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.25rem;
    height: 2.25rem;
    background-color: #fff;
    border: 1px solid #d1d1d1;
    border-radius: 0 .25rem .25rem 0;
    border-left: none;
    position: relative;
    cursor: pointer
}

.component.holder .chance .search-whoami__label:not(:last-child) {
    border-radius: .25rem 0 0 .25rem;
    border-right: none;
    border-left: 1px solid #d1d1d1
}

.component.holder .chance .search-whoami__label:has(input[value=male]:checked) {
    background: #c4d6f3
}

.component.holder .chance .search-whoami__label:has(input[value=female]:checked) {
    background: #f1d6ed
}

html[dir=rtl] .component.holder .chance .search-whoami__label {
    border-radius: .25rem 0 0 .25rem;
    border-right: none;
    border-left: 1px solid #d1d1d1
}

html[dir=rtl] .component.holder .chance .search-whoami__label:not(:last-child) {
    border-radius: 0 .25rem .25rem 0;
    border-left: none;
    border-right: 1px solid #d1d1d1
}

.component.holder .chance .search-agreement {
    margin-bottom: 1rem
}

.component.holder .chance .search-password .input-text {
    position: relative
}

.component.holder .chance .search-password .search-password__tooltip {
    display: none
}

.component.holder .chance .search-password .password--mobile {
    display: block
}

.component.holder .chance .search-password .password--desktop {
    display: none
}

@media (min-width:1024px) {
    .component.holder .chance .search-password .password--mobile {
        display: none
    }

    .component.holder .chance .search-password .password--desktop {
        display: block
    }

    .component.holder .chance .search-password .search-password__tooltip {
        display: block;
        position: absolute;
        left: 0;
        top: 105%;
        width: 215px;
        z-index: 2;
        color: #fff;
        background-color: rgba(0, 0, 0, .85);
        border-radius: .25rem;
        padding: .5rem;
        font-size: .82rem;
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s cubic-bezier(.64, .09, .08, 1)
    }

    html[dir=rtl] .component.holder .chance .search-password .search-password__tooltip {
        left: initial;
        right: 0
    }

    .component.holder .chance .search-password:hover .search-password__tooltip {
        opacity: 1;
        visibility: visible
    }
}

.component.holder .chance .toggle-password-visability-btn {
    position: absolute;
    top: .5rem;
    right: .5rem;
    width: 20px;
    height: 20px;
    background: url(./terra-assets/images/holder/icons/eye-1a07434190-3.png) center/20px 20px no-repeat;
    border: none;
    cursor: pointer
}

.component.holder .chance .toggle-password-visability-btn--hidden {
    background: url(./terra-assets/images/holder/icons/eye-closed-c6e88cc357-3.png) center/20px 20px no-repeat
}

html[dir=rtl] .component.holder .chance .toggle-password-visability-btn {
    left: .5rem;
    right: initial
}

.component.holder .chance .search-form__trusted {
    text-align: center;
    margin-top: 20px
}

.component.holder .chance .search {
    display: flex;
    flex-direction: column;
    overflow: visible !important;
    margin-top: 8px
}

.component.holder .chance .search-delimiter {
    position: relative;
    display: block;
    font-weight: 600;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    color: #fff;
    margin: 10px 0
}

@media (min-width:1024px) {
    .component.holder .chance .search-delimiter {
        color: #3a3a3a;
        font-size: 12px
    }
}

.component.holder .chance .search-delimiter:after,
.component.holder .chance .search-delimiter:before {
    content: '';
    position: absolute;
    top: 50%;
    display: block;
    width: calc(50% - 15px);
    height: 1px;
    background-color: #fff
}

@media (min-width:1024px) {

    .component.holder .chance .search-delimiter:after,
    .component.holder .chance .search-delimiter:before {
        background-color: #3a3a3a
    }
}

.component.holder .chance .search-delimiter:before {
    left: 0
}

.component.holder .chance .search-delimiter:after {
    right: 0
}

.component.holder .chance .search-button {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 1.17rem;
    line-height: 1.4;
    text-align: center;
    border: 0;
    padding: .45rem 1rem;
    margin: 18px auto;
    border-radius: .25rem;
    cursor: pointer;
    transition: transform .3s ease
}

.component.holder .chance .search-button img,
.component.holder .chance .search-button svg {
    margin-right: 12px
}

.component.holder .chance .search-button:active {
    transform: translateY(2px)
}

.component.holder .chance .search-button__main {
    color: #fff;
    transition: .3s ease;
    background: #7193c5
}

.component.holder .chance .search-button__main:hover {
    color: #fff;
    background: #95afd4
}

.component.holder .chance .search-privacy {
    font-size: 10px;
    line-height: 1.25;
    text-align: center;
    margin: 12px 0 0 0;
    color: #fff
}

@media (min-width:1024px) {
    .component.holder .chance .search-privacy {
        color: #262626
    }
}

.component.holder .chance .search-privacy a {
    color: inherit;
    text-decoration: underline;
    white-space: nowrap
}

.component.holder .chance .search-password {
    margin-bottom: 16px;
    margin-top: 16px
}

.component.holder .chance .modal {
    background-color: rgba(0, 0, 0, .5)
}

@media (max-width:575px) {
    .component.holder .chance .modal--search .modal__wrapper {
        padding: 0
    }
}

.component.holder .chance .modal--search .modal__content {
    max-width: 100%;
    min-height: 100%;
    background: #fff;
    border-radius: .25rem;
    overflow: hidden
}

@media (max-width:575px) {
    .component.holder .chance .modal--search .modal__content {
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
        padding: 16px
    }
}

@media (min-width:576px) {
    .component.holder .chance .modal--search .modal__content {
        max-width: 480px;
        min-height: 480px
    }
}

@media (min-width:1024px) {
    .component.holder .chance .modal--search .modal__content {
        padding: 2rem
    }
}

.component.holder .chance .modal--search .modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem
}

.component.holder .chance .modal--search .modal__close-btn {
    position: static;
    margin-inline-start: auto
}

.component.holder .chance .search-modal__logo {
    margin: 0 0 20px 0
}

.component.holder .chance .search-modal__logo img,
.component.holder .chance .search-modal__logo svg {
    display: block;
    margin: 0 auto
}

.component.holder .chance .search-modal__progress {
    margin-top: 25px
}

.component.holder .chance .search-form {
    padding: 0;
    border: none;
    appearance: none;
    margin: 0
}

.component.holder .chance .search-form__submit {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.4;
    text-align: center;
    border: 0;
    padding: .5rem 2rem;
    border-radius: .25rem;
    cursor: pointer;
    transition: transform .3s ease;
    position: relative;
    color: #fff;
    transition: .3s ease;
    background: #7193c5
}

.component.holder .chance .search-form__submit img,
.component.holder .chance .search-form__submit svg {
    left: 7px;
    top: 7px;
    width: 30px;
    height: 30px;
    object-fit: cover;
    position: absolute;
    fill: #fff
}

.component.holder .chance .search-form__submit:active {
    transform: translateY(2px)
}

.component.holder .chance .search-form__submit:hover {
    color: #fff;
    background: #95afd4
}

.component.holder .chance .form-cupid {
    padding: .5rem
}

@media (min-width:1024px) {
    .component.holder .chance .form-cupid {
        display: none
    }
}

.component.holder .chance .form-cupid form {
    background: #ededed;
    border: 1px solid #ccc;
    border-radius: .25rem;
    padding: 1rem 1em .5em
}

.component.holder .chance .form-cupid form .input-group__title,
.component.holder .chance .form-cupid form label {
    font-weight: 700
}

.component.holder .chance .form-cupid form input::placeholder,
.component.holder .chance .form-cupid form select::placeholder {
    color: #767676
}

.component.holder .chance .form-cupid .search-row {
    grid-template-columns: 1fr 1fr;
    justify-content: initial;
    gap: 1rem
}

.component.holder .chance .form-cupid .search-name {
    order: 1
}

.component.holder .chance .form-cupid .search-age {
    order: 2;
    grid-column: 1/3
}

.component.holder .chance .form-cupid .search-whoami .icon img,
.component.holder .chance .form-cupid .search-whoami .icon svg {
    width: 40px;
    height: 40px
}

.component.holder .chance .form-cupid .search-whoami__label {
    flex: 0 0 54px;
    width: 54px;
    height: 54px
}

.component.holder .chance .form-cupid .input-checkbox__text {
    font-size: 1rem;
    font-weight: 400
}

.component.holder .chance .form-cupid .search-form__submit {
    background-color: #7193c5;
    text-transform: uppercase;
    font-size: 1rem
}

.component.holder .chance .form-cupid .search-form__submit img,
.component.holder .chance .form-cupid .search-form__submit svg {
    display: none
}

.component.holder .chance .form-cupid .search-form__trusted {
    display: flex;
    justify-content: end;
    margin-top: 1rem
}

.component.holder .chance .input-group {
    display: flex;
    flex-direction: column
}

.component.holder .chance .input-group__title {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4;
    color: #565656;
    margin: 0
}

.component.holder .chance .input-group__title .desktop-label {
    display: none
}

@media (min-width:768px) {
    .component.holder .chance .input-group__title .mobile-label {
        display: none
    }

    .component.holder .chance .input-group__title .desktop-label {
        display: inline
    }
}

.component.holder .chance .input-group:has(.invalid) .component.holder .chance .input-group__title {
    color: #c23b2d
}

.component.holder .chance .input-group+.component.holder .chance .input-group {
    margin-top: 16px
}

.component.holder .chance .input-error {
    font-size: inherit;
    padding-left: 1.875rem;
    margin-top: .5em;
    color: #c23b2d;
    position: relative
}

.component.holder .chance .input-error .desktop-message {
    display: none
}

@media (min-width:768px) {
    .component.holder .chance .input-error .mobile-message {
        display: none
    }

    .component.holder .chance .input-error .desktop-message {
        display: inline
    }
}

.component.holder .chance .input-error::before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: '';
    width: 1.375rem;
    height: 1.375rem;
    background: url(./terra-assets/images/holder/icons/warning-357c08dd80-3.svg) center/cover no-repeat
}

.has-error>.component.holder .chance .input-error {
    display: block
}

.component.holder .chance .input-text {
    position: relative
}

.component.holder .chance .input-text input {
    width: 100%;
    color: #565656;
    padding: .5rem;
    border: 1px solid #ccc;
    -webkit-box-shadow: inset 0 1px 3px #ddd;
    box-shadow: inset 0 1px 3px #ddd;
    border-radius: 4px;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: inherit;
    font-family: inherit;
    outline: 0;
    line-height: inherit
}

.component.holder .chance .input-text input.invalid:focus {
    color: #b94a48;
    border-color: #e9322d
}

.component.holder .chance .input-text:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translateY(-50%)
}

.has-error>.component.holder .chance .input-text {
    color: #f80012
}

.has-error>.component.holder .chance .input-text:after {
    background-image: url("data:image/svg+xml,%0A%3Csvg width='10' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.223.63a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Zm-.394 1.885a.394.394 0 0 1 .788 0V5.89a.394.394 0 1 1-.788 0V2.515Zm.394 5.569a.506.506 0 1 1 0-1.013.506.506 0 0 1 0 1.013Z' fill='%23F80012'/%3E%3C/svg%3E")
}

.has-success>.component.holder .chance .input-text:after {
    background-image: url("data:image/svg+xml,%0A%3Csvg width='10' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.869 4.716a4.545 4.545 0 0 1-1.34 3.22 4.582 4.582 0 0 1-6.467 0 4.545 4.545 0 0 1 0-6.44 4.582 4.582 0 0 1 6.467 0 4.545 4.545 0 0 1 1.34 3.22ZM7.599 2.99a.429.429 0 0 0-.617.012l-1.985 2.52L3.8 4.33a.43.43 0 0 0-.72.305c-.002.11.039.218.115.299L4.707 6.44a.429.429 0 0 0 .617-.012l2.282-2.84A.426.426 0 0 0 7.6 2.99Z' fill='%234CAF50'/%3E%3C/svg%3E")
}

.component.holder .chance .input-checkbox {
    position: relative
}

.component.holder .chance .input-checkbox input[type=checkbox] {
    position: absolute;
    bottom: 0;
    left: 10px;
    opacity: 0
}

.component.holder .chance .input-checkbox .input-checkbox__inner {
    display: flex;
    align-items: center;
    gap: 10px
}

.component.holder .chance .input-checkbox .input-checkbox__icon {
    display: flex;
    width: 30px;
    height: 30px;
    cursor: pointer
}

.component.holder .chance .input-checkbox .input-checkbox__icon svg {
    width: 30px;
    height: 30px
}

.component.holder .chance .input-checkbox .input-checkbox__icon #icon-checkbox-off {
    display: block;
    fill: #8c8c8c;
    color: #cdcdcd
}

.component.holder .chance .input-checkbox .input-checkbox__icon #icon-checkbox-on {
    display: none;
    color: #fff;
    fill: #7faf41
}

.component.holder .chance .input-checkbox input[type=checkbox]:checked+.input-checkbox__inner .input-checkbox__icon #icon-checkbox-off {
    display: none
}

.component.holder .chance .input-checkbox input[type=checkbox]:checked+.input-checkbox__inner .input-checkbox__icon #icon-checkbox-on {
    display: block
}

.component.holder .chance .input-checkbox .input-checkbox__text {
    color: #565656;
    font-size: .75rem
}

.component.holder .chance .input-checkbox .input-checkbox__text a {
    font-weight: 600;
    color: #565656
}

.component.holder .chance .input-select select {
    width: 100%;
    color: #565656;
    padding: .5rem;
    border: 1px solid #ccc;
    -webkit-box-shadow: inset 0 1px 3px #ddd;
    box-shadow: inset 0 1px 3px #ddd;
    border-radius: 4px;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: inherit;
    font-family: inherit;
    outline: 0;
    line-height: inherit;
    background: #fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSI+PHBhdGggZmlsbD0iIzU2NTY1NiIgZD0iTTQuOSA0LjZoMTUuMmwtNy42IDcuNmMwLS4xLTcuNi03LjYtNy42LTcuNnoiLz48L3N2Zz4=) no-repeat 100% 100%;
    appearance: none
}

.component.holder .chance .input-select select.invalid:focus {
    color: #b94a48;
    border-color: #e9322d
}

.component.holder .chance .input-select select:not(:last-child) {
    margin-inline-end: 8px
}

html[dir=rtl] .component.holder .chance .input-select select {
    background: #fff url('data:image/svg+xml;utf8,<svg viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg" width="25" height="25"><path fill="rgb(86,86,86)" d="M4.9,4.6h15.2l-7.6,7.6C12.5,12.1,4.9,4.6,4.9,4.6z"/></svg>') no-repeat 0 100%
}

.component.holder .chance .input-date,
.component.holder .chance .input-radio {
    position: relative;
    display: flex
}

.component.holder .chance .input-date__title,
.component.holder .chance .input-radio__title {
    flex: 1 0 auto;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
    color: #3a3a3a
}

.component.holder .chance .input-date__label,
.component.holder .chance .input-radio__label {
    opacity: .3;
    cursor: pointer;
    transition: opacity .3s ease
}

.component.holder .chance .input-date__label:not(:last-child),
.component.holder .chance .input-radio__label:not(:last-child) {
    margin-right: 20px
}

.component.holder .chance .input-date input[type=radio],
.component.holder .chance .input-radio input[type=radio] {
    display: none
}

input[type=radio]:checked+.component.holder .chance .input-date__label,
input[type=radio]:checked+.component.holder .chance .input-radio__label {
    opacity: 1
}

.component.holder .chance .loader {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    background-color: rgba(0, 0, 0, .5)
}

.component.holder .chance.show {
    display: flex
}

.component.holder .chance .loader__spinner {
    animation: spin 2s infinite;
    padding: .5rem
}

.component.holder .chance .loader__spinner svg .logo-right {
    fill: #85a5d6
}

.component.holder .chance .loader__spinner svg .logo-left {
    fill: #fff
}

.component.holder .chance .loader__text {
    font-size: 2rem;
    color: #fff;
    margin: .83em 0
}

@keyframes spin {
    0% {
        -webkit-transform: rotateY(0);
        transform: rotateY(0)
    }

    100% {
        -webkit-transform: rotateY(1turn);
        transform: rotateY(1turn)
    }
}

.component.holder .chance-image {
    display: flex;
    align-items: center;
    justify-content: center;
    --width: calc(calc(100% - calc(var(--padding-size) * 2)) / 5)
}

.component.holder .chance-image__person {
    display: flex;
    width: var(--width);
    height: var(--width);
    border-radius: 50%;
    overflow: hidden
}

.component.holder .chance-image__person:first-child {
    margin-right: -8px
}

.component.holder .chance-image__person:last-child {
    margin-left: -8px
}

.component.holder .chance-image__person img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.component.holder .chance-image__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--width);
    height: var(--width);
    margin-left: -8px;
    margin-right: -8px;
    background: rgba(255, 255, 255, .9);
    opacity: .9;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .1)
}

.component.holder .chance-image__logo:before {
    content: '';
    display: block;
    padding-top: 100%
}

.component.holder .chance-image__logo img,
.component.holder .chance-image__logo svg {
    width: 60%;
    height: auto
}

.component.holder[data-preferences=mal] .chance-image__person img[src*='/female'] {
    display: none
}

.component.holder[data-preferences=mal] .chance__description span:not([data-text-preferences=mal]),
.component.holder[data-preferences=mal] .chance__title span:not([data-text-preferences=mal]) {
    display: none
}

.component.holder[data-preferences=fem] .chance-image__person img[src*='/male'] {
    display: none
}

.component.holder[data-preferences=fem] .chance__description span:not([data-text-preferences=fem]),
.component.holder[data-preferences=fem] .chance__title span:not([data-text-preferences=fem]) {
    display: none
}

.component.holder[data-preferences=both] .chance-image__person:nth-child(2n) img[src*='/male'] {
    display: none
}

.component.holder[data-preferences=both] .chance-image__person:nth-child(2n+1) img[src*='/female'] {
    display: none
}

.component.holder[data-preferences=both] .chance__description span:not([data-text-preferences=both]),
.component.holder[data-preferences=both] .chance__title span:not([data-text-preferences=both]) {
    display: none
}

dialog.component.authorization-without-password-popup {
    font-family: 'Open Sans', Arial, 'Helvetica CY', 'Nimbus Sans L', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: #222;
    outline: 0;
    border: none;
    border-radius: 10px;
    overflow: hidden;
    padding: 0
}

dialog.component.authorization-without-password-popup::backdrop {
    background: rgba(0, 0, 0, .6);
    backdrop-filter: blur(12.5px)
}

dialog.component.authorization-without-password-popup .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1000px;
    max-height: 680px;
    width: 80vw;
    height: 80vh;
    box-sizing: border-box;
    position: relative
}

dialog.component.authorization-without-password-popup .content .pseudo-link {
    color: #3c96ff
}

dialog.component.authorization-without-password-popup .content .pseudo-link:hover {
    border-bottom-color: #3c96ff
}

dialog.component.authorization-without-password-popup .content .resent-notification {
    position: absolute;
    left: 0;
    top: 50px;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 13px;
    box-sizing: border-box
}

@media (max-width:768px) {
    dialog.component.authorization-without-password-popup .content .resent-notification {
        top: 0
    }
}

dialog.component.authorization-without-password-popup .content .resent-notification .bubble {
    border-radius: 10px;
    background: #fbfbfb;
    padding: 6px 24px;
    color: #323232;
    text-align: center;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -.24px
}

@media (max-width:425px) {
    dialog.component.authorization-without-password-popup .content .resent-notification .bubble {
        width: 100%;
        padding: 6px 15px
    }
}

dialog.component.authorization-without-password-popup .content .resent-notification .bubble .recipient {
    font-weight: 700
}

dialog.component.authorization-without-password-popup section.actions,
dialog.component.authorization-without-password-popup section.alert {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 8px;
    text-align: center;
    box-sizing: border-box
}

dialog.component.authorization-without-password-popup section.actions .title,
dialog.component.authorization-without-password-popup section.alert .title {
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    letter-spacing: -.36px;
    margin: 10px 0
}

dialog.component.authorization-without-password-popup section.actions .text,
dialog.component.authorization-without-password-popup section.alert .text {
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -.28px;
    margin: 10px 0
}

dialog.component.authorization-without-password-popup section.alert {
    justify-content: flex-end;
    flex-grow: 2;
    background: #d4202d;
    color: #fff;
    padding-bottom: 46px
}

@media (max-width:768px) {
    dialog.component.authorization-without-password-popup section.alert {
        padding-bottom: 30px
    }
}

dialog.component.authorization-without-password-popup section.alert .mail-inbox-notification {
    width: 261px;
    height: 261px;
    margin: -40px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(./terra-assets/images/components/authorization-without-password-popup/mail-inbox-notification-dea0524d43-3.png);
    background-image: image-set(url(./terra-assets/images/components/authorization-without-password-popup/mail-inbox-notification-dea0524d43-3.png) 1x, url(./terra-assets/images/components/authorization-without-password-popup/mail-inbox-notification@2x-12140ac6a4-3.png) 2x)
}

dialog.component.authorization-without-password-popup section.actions {
    justify-content: center;
    flex-grow: 1;
    background: #fbfbfb;
    color: #83878d
}

dialog.component.authorization-without-password-popup .close {
    position: absolute;
    display: block;
    font-size: 19px;
    line-height: 24px;
    text-align: center;
    cursor: pointer;
    right: 20px;
    top: 20px;
    z-index: 2;
    width: 12px;
    height: 12px;
    padding: 0;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FwYV8xIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDM4Ni42NjcgMzg2LjY2NyIgd2lkdGg9IjUxMiIgZmlsbD0iI2ZmZiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMzg2LjY2NyA0NS41NjRMMzQxLjEwMyAwbC0xNDcuNzcgMTQ3Ljc2OUw0NS41NjQgMCAwIDQ1LjU2NGwxNDcuNzY5IDE0Ny43NjlMMCAzNDEuMTAzbDQ1LjU2NCA0NS41NjQgMTQ3Ljc2OS0xNDcuNzY5IDE0Ny43NjkgMTQ3Ljc2OSA0NS41NjQtNDUuNTY0LTE0Ny43NjgtMTQ3Ljc3eiIvPjwvc3ZnPg==) top center/cover no-repeat;
    white-space: nowrap;
    text-indent: 200%
}

@media (max-width:768px) {
    dialog.component.authorization-without-password-popup .close {
        top: 15px;
        right: 15px
    }
}

.email-check-banner__content {
    border: none;
    overflow: hidden;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1001;
    border-radius: 0;
    background: #fff;
    color: #222;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .03);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: normal;
    padding: 24px
}

.email-check-banner--dark .email-check-banner__content {
    background: #222;
    color: #fff
}

@media (min-width:992px) {
    .email-check-banner__content {
        position: absolute;
        right: auto;
        border-radius: 16px;
        max-width: 506px
    }
}

@media (min-width:1281px) {
    .email-check-banner__content {
        max-width: 536px
    }
}

.email-check-banner__header {
    flex: 1 1 auto;
    max-height: 88px;
    display: flex;
    justify-content: center
}

.email-check-banner__header .email-check-banner__logo {
    max-width: 50%
}

.email-check-banner__header .email-check-banner__logo img,
.email-check-banner__header .email-check-banner__logo svg {
    height: 100%;
    width: auto;
    max-width: 100%
}

.email-check-banner__info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center
}

.email-check-banner__info .email-check-banner__title {
    text-align: center;
    font-size: 22px;
    line-height: 30px;
    font-weight: 400;
    margin: 0
}

@media (min-width:992px) {
    .email-check-banner__info .email-check-banner__title {
        font-size: 30px;
        line-height: 1.6
    }
}

.email-check-banner__info .email-check-banner__subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0
}

.email-check-banner__actions {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.email-check-banner__actions .email-check-banner__btn {
    text-transform: uppercase
}

.email-check-banner__actions .email-check-banner__btn#login-resend-button {
    background-color: #fff;
    color: #222
}

.email-check-banner__actions .email-check-banner__btn#login-resend-button:hover {
    background-color: #f5f5f5
}

.email-check-banner__actions .email-check-banner__btn[hidden] {
    display: none
}

@media (max-width:991px) {
    [lang=it-IT] .email-check-banner__actions .email-check-banner__btn {
        font-size: 11px
    }
}

.block.about {
    background-color: #eee;
    min-height: 540px;
    width: 100%;
    display: table;
    background-size: cover;
    background-position: center;
    background-image: url(../terra-assets/images/about/desktop-2b105a4355-3.jpg)
}

@media (max-width:712px) {
    .block.about {
        background-image: url(../terra-assets/images/about/mobile-f95d49728e-3.jpg)
    }
}

.block.about .limiting-wrapper {
    display: table-cell;
    vertical-align: middle
}

.block.about .limiting-wrapper .wrapper {
    padding: 45px 0;
    text-align: center
}

.block.about .limiting-wrapper .wrapper .call {
    font-size: 20px;
    margin-bottom: 1.6em;
    padding: 0 45px;
    color: #fff
}

@media (max-width:620px) {
    .block.about .limiting-wrapper .wrapper .call {
        padding: 0 14px
    }
}

@media (max-width:599px) {
    .block.about .limiting-wrapper .wrapper .call {
        padding: 0 35px
    }
}

@media (max-width:479px) {
    .block.about .limiting-wrapper .wrapper .call {
        padding: 0 20px
    }
}

.block.about .limiting-wrapper .wrapper .call.dark {
    color: #222
}

.block.about .limiting-wrapper .wrapper .call.light {
    color: #fff
}

.block.about .limiting-wrapper .wrapper .call h3 {
    font-size: 35px
}

.block.about .limiting-wrapper .wrapper .call p {
    margin-bottom: 1.6em
}

@media (max-width:768px) {
    .block.about .limiting-wrapper .wrapper .call p {
        font-size: 18px
    }
}

@media (max-width:620px) {
    .block.about .limiting-wrapper .wrapper .call p {
        font-size: 16px
    }
}

@media (max-width:479px) {
    .block.about .limiting-wrapper .wrapper .call p {
        margin-bottom: 20px;
        font-size: 14px
    }
}

.block.about .limiting-wrapper .wrapper .action {
    font-size: 18px
}

.block.about .limiting-wrapper .wrapper .action.call-to-action {
    color: #fff;
    background: #cf5a20
}

.block.about .limiting-wrapper .wrapper .action.call-to-action:hover {
    color: #fff;
    background-color: #f5704c
}

.block.about .limiting-wrapper .wrapper .action.call-to-action:active {
    color: #fff;
    background: #cf5a20
}

@media (max-width:620px) {
    .block.about .limiting-wrapper .wrapper .action {
        font-size: 16px
    }
}

@media (max-width:479px) {
    .block.about .limiting-wrapper .wrapper .action {
        font-size: 14px
    }
}

@media (max-width:390px) {
    .block.about .limiting-wrapper .wrapper .action {
        font-size: 12px
    }
}

.block.about .limiting-wrapper .disclaimer {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    opacity: .6;
    position: absolute;
    bottom: 10px;
    left: 0;
    text-shadow: 2px 2px 15px rgba(0, 0, 0, .4);
    text-align: right;
    right: 15px
}

@media (max-width:768px) {
    .block.about .limiting-wrapper .disclaimer {
        text-align: center;
        width: 100%
    }
}

footer {
    display: block;
    padding: 50px 0 150px;
    box-sizing: border-box;
    background: #fff
}

.block.quality+footer {
    padding-top: 0
}

footer .social-links-container {
    text-align: center;
    font-size: 0
}

footer .social-links-container a {
    display: inline-block;
    margin: 0 5px
}

footer .social-links-container i {
    padding: 8px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-sizing: border-box;
    cursor: pointer
}

footer .social-links-container i.facebook {
    background-color: #3b5998
}

footer .social-links-container i.twitter {
    background-color: #55acee
}

footer .social-links-container i.google-plus {
    background-color: #d73d32
}

footer .social-links-container i.youtube {
    background-color: #d22222
}

footer .social-links-container svg {
    fill: #fff;
    width: 100%;
    height: 100%
}

footer .appendix {
    padding: 25px 0 0;
    text-align: center
}

@media (max-width:424px) {
    footer .appendix {
        padding-top: 30px
    }
}

@media (max-width:845px) {
    footer .appendix {
        font-size: 14px
    }
}

footer .appendix .menu {
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style: none
}

@media (max-width:845px) and (min-width:570px) {
    footer .appendix .menu {
        width: 36em
    }
}

footer .appendix .menu li {
    display: inline-block;
    padding-left: 1em;
    white-space: nowrap;
    text-transform: capitalize
}

@media (max-width:854px) {
    footer .appendix .menu li {
        padding-left: 5px
    }
}

@media (max-width:569px) {
    footer .appendix .menu li {
        display: block;
        padding: 5px 0
    }
}

@media (max-width:480px) {
    footer .appendix .menu li {
        padding: 10px 0
    }
}

footer .appendix .menu li:first-child {
    padding-left: 0
}

footer .appendix .menu li a {
    text-decoration: none;
    transition: .3s ease;
    color: #222
}

footer .appendix .menu li a:hover {
    color: #cf5a20
}

footer .appendix .copyright {
    margin: 1.6em 0 0;
    line-height: 1.5;
    font-size: 14px;
    color: #999
}

footer .trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 24px
}

.footer--trusted {
    padding: 50px 0 48px
}

.footer {
    padding: 50px 0 50px
}

.footer .social-links-container i.facebook,
.footer .social-links-container i.twitter {
    background: 0 0
}

.email-check-banner__content {
    border: none;
    overflow: hidden;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1001;
    border-radius: 0;
    background: #fff;
    color: #222;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .03);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: normal;
    padding: 24px
}

.email-check-banner--dark .email-check-banner__content {
    background: #222;
    color: #fff
}

@media (min-width:992px) {
    .email-check-banner__content {
        position: absolute;
        right: auto;
        border-radius: 16px;
        max-width: 506px
    }
}

@media (min-width:1281px) {
    .email-check-banner__content {
        max-width: 536px
    }
}

.email-check-banner__header {
    flex: 1 1 auto;
    max-height: 88px;
    display: flex;
    justify-content: center
}

.email-check-banner__header .email-check-banner__logo {
    max-width: 50%
}

.email-check-banner__header .email-check-banner__logo img,
.email-check-banner__header .email-check-banner__logo svg {
    height: 100%;
    width: auto;
    max-width: 100%
}

.email-check-banner__info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center
}

.email-check-banner__info .email-check-banner__title {
    text-align: center;
    font-size: 22px;
    line-height: 30px;
    font-weight: 400;
    margin: 0
}

@media (min-width:992px) {
    .email-check-banner__info .email-check-banner__title {
        font-size: 30px;
        line-height: 1.6
    }
}

.email-check-banner__info .email-check-banner__subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0
}

.email-check-banner__actions {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.email-check-banner__actions .email-check-banner__btn {
    text-transform: uppercase
}

.email-check-banner__actions .email-check-banner__btn#login-resend-button {
    background-color: #fff;
    color: #222
}

.email-check-banner__actions .email-check-banner__btn#login-resend-button:hover {
    background-color: #f5f5f5
}

.email-check-banner__actions .email-check-banner__btn[hidden] {
    display: none
}

@media (max-width:991px) {
    [lang=it-IT] .email-check-banner__actions .email-check-banner__btn {
        font-size: 11px
    }
}