:root {
    --font-color-light: #ffffff;
    --font-color-dark: #000000;
    --positive-color: rgba(41, 163, 163, 1);
    --negative-color: rgba(255, 0, 140, 1);
    --negative-color-pulse:rgba(255 0 140 / 1);
    --point-color: rgb(0, 10, 255, 1);
   --background-one-from: rgba(153, 0, 255, 0.9);
   --background-one-to: rgba(83, 25, 175, 1);
   --background-two-solid: rgba(100, 0, 255, 1);
   --background-two-transparent: rgba(100, 0, 255, 0.86);
   --background-dark-overlay: rgba(0, 0, 0, 1);
}

#leadZform {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    padding: 20px;
    z-index: 10000;
    display: none;
    font-size: initial;
}

.leadz-container, .termz-container {
    max-width: 920px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    color: var(--font-color-light);
    font-family: 'Poppins', sans-serif;
    margin: 0 auto;
    margin-top: 40px;
    z-index: 3;
}
.termz-container {
    flex-flow: column;
    position: relative;
    z-index: 12;
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    display: none;
}
.leadz-container-overlay,
.termz-container-overlay {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.66;
    z-index: 11;
    background-color: var(--background-dark-overlay);
    display: none;
}

.leadz-container-overlay{
    z-index: -1;
}

.termz-close {
    background:url(SVG/x.svg), rgba(255,255,255,1);
    background-size: 80%, cover;
    background-position: center center;
    position: absolute;
    top: 24px;
    right: 24px;
    width: 30px;
    height: 30px;
    border-radius: 20px;
    text-align: center;
    cursor: pointer;
}
.light {
    font-weight: 300;
}

.bold {
    font-weight: 700;
}

.leadz-hype, .termz-hype {
    padding: 25px;
    flex: 1;
    background: var(--background-one-from);
    background: -moz-linear-gradient(0deg, var(--background-one-from) 0%, var(--background-one-to) 100%);
    background: -webkit-linear-gradient(0deg, var(--background-one-from) 0%, var(--background-one-to) 100%);
    background: linear-gradient(0deg, var(--background-one-from) 0%, var(--background-one-to) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#9900ff", endColorstr="#5319af", GradientType=1);
}
.leadz-hype h1, .termz-hype h1, .leadz-hype h2, .termz-hype h2, .leadz-hype h3, .termz-hype h3,.leadz-hype p, .termz-hype p {
    text-align: left;
}

.leadz, .leadz-terms {
    min-height: 335px;
    padding: 25px;
    flex: 1;
    background: var(--background-two-transparent);
}

.leadz-step h4 {
    margin: 0 0 8px 0;
    font-weight: 300;
    opacity: 0.3;
    font-size: 12px;
    padding: 0;
}

.leadz-step input[type=text], .leadz-step.done input[type=text], .leadz-step input[type=tel], .leadz-step.done input[type=tel] {
    background-color: rgba(255,255,266,0);
    color: var(--font-color-light);
    border-color: transparent;
    width: 100%;
}

.leadz-step.active h4 {
    opacity: 1;
}

#leadz-form p, .leadz-terms-text, .leadz-terms-text a {
    margin: 3.2px 0;
    font-size: 12.8px;
    color: var(--font-color-light);
}
.leadz-terms-text a {
    font-weight: 700;
    color: var(--font-color-light);
}
#leadz-form p::before {
    content:" ";
    display: inline-block;
    width: 12.8px;
    height: 12.8px;
    margin-top: 1.6px;
    margin-right: 8px;
    background-color: rgb(255, 255, 255, 0.2);
    vertical-align: middle;
    border-radius: 16px;
}

.inputwrap {
    display: flex;
    margin-bottom: 8px;
    border-radius: 8px;
    width: 100%;
}

.leadz-step {
    margin-left: 10px;
    position: relative;
    padding:  16px 0 16px 32px;
    transition: all 0.5s ease;
}

.leadz-step.active {
    opacity: 1;
    padding: 6px 0 0 32px;
}

.leadz-step.done {
    padding: 16px 0 8px 32px;
}

.leadz-step.active:first-child::after {
    content: '';
    width: 2px;
    top: 50px;
    left: -1px;
    display: block;
    position: absolute;
    height: 100%;
    background-color: var(--background-two-transparent);
}
.leadz-step.active::after {
    content: '';
    width: 2px;
    top: 40px;
    left: -1px;
    display: block;
    position: absolute;
    height: 100%;
    background-color: var(--background-two-transparent);
}

.leadz-step:last-child::after {
    display: none;
}
.leadz-step::after {
    content: '';
    width: 2px;
    top: 40px;
    left: -1px;
    display: block;
    position: absolute;
    height: 100%;
    background-color: var(--background-two-transparent);
    transition: all 0.5s ease;
}
.leadz-step.done::after {
    opacity: 0.5;
    background-color: var(--positive-color);
}
.leadz-step::before {
    content:' ';
    display: block;
    position: absolute;
    border-radius: 100%;
    height: 32px;
    width: 32px;
    top: 9px;
    left: -16px;
    background: var(--background-two-solid);
    background-position: center center;
    opacity: 1;
    transition: all 0.5s ease;
    z-index: 10;
}

.leadz-step.active::before {
    content:' ';
    display: block;
    position: absolute;
    border-radius: 100%;
    height: 40px;
    width: 40px;
    top: 40px;
    left: -20px;
    background: var(--background-two-solid);
    background-position: center center!important;
    background-repeat: no-repeat!important;
    opacity: 1;
}

.leadz-step.done.active::before {
    top: 55px!important;
}

.leadz-step.active:last-child:before {
    top: 15px;
}
.leadz-step.done::before {
    background:url(SVG/check.svg), var(--positive-color)!important;
    background-size: 65%, cover!important;
    background-position: center center!important;
    background-repeat: no-repeat!important;
    top: 11px;
}

.leadz-step.active input[type=text], .leadz-step.active input[type=tel] {
    background-color: #ffffff;
    color:#666666;
    transition: all 0.5s ease;
}

.active.leadz-step input[type=text], .active.leadz-step input[type=tel] {
    display: inline-block;
    font-size: 16px;
    color: var(--font-color-dark);
    opacity: 1!important;
    border-radius: 8px;
    border: 0!important;
    height: 52px;
    padding: 16px 48px 16px 16px!important;
    box-sizing: border-box;
    transition: all 0.5s ease;
    width: 100%;
}
.leadz-step.done input[type=text], .leadz-step.done input[type=tel] {
    padding: 0 0 0 0;
    font-size: 16px;
    border-color: transparent;
    opacity: 0.7;
}
#leadz-firstname.leadz-step::before, 
#leadz-surname.leadz-step::before{
    background:url(SVG/user.svg), var(--background-two-solid);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-firstname.active.leadz-step::before, 
#leadz-surname.active.leadz-step::before{
    background:url(SVG/user.svg), var(--point-color);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-phone.leadz-step::before{
    background:url(SVG/phone.svg), var(--background-two-solid);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-phone.active.leadz-step::before{
    background:url(SVG/phone.svg), var(--point-color);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-city.leadz-step::before{
    background:url(SVG/city.svg), var(--background-two-solid);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-city.active.leadz-step::before{
    background:url(SVG/city.svg), var(--point-color);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-email.leadz-step::before{
    background:url(SVG/email.svg), var(--background-two-solid);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-email.active.leadz-step::before{
    background:url(SVG/email.svg), var(--point-color);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-bonus.leadz-step::before{
    background:url(SVG/star.svg), var(--background-two-solid);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}
#leadz-bonus.active.leadz-step::before{
    background:url(SVG/star.svg), var(--positive-color);
    background-size: 65%, cover;
    background-position: center center;
    background-repeat: no-repeat;
}

#leadz-bonus h4{
    opacity: 1;
    font-weight: 700;
}


::-webkit-input-placeholder { /* Edge */
    color:#cccccc;
  }
  
  :-ms-input-placeholder { /* Internet Explorer */
    color:#cccccc;
  }
  
  ::placeholder {
    color:#cccccc;
  }

svg {
    width: 100%;
    fill:#FFFFFF;
    max-height: 100%;
}
.leadz-next {
    height: 52px;
    width: 48px;
    font-size: 16px;
    vertical-align: top;
    border: 0;
    border-radius: 0 8px 8px 0;
    margin-left: -48px;
    background: url(SVG/next.svg), rgba(41, 163, 163, 1);
    background-size: 80%;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.2;
    transition: opacity 0.5s ease;
    display: none;
    z-index: 9;
}
.active .leadz-next{
    display: flex!important;
}
.leadz-edit {
    background: url(SVG/edit.svg);
    background-position: center right;
    background-repeat: no-repeat;
    font-size: 9.6px;
    height: 22px;
    align-items: center;
    font-weight: 700;
    padding-right: 16px;
    line-height: 16px;
    background-size: auto 100%;
    cursor: pointer;
    display: flex;
    width: calc(100% - 48px);
    text-align: right;
    position: absolute;
    flex-direction: row-reverse;
    z-index: 9;
    display: none;
}
.active .leadz-edit {
    display: none;
}

.done .leadz-edit {
    display: flex;
}
.leadz-button {
    height: 52px;
    font-weight: 700;
    padding: 12.8px;
    line-height: 16px;
    width: 100%;
    font-size: 16px;
    vertical-align: top;
    border: 0;
    border-radius: 8px;
    display: inline-block;
    box-sizing: border-box;
    color: url(SVG/next.svg), var(--font-color-light);
    background-color: var(--positive-color);
    transition: opacity 0.5s ease;
}
.leadz-error-message, .leadz-error-message a {
    color: var(--negative-color);
    text-decoration: underline;
}
.leadz-next.active, .leadz-button.active{
    cursor: pointer;
    opacity: 1;
}

.leadz-button.active, #leadz-terms.invalid{
    -webkit-animation: pulse 1s infinite;
}

#leadz-form  p.valid::before {
    background-color: var(--positive-color);
}
#leadz-form  p.invalid::before {
    background-color: var(--negative-color);
}

.flex-child:first-child {
    margin-right: 20px;
}

.leadz-error, .inputwrap {
    display: none;
}
#leadz-terms {
    margin: 2px 8px 0px 0px;
    height: 20px;
    width: 20px;
    border-radius: 82px;
    cursor: pointer;
}
input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

.done input:-webkit-autofill,
.done input:-webkit-autofill:hover, 
.done input:-webkit-autofill:focus, 
.done input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px transparent inset !important;
}

/*Change text in autofill textbox*/
input:-webkit-autofill{
    -webkit-text-fill-color: #000;
}
.done input:-webkit-autofill{
    -webkit-text-fill-color: #fff;
}
.done input:-webkit-autofill { 
    -webkit-background-clip: text;
}

form {
    margin-bottom: 0;
}
/*FONT STYLING*/
h1, h2, h3, h4, h5 {
    margin: 12.8px 0 4.8px 0;
}

.termz-hype h1, .termz-hype h2, .termz-hype h3, .termz-hype h4, .termz-hype h5 {
    margin: 0;
}
.leadz-terms h1, .leadz-terms h2, .leadz-terms h3, .leadz-terms h4, .leadz-terms h5 {
    margin: 16px 0 8px 0;
}

p {
    margin: 4.8px 0 4.8px 0;
}
.leadz-terms {
    font-size: 12.8px;
}

/*RESPONSIVE*/
@media (max-width: 768px) { 
    .leadz-container, .termz-container {
        flex-flow: column;
        margin-top: 20px;
    }
    
}

/*ANIMATION*/
@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 var(--negative-color-pulse);
    }

    70% {
        transform: scale(1.02);
        box-shadow: 0 0 0 10px rgba(200, 217, 219, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(45, 228, 251, 0);
    }

}