body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #01063C;
    color: #e8e8e8;
}

header {
    /*background-color: #007bff;
    color: #fff;*/
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 5px;
    text-align: center;
}

.container {
    max-width: 1000px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 10px;
}

h1 {
    font-size: 2rem;
    margin-bottom: 20px;
}

h2 {
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.benefits,
.steps,
.testimonials,
.faq {
    margin-bottom: 40px;
}

.benefit-item,
.step-item,
.faq-item {
    margin-bottom: 10px;
}

.cta {
    text-align: center;
    margin-top: 30px;
}

.cta a {
    text-decoration: none;
    background-color: #007bff;
    color: white;
    padding: 15px 30px;
    border-radius: 5px;
    font-size: 1.2rem;
}

footer {
    background-color: #01063C;
    color: #ffffff;
    text-align: center;
    padding: 10px 0;
    margin-top: 30px;
}

.secure {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 50px;
}

.secure span {
    font-size: 1.1rem;
}

#form-emprestimo {
    max-width: 1000px;
    margin: 0 auto;
    font-family: 'Montserrat', sans-serif;
    padding: 20px;
    border: none !important;
    border-radius: 0px 0px 15px 15px;
    background-color: #01063C;
    color: #01063C;
}

.logo {
    display: block; 
    margin-left: auto; 
    margin-right: auto; 
    margin-top: 30px;
    margin-bottom: 20px;
}

/* Erro */
.required-highlight {
  outline: 2px solid #ff0000;
  background-color: #ffe5e5; 
}

/* Estilização para a mensagem de erro */
.erro {
  display: none; 
  background-color: #ff0000;
  color: white;
  text-align: center;
  border-radius: 5px;
  padding: 5px;
  font-size: 14px;
  position: absolute;
  top: 85px; 
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
}

#cidade, #estadoCivil {
    border: 1px solid #cccccc; 
    background-color: #f0f0f0;
    color: #ffffff; 
		font-weight:400;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; 
    padding: 10px; 
    border-radius: 10; 
}


.form-etapa {
    display: none; 
}

.form-etapa.active {
    display: block; 
}
/*abas mei me pme*/
.tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 0px;
}

.tab {
    background-color: #ffffff;
    color: #FFF;
    border: none;
    border-radius: 10px 10px 0px 0px !important;
    font-weight: 500;
    width: 100%!important;
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color 0.3s; 
}

.tab:hover {
    background-color: #4FBB9D; 
}

.tab.active {
    background-color: #4FBB9D; 
}
#inputVezesTexto {
    width: 50%; 
    margin: 0 auto; 
    font-weight: 600; 
    text-align: center; 
    font-size: 18px;
	margin-bottom: 5px;
}

#inputValorTexto {
    font-weight: 600; 
    text-align: center; 
    font-size: 18px;
	margin-bottom: 5px;
    width: 31%;
}


#inputValorParcelaTexto {
    font-weight: 600; 
    text-align: center; 
    font-size: 18px;
	margin-bottom: 5px;
    width: 31%;
}

/*Bolinha com Valor*/
.range-value {
    display: none;
    position: absolute;
    background-color: #ffffff;
    color: #fff;
    padding: 10px 10px;
    border-radius: 20px;
    top: 159px;
    font-size: 14px;
    white-space: nowrap;
}

.ruler {
    display: flex;
    justify-content: space-between; 
    width: 100%;
    position: relative;
    margin-top: 5px; 
}

select {
	cursor: pointer;
}

.select-container:after {
    content: '▼'; 
    position: absolute;
    top: 70%; 
    right: 10px; 
    pointer-events: none; 
    transform: translateY(-50%); 
}

.select-container {
		font-size:20px;
    position: relative; 
}

.select-container1{
	background-color: #fff;
}

/*Celular e Email*/
.input-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.input-container {
    display: flex;
    flex-direction: column;
    width: 48%;
    margin-bottom: 20px;
}

.input-container label {
    margin-bottom: -5px;
    margin-top: 20px;
		font-weight:400;
		font-size:18px;
}

/*Barrinhas abaixo da barra*/
.ruler span {
    height: 10px;
    width: 2px; 
    background-color: #e5e5e5;
}

/*Esprestimo*/
.input-radius p {
    text-align: left;
		font-size:17px;
    margin-bottom: 10px;
}

.radio-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.radio-options label {
    display: flex;
    align-items: center;
    padding: 10px;
    background-color: #f0f0f0;
    border: 1px solid #cccccc;
    cursor: pointer;
    border-radius: 5px;
}

.radio-options input[type="radio"] {
    margin-right: 10px;
}

.radio-options input[type="radio"]:checked + span {
    font-weight: 500;
}

/*Nome e CPF*/
.input-row-nome-cpf {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 20px; 
		margin-top: 20px;
}

.input-container-nome-cpf {
    display: flex;
    flex-direction: column;
    width: 48%;
}

.input-container-nome-cpf label {
    margin-bottom: -10px; 
		background-color:#fff;
		border:none;
		font-size: 18px ; 
}

.input-container-nome-cpf input {
    padding: 10px; 
    margin-bottom: 100px; 
}

/*CNPJ*/
.input-group3 {
    margin-bottom: 0px;
		margin-top: 20px;
}

/*RAMO*/
.input-group5 {
    margin-bottom: 20px;
		margin-top: -5px;
}

.input-group5 {
		font-size:18px;
}

.input-group3 label {
    display: block;
		font-size:18px;
}

.input-group3 input[type="text"] {
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #ccc;
    border-radius: 4px;
	margin-bottom: 20px;
}

/*Restrição CPF ou CNPJ*/
.radio-group {
    display: flex;
    justify-content: flex-start;
}

.radio-group input[type="radio"] {
    display: none; 
}

.radio-group label {
    background-color: #f2f2f2;
    padding: 10px 20px;
    margin-right: 10px; 
    border: 1px solid #ccc;
    border-radius: 5px; 
    cursor: pointer;
		gap: 10px;
		margin-top: 15px;
		width: 50%;
}

.radio-group input[type="radio"]:checked + label {
		color: #fff;
    background-color: #ffffff !important;
    border-color: #4FBB9D!important;
}

.radio-group {
    display: flex;
	justify-content: flex-start; 
}

/* Estilo base do radio button */
.radio-options input[type="radio"] {
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none; 
    background-color: #fff; 
    margin-right: 10px; 
    border: 2px solid #4FBB9D; 
    padding: 4px; 
    border-radius: 50%; 
    cursor: pointer;
    position: relative; 
}

.radio-options input[type="radio"]:checked {
    background-color: #4FBB9D;
}

/* Estilo para criar o indicador interno do radio button selecionado */
.radio-options input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: -1px;
    left: 0px;
    width: 10px;
    height: 10px;
    background-color: #4FBB9D;
    border-radius: 50%;
    display: block;
}


/* 1 Etapa */


.input-group {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 10px 0px 0px 0px;
}

.input-group:nth-of-type(1) label {
    flex: 0 0 90%;
}

.input-group:nth-of-type(2) label {
    flex: 0 0 auto;
}

.input-group:nth-of-type(2) input {
    flex: 0 1 30%;
}
 /* Palavra Vezes */
.input-group:nth-of-type(2) span {
    flex: 0 1 auto;
}

.input-group label, .input-group input {
    margin: 0 5px;
		font-size:18px;
}

.input-group input {
    padding: 10px;
    border: 1px solid #cccccc;
    border-radius: 0px;
    background-color: #fff;
    color: #ffffff; 
		font-weight:400;
}

/* Vezes nº Parcelas*/
.input-group span {
    flex: 1  90%;
    font-weight: 400;
    font-size: 18px;
    padding-left: 10px;
    color: #ffffff;
}

/* Box nº Parcelas*/
.input-group label {
    flex: 0 0 auto; 
    white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis; 
}

input[type=text], input[type=tel], input[type=email], select:hover {
    background-color: #fff;
    color: #5b5b5b;
}

input[type=text], input[type=tel], input[type=email], select {
		-webkit-appearance: none; 
    -moz-appearance: none;
    appearance: none; 
    width: 100%;
    padding: 10px 0px 5px 0px;
    margin: 5px 0px 0px 0px;
    font-size: 16px;
    font-weight: 400;
    border: none; 
    border-bottom: 1px solid #e5e5e5;
    background: transparent;
    color: #000;
    outline: none;
}

input::placeholder {
  color: #5b5b5b;
	font-weight: 400;
}

output {
    display: none;
}

.enviar {
    background-color: #4FBB9D!important;
    color: #fff!important;
    font-weight: bold!important;
    width: 100%!important;
    margin: 20px 0px 0px 0px;
    padding: 10px 30px;
    border: none!important;
    border-radius: 10px!important;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    font-size: x-large;
}

@media(max-width: 574px) {
    .enviar {
        position:fixed;
        width: calc(100% - 40px) !important;
        bottom:10px;
    }

    #form-emprestimo {
        padding-top: 0px;
        padding-bottom: 0px;
    }
}

.enviar:hover {
    background-color: #57d4b1!important;
    color: #FFF!important;
}

.setas-container {
    display: flex!important;
    justify-content: center!important; 
    width: 100% !important; 
}

.setas {
    background-color: #ffffff!important;
    color: #fff!important;
    font-weight: bold!important;
    margin: 10px; 
    padding: 10px 30px;
    border: none!important;
    border-radius: 25px!important;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
}


.setas:hover {
    background-color: #4FBB9D!important;
    color: #FFF!important;
}

/* Barras de progresso */
input[type=range] {
    -webkit-appearance: none;
    height: 10px;
    width: 100%;
    margin: 60px 0px 0px 0px;
    background: none;
    border: none;
    border-radius: 20px;
}

input[type=range]:focus {
    outline: none;
}

/* Estilo padrão da trilha do range */
input[type=range]::-webkit-slider-runnable-track,
input[type=range]::-moz-range-track,
input[type=range]::-ms-track,
input[type=range]::-webkit-slider-runnable-track,
input[type=range]::-moz-range-track,
input[type=range]::-ms-track {
    background: linear-gradient(to right, #4FBB9D, #ffffff) !important;

}

/* Estilo padrão da bolinha do range */
input[type=range]::-webkit-slider-thumb {
    background: #fff;
    border: 3px solid #ffffff;
    height: 22px;
    width: 18px;
    border-radius: 25%;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: 0px;
    position: relative;
}

input[type=range]::-moz-range-thumb {
    background: #fff;
    border: 3px solid #ffffff;
    height: 22px;
    width: 18px;
    border-radius: 25%;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: 0px;
    position: relative;
}

input[type=range]::-ms-thumb {
    background: #fff;
    border: 3px solid #ffffff;
    height: 22px;
    width: 18px;
    border-radius: 25%;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: 0px;
    position: relative;
}

/* Bolinha Vezes */
.bubble {
    visibility: hidden;
    position: absolute;
	display: block;
    margin-top: 10px;
    background-color: #ffffff;
    color: #FFF;
    padding: 8px;
    border-radius: 50%;
    font-size: 14px;
    display: none;
    transition: opacity 0.3s;
}

.bubble.active {
    display: block;
}


/*Mobile*/

@media (max-width: 767px) { 

.input-group:nth-of-type(2) label {
    flex: 0 0 auto;
}
	
.input-radius {
        grid-template-columns: 1fr; 
    }
.input-container {
        width: 100%; 
        margin-bottom: 10px; }

.input-group span {
        width: 100%;
        flex-basis: 100%;
        margin-top: 5px;
    }
.bubble {
        display: none;
    }
    
.bubble.active {
        display: none;
    }
    
.range-value {
        display: none;
    }
    
input[type=range] {
    -webkit-appearance: none;
    height: 10px;
    width: 100%;
    margin: 20px 20px 10px 0px;
    background: none;
    border: none;
    border-radius: 20px;
}

.tab {
    background-color: #ffffff; /* Cor de fundo padrão */
    color: #FFF; /* Cor da fonte */
    border: none;
    border-radius: 10px 10px 0px 0px !important;
    font-weight: 400 !important;
    width: 100%!important;
    padding: 5px 0px;
    cursor: pointer;
    transition: background-color 0.3s; /* Transição suave para o hover */
}

.form-step {
    display: none;
}

.form-step.active {
    display: block;
}
}