body {
    font-family: 'Montserrat', 'Roboto', sans-serif;
}

/* Tamanhos de fontes */

h1, .h1 {
    font-size: 1.5rem;
}

h2 {
    font-size: 1.1rem;
}

h3 {
    font-size: 1.1rem;
}

p{
    font-size: 14px;
}
.form-title {
    font-size: 18px;
}
/* Cores gerais de textos e backgrounds */

.bg-whatsapp-green {
    background-color: #4cca5a;
}

.bg-twitter-blue {
    background-color: #1da1f2;
}

.bg-facebook-blue {
    background-color: #4267b2;
}
.text-purple{
    color: #454581;
}

.text-pink {
    color: #c76c82;
}
.bg-pink {
    background-color: #c76c82;
}

.cor-rendaextra  .text-purple{
    color: #18285b;
}
.cor-rendaextra .text-pink{
    color: #00a8a8;
}
.cor-rendaextra .bg-pink{
    background-color: #00a8a8;
}
/* Botões */

.btn-default {
    color: #ffffff;
    font-weight: bold;
    border-radius: 0;
    background: #ec6839;
    /* Old Browsers */
    /* FF3.6+ */
    background: -webkit-gradient(left top, right bottom, color-stop(0%, #ec6839), color-stop(100%, #f59c00));
    /* Chrome, Safari4+ */
    /* Chrome10+,Safari5.1+ */
    /* Opera 11.10+ */
    /* IE 10+ */
    background: linear-gradient(135deg, #ec6839 0%, #f59c00 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ec6839', endColorstr='#f59c00', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
}

.btn-default:hover {
    color: #ffffff;
    background: #e9511a;
    /* Old Browsers */
    /* FF3.6+ */
    background: -webkit-gradient(left top, right bottom, color-stop(0%, #e9511a), color-stop(100%, #e49000));
    /* Chrome, Safari4+ */
    /* Chrome10+,Safari5.1+ */
    /* Opera 11.10+ */
    /* IE 10+ */
    background: linear-gradient(135deg, #e9511a 0%, #e49000 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e9511a', endColorstr='#e49000', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
    transition: 0.3s;
}


.cor-rendaextra .btn-default {
    color: #ffffff;
    font-weight: bold;
    border-radius: 0;
    background: #ff3131;
}

.cor-rendaextra .btn-default:hover {
    color: #ffffff;
    background: #18285b;
    transition: 0.3s;
}

.btn-radio {
    background-color: white;
    color: #555;
    border: 1px solid #ced4da;
    margin-top: -1.5rem;
}

.btn-radio:hover, input[type=radio]:checked ~ .btn-radio {
    background-color: blue;
    color: white;
}

/* Banner e conteúdos */
.logo{
    width: 280px;
}
.border-top-pink:before {
    content: "";
    background-color: #c76c82;
    height: 3px;
    width: 100px;
    margin: 0 auto 10px;
    display: block;
}
.cor-rendaextra .border-top-pink:before{
    background-color: #00a8a8;
}

#banner {
    background-image: url(../img/shape-rosa-mobile.webp), url(../img/shape-roxo-mobile.webp);
    background-size: auto;
    background-repeat: no-repeat;
    background-position: bottom left -50px, bottom right -50px;
}

#banner.cor-rendaextra {
    background-image: url(../img/shape-mobile-rendaextra.webp);
    background-position: bottom center;
}
.homenzinho {
    height: 250px;
}

.barra-progressao {
    height: 4px;
}

figure {
    margin:0;
}
.testmonial-video{
    width: 100%;
    max-width: 320px;
}
.btn-group-lg>.btn, .btn-lg{
    font-size: 1rem;
}
/* Slick */

/* mudar cor dos 'pontos' */
.slick-dots li.slick-active button:before,
.slick-dots li button:before {
    color: #c76c82 !important;
}

.cor-rendaextra .slick-dots li.slick-active button:before,
.cor-rendaextra .slick-dots li button:before {
    color: #00a8a8 !important;
}
/* Formulário */

    /* Mostra somente um step por vez */

    .form {
        display: none;
    }

    #step_1 {
        display: block
    }

    /* * -- */

.js-loading-msg {
    color: #000;
}

.form-body {
    min-height: 15rem;
}
.form-body .errors{
    color: #c76c82;
    margin-bottom: 5px;
}
.cor-rendaextra .form-body .errors{
    color: #00a8a8;
}
/* Estilizar mensagem de erro do formulário */

.invalid-tooltip {
    position: absolute;
    display: inline-block;
    top: 93%;
    border-bottom: 1px dotted #ccc;
    color: white;
    background-color: #d02626;
}

.invalid-tooltip::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 10%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #d02626 transparent;
}

/* Modal do formulário */

.js-modal-bg-default,
.js-modal-bg-af {
    background: hsla(0, 0%, 0%, 0.9);
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}

.js-form-modal {
    margin: auto 15px;
    position: absolute;
    z-index: 1001;
    top: 9%;
    bottom: 3%;
    right: 0;
    left: 0;
}

.js-modal-active {
    overflow: hidden;
}

.js-modal-active .js-form-modal {
    overflow-x: hidden;
    overflow-y: auto;
}

.btn-close-modal {
    font-size: 45px;
    margin: 5px 14px;
    color: #fff !important;
    float: right;
    font-weight: 700;
    line-height: 1;
    opacity: .5;
    cursor: pointer;
}

/* Animação do modal do formulário */

.js-scale-up-right {
    -webkit-animation: scale-up-right 0.5s cubic-bezier(0.550, 0.055, 0.675, 0.190) both;
    animation: scale-up-right 0.5s cubic-bezier(0.550, 0.055, 0.675, 0.190) both;
}

@-webkit-keyframes scale-up-right {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
    }
}

@keyframes scale-up-right {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
    }
}

/* Animação Step Sucesso */
.form svg {
    width: 80px;
    display: block;
    margin: auto;
}

.path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
}

.circle {
    -webkit-animation: dash .9s ease-in-out;
    animation: dash 0.9s ease-in-out;
}

.check {
    stroke-dashoffset: -100;
    -webkit-animation: dash-check .9s .35s ease-in-out forwards;
    animation: dash-check 0.9s .35s ease-in-out forwards;
    stroke-linecap: round;
}

@-webkit-keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

@-webkit-keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}

@keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}

/* FIM Animação Step Sucesso */

/* Animação Step Insucesso */

.line {
    stroke-linecap: round;
    stroke-dashoffset: 1000;
    -webkit-animation: dash .9s .35s ease-in-out forwards;
    animation: dash .9s .35s ease-in-out forwards;
}

.fade-in {
    fill: #dc3545;
    stroke: #dc3545;
    stroke-linecap: round;
	opacity: 1;
	animation: fadeInOpacity 0.5s ease-in 1;
}

@keyframes fadeInOpacity {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* Fim Animação Step Insucesso */

.form-control {
    padding: 1rem;
    display: block;
    width: 100%;
    font-size: .85rem;
    line-height: 1.5;
    color: #666;
    background-color: transparent;
    background-clip: padding-box;
    border: 0rem solid transparent;
    border-radius: 0;
    -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control:focus {
    background-color: transparent !important;
}

textarea:focus,
textarea.form-control:focus,
input.form-control:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=number]:focus,
[type=text].form-control:focus,
[type=password].form-control:focus,
[type=email].form-control:focus,
[type=tel].form-control:focus,
[contenteditable].form-control:focus {
    -webkit-box-shadow: inset 0 -2px 0 #c76c82;
    box-shadow: inset 0 -2px 0 #c76c82;
    background-color: transparent !important;
}

.cor-rendaextra textarea:focus,
.cor-rendaextra textarea.form-control:focus,
.cor-rendaextra input.form-control:focus,
.cor-rendaextra input[type=text]:focus,
.cor-rendaextra input[type=password]:focus,
.cor-rendaextra input[type=email]:focus,
.cor-rendaextra input[type=number]:focus,
.cor-rendaextra [type=text].form-control:focus,
.cor-rendaextra [type=password].form-control:focus,
.cor-rendaextra [type=email].form-control:focus,
.cor-rendaextra [type=tel].form-control:focus,
.cor-rendaextra [contenteditable].form-control:focus {
    -webkit-box-shadow: inset 0 -2px 0 #00a8a8;
    box-shadow: inset 0 -2px 0 #00a8a8;
}
textarea:not(textarea),
textarea.form-control:not(textarea),
input.form-control:not(textarea),
input[type=text]:not(textarea),
input[type=password]:not(textarea),
input[type=email]:not(textarea),
input[type=number]:not(textarea),
[type=text].form-control:not(textarea),
[type=password].form-control:not(textarea),
[type=email].form-control:not(textarea),
[type=tel].form-control:not(textarea),
[contenteditable].form-control:not(textarea) {
    height: calc(2.81875rem + 0rem);
}

textarea,
textarea.form-control,
input.form-control,
input[type=text],
input[type=password],
input[type=email],
input[type=number],
[type=text].form-control,
[type=password].form-control,
[type=email].form-control,
[type=tel].form-control,
[contenteditable].form-control {
    font-size: 1rem;
    -webkit-box-shadow: inset 0 -1px 0 #4a4a88;
    box-shadow: inset 0 -1px 0 #4a4a88;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.cor-rendaextra textarea,
.cor-rendaextra textarea.form-control,
.cor-rendaextra input.form-control,
.cor-rendaextra input[type=text],
.cor-rendaextra input[type=password],
.cor-rendaextra input[type=email],
.cor-rendaextra input[type=number],
.cor-rendaextra [type=text].form-control,
.cor-rendaextra [type=password].form-control,
.cor-rendaextra [type=email].form-control,
.cor-rendaextra [type=tel].form-control,
.cor-rendaextra [contenteditable].form-control {
    -webkit-box-shadow: inset 0 -1px 0 #18285b;
    box-shadow: inset 0 -1px 0 #18285b;
}

select,
select.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0.5rem;
    background-size: 13px;
    background: url(../img/arrow-select-2.webp) no-repeat right center;
    -webkit-box-shadow: inset 0 -1px 0 #4a4a88;
    box-shadow: inset 0 -1px 0 #4a4a88;
}

.cor-rendaextra select,
.cor-rendaextra select.form-control {
    -webkit-box-shadow: inset 0 -1px 0 #18285b;
    box-shadow: inset 0 -1px 0 #18285b;
}

select.form-control:not([size]):not([multiple]) {
    height: calc(2.81875rem + 0rem);
}

select:focus,
select.form-control:focus {
    -webkit-box-shadow: inset 0 -2px 0 #c76c82;
    box-shadow: inset 0 -2px 0 #c76c82;
}

.cor-rendaextra select:focus,
.cor-rendaextra select.form-control:focus {
    -webkit-box-shadow: inset 0 -2px 0 #00a8a8;
    box-shadow: inset 0 -2px 0 #00a8a8;
}

.form-label-group {
    position: relative;
}

.form-label-group>input,
.form-label-group>label {
    padding: 10px;
}

.form-label-group>label {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    margin-bottom: 0;
    /* Override default `<label>` margin */
    line-height: 1.5;
    color: #495057;
    border: 1px solid transparent;
    border-radius: .25rem;
    -webkit-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
    font-size: 0.85rem;
}

.form-label-group input::-webkit-input-placeholder {
    color: transparent;
}

.form-label-group input:-ms-input-placeholder {
    color: transparent;
}

.form-label-group input::-ms-input-placeholder {
    color: transparent;
}

.form-label-group input::-webkit-input-placeholder {
    color: transparent;
}

.form-label-group input:-ms-input-placeholder {
    color: transparent;
}

.form-label-group input::placeholder {
    color: transparent;
}

.form-label-group input:not(:placeholder-shown) {
    padding-top: 15px;
    padding-bottom: 6px;
}

.form-label-group input:not(:placeholder-shown)~label {
    padding-top: calc(var(--input-padding-y) / 3);
    padding-bottom: calc(var(--input-padding-y) / 3);
    font-size: 12px;
    color: #777;
}

/* Fallback for Edge
-------------------------------------------------- */

@supports (-ms-ime-align: auto) {
    .form-label-group>label {
        display: none;
    }
    .form-label-group input::-ms-input-placeholder {
        color: #777;
    }
}

/* Fallback for IE
-------------------------------------------------- */

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .form-label-group>label {
        display: none;
    }
    .form-label-group input:-ms-input-placeholder {
        color: #777;
    }
}

/* fim form */

/* corrige cor de checkbox e radio */

.pretty input:checked~.state.p-info-o label:before,
.pretty.p-toggle .state.p-info-o label:before {
    border-color: #2196f3;
}

.pretty.p-default:not(.p-fill) input:checked~.state.p-info-o label:after {
    background-color: #2196f3 !important;
}

/* fim checkbox e radio */

/* Media queries */
@media screen and (max-width: 300px){
    h1, .h1 {
        font-size: 1.2rem;
    }
    h2 {
        font-size: 1rem;
    }
    .form-title {
        font-size: 16px;
    }
    .form-label-group>label{
        font-size: 0.7rem;
    }
    p{
        font-size: 13px;
    }
}
@media screen and (min-width:660px) {
    #banner {
        background-position: bottom left, bottom right;
    }
    body {
        background-image: url(../img/bg-body-left.webp), url(../img/bg-body-right.webp);
        background-size: contain;
        background-position: left, right;
        background-attachment: fixed;
        background-repeat: no-repeat;
    }
    body.cor-rendaextra {
        background-image: url(../img/bg-body-left-rendaextra.webp), url(../img/bg-body-right-rendaextra.webp);
    }
}

@media screen and (min-width:768px) {
    .topo img {
        margin: 0;
    }
    #banner {
        background-image: url(../img/shape-rosa-desktop.webp), url(../img/shape-roxo-desktop.webp);
        background-size: 350px;
        background-repeat: no-repeat;
        background-position: top right, top 140px right;
    }
    #banner.cor-rendaextra {
        background-image: url(../img/shape-desktop-rendaextra.webp);
        background-size: 450px;
        background-position: top right;
    }
    h1, .h1 {
        font-size: 1.7rem;
    }
    h2 {
        font-size: 1rem;
    }
    #banner .border-top-pink:before {
        margin: 0 auto 10px 0;
    }
    .form-title {
        font-size: 1.2rem;
    }

    .mundo {
        width: 250px;
    }
}

@media screen and (min-width:992px) {
    .js-form-modal {
        width: 50%;
        top: 5%;
        bottom: 5%;
        margin: auto;
    }

    .form-title {
        font-size: 1.5rem;
    }

    h1, .h1 {
        font-size: 2.2rem;
    }

    h2 {
        font-size: 1.3rem;
    }

    h3 {
        font-size: 1.5rem;
    }
    .btn-group-lg>.btn, .btn-lg{
        font-size: 1.25rem;
    }
    #banner.cor-rendaextra {
        background-size: 600px;
    }
}

@media screen and (min-width:1200px) {
    .homenzinho {
        height: 400px;
    }
    #banner {
        background-size: 550px;
    }

    h1, .h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    h3 {
        font-size: 1.7rem;
    }

}

@media screen and (min-width:1660px) {
    #banner {
        background-size: 1000px, 830px;
        background-position: top -310px right, bottom right;
    }
    #banner.cor-rendaextra{
        background-size: 900px;
        background-position: top right;
    }
}
