@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

html, body{
    margin: 0;
    padding:0;
    font-family: "Montserrat", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    overflow-x: hidden !important;
}
a:hover {
  color: #000000;
}
/*Common*/
:root{
  --primaryColor: #2b7faf;
  --secondaryColor: #011936;
  --terciaryColor: #f46036;
}
/*Nav*/
#nav{
  padding: 24px 0;
  background-color: #fff;
}
.logo {
  width: 145px;
}
#nav p{
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 400;
  margin: 3px 15px 0 15px;
  padding: 0;
  vertical-align: center;
  color: #9fabbc;
}
#nav p.blueColor{
  color: var(--primaryColor);
  font-weight: 700;
}
#nav img:not(.logo){
  width: 13px;
  margin-right: 10px;
}
#nav img.breadCrumbsIcon{
  width: 17px;
  margin: 1px 0 0 0;
}
#nav .preLP_Nav p{
  color: #000000;
  font-weight: 400;
  font-size: 18px;
}
.simu {
  display: flex;
  align-items: center;
}
/*Form/header*/
#formSection{
  display: flex;
  align-items: center;
  background: rgba(238, 239, 252, 0.25);
  padding: 50px 0;
}
#lp{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#contactform{
  text-align: center;
  border-bottom-right-radius: 30px; 
  padding: 75px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(43, 127, 175, 0.3);
  /*border-right: 1px solid var(--terciaryColor);
  border-bottom: 1px solid var(--terciaryColor);*/
}
.form-steps {
  min-height: 350px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.formTop{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.formTop h2{
  margin-bottom: 30px;
}
.formTop h2, legend{
  font-size: 24px; 
  font-weight: 700;
}
.formTop img{
  display: flex;
  margin-right: 50px;
  max-width: 75px;
}
fieldset{ 
  width: 95%;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.form-input input {
  width: 100% !important;
}
input[type="radio"] {
  display: none;
}
.error{
  font-size: 12px;
  color: red;
}
.nav-item {
  width: 100%;
}
.nav-link{
  color: #000;
  appearance: none;  
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 1px;
  text-overflow: '';
}
.dropdown-toggle::after{
  display: none !important;
} 
#formSection label:not(.error):not(.termContainer){
  display: block;
  width: 80%;
  height: 50px;
  display: flex;
  align-items: center;
  padding:0 25px;
  margin: 10px 0;
  background-color: #fff;
  /*outline: 1px solid #f46036;*/
  box-shadow: 0px 4px 8px rgba(43, 127, 175, 0.3);
  color: var(--secondaryColor);
  border-radius: 10px;
  cursor: pointer;
  font-size: 18px;
  font-weight: 400;
  transition: all 0.7s ease; 
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: 95%;
}
.navbar-nav {
  width: 80%;
  height: 50px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding:0 25px;
  margin: 10px 0;
  background-color: #fff;
  box-shadow: 0px 4px 8px rgba(43, 127, 175, 0.3);
  /*outline: 1px solid #f46036;*/
  color: var(--secondaryColor);
  border-radius: 10px;
  transition: background 0.7s ease; 
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: 95%;
}
.active-bg, .navbar-nav:hover { 
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: 95%;
  color: #fff;
}
.navbar-nav:hover a {
  color: #fff;
}
.back{
  rotate: 180deg;
  cursor: pointer;
  width: 14px !important;
}
#formSection label span{
  font-size: 16px;
  font-weight: 400;
}
#formSection input[type="text"]{
  display: block;
  width: 80%;
  height: 50px;
  padding: 0 25px;
  margin: 10px 0 10px 0;
  background-color: #fff;
  box-shadow: 0px 4px 8px rgba(43, 127, 175, 0.3);
  /*outline: 1px solid #f46036;*/
  border: none;
  color: var(--secondaryColor);
  border-radius: 10px;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.7s ease;
} 
/* Input symbol */
#custoImovel, #valorFinanciamento, #dividaAtual, #rendimentoMensal, #rendimentoMensal2, #capital {
  background: url('/img/icons/euro.svg');
  background-size: 15px;
  background-position: 95%;
  background-repeat: no-repeat;
}
#formSection p{
  margin: 10px 0 0 5px;
  text-align: left;
  font-size: 18px;
}
#formSection #backBtn{
  background-color: transparent;
  color: #000;
  width: 80px;
  height: 20px;
  padding: 0;
  margin: 0;
  font-size: 14px; 
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: 0%;
  text-align: left;
  cursor: pointer;
  color: #9fabbc;
}
#formSection #backBtn:hover {
  color: #000;
}
#formSection button{
  width: 100%;
  max-width: 200px;
  margin: 20px 0 0 0;
  border-radius: 20px;
  border: none;
  background-color: var(--primaryColor);
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  padding: 16px 36px;
  transition: all 0.5s ease;
}
#formSection .choices button{
  max-width: 300px;
}
#formSection button:hover{
  background: linear-gradient(145deg, rgba(43,127,175,1) 0%, rgba(0,162,255,1) 100%);
  color: #fff; 
  outline: none;
}
#formSection label:hover:not(.error):not(.termContainer) {
  background-color: var(--primaryColor);  
  color: #fff;
  outline: none;
  background-image: url('/img/icons/arrow-left-white.svg'); 
}
legend span { 
  font-weight: 700; 
}
legend h3{
  line-height: 1.2;
  font-size: 18px;
  font-weight: 500;
  margin-top: 15px;
}
.dropdown-menu {
  display: none;
  position: absolute;
  background-color: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  transform: none !important;
  inset: auto !important;
  width: 350px;
  margin: 3px 0 0 0 !important;
} 
.nav-item.dropdown.active .dropdown-menu {
  display: block;
  width: 100%;
  overflow: scroll;
  max-height: 200px;
}
.nav-link:focus, .nav-link:hover{
  color: #000;
}
.dropdown-item {
  padding: 10px 15px;
  cursor: pointer;
}
.dropdown-menu li {
  padding: 10px 20px;
  line-height: 1;
  cursor: pointer;
}
.dropdown-menu li:hover {
  background: var(--primaryColor);
  color: #fff;
}
.dropdown-item:hover {
  background-color: #f8f9fa;
}
/*Progress bar */
.progress-container {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
  display: flex;
  justify-content: space-between;
}
.progress-bar {
  width: 75%;
  background-color: #f3f3f3;
  border-radius: 25px;
  overflow: hidden;
  height: 20px;
  margin-bottom: 10px;
}
.progress {
  height: 100%;
  background: linear-gradient(145deg, rgba(43,127,175,1) 0%, rgba(0,162,255,1) 100%);
  width: 0%;
  transition: width 0.4s ease;
  border-radius: 30px;
}
.progress-info {
  width: 35%;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
}
/*Resumo */
#resumoContainer{
  /* min-height: 350px; */
  min-height: 180px;
  display: flex;
  flex-direction: column;
  border-bottom-left-radius: 30px;
  padding: 25px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(43, 127, 175, 0.3);
  /*border-left: 1px solid var(--terciaryColor);
  border-bottom: 1px solid var(--terciaryColor);*/
  height: min-content;
  margin-left: 30px;
}
#resumoContainer h1 {
  font-size: 25px;
  font-weight: 400;
  margin: 0;
}
#resumoContainer h1 span {
  font-weight: 700;
  color: var(--primaryColor);
}
#resumoContainer hr {
  opacity: 1;
  background: linear-gradient(145deg, rgba(43,127,175,1) 0%, rgba(0,162,255,1) 100%);
  width: 130px;
  border: none;
  height: 4px;
  border-radius: 20px;
  margin: 10px 0 25px;
}
.left-auto {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
  max-width: 50%;
}
.right-auto {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  width: 45%;
}
#resumo p {
  margin: 10px 0 0 0 !important;
}
.resumo-txt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: -10px 0 0 0 !important;
}
.partners-box {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  border-top-left-radius: 30px;
  padding: 25px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(43, 127, 175, 0.3);
  /*border-left: 1px solid var(--terciaryColor);
  border-top: 1px solid var(--terciaryColor);*/
  margin: 20px 0 0 30px;
}
.partners-box h1 {
  font-size: 20px;
  font-weight: 400;
  margin: 0;
}
.partners-box  h1 span {
  font-weight: 700;
  color: var(--primaryColor);
}
.partners-box hr {
  opacity: 1;
  background: linear-gradient(145deg, rgba(43,127,175,1) 0%, rgba(0,162,255,1) 100%);
  width: 130px;
  border: none;
  height: 4px;
  border-radius: 20px;
  margin: 10px 0;
}
.partners-box img {
  margin-top: 20px;
}
.part-img {
  text-align: center;
}
.part-img img {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 0 20px;
}
.parceiros::before {
  left: 0;
  background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
}
.parceiros::after {
  right: 0;
  background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
}
.parceiros::before, .parceiros::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 20px;
z-index: 4;
}
/*Term animation */
.termContainer {
  width: 100%;
  font-size: 12px;
  color: #1E1E1E;
  margin-top: 20px;
  cursor: pointer;
}
.termContainer a{
  color: #1E1E1E;
}
.termContainer input {
  display: none;
}
.termContainer a:hover {
  color: var(--primaryColor) !important;
}
.termContainer svg {
  overflow: visible;
  max-height: 15px;
  max-width: 15px;
  margin-right: 5px;
  margin-top: 1px;
  vertical-align: baseline;
  translate: 0 2px;
}

.path {
  fill: none;
  stroke: var(--primaryColor);
  stroke-width: 5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke-dasharray 0.5s ease, stroke-dashoffset 0.5s ease;
  stroke-dasharray: 241 9999999;
  stroke-dashoffset: 0;
}

.termContainer input:checked ~ svg .path {
  stroke-dasharray: 70.5096664428711 9999999;
  stroke-dashoffset: -262.2723388671875;
}
/* section1 */
.section1 {
  text-align: center;
  padding: 80px 0;
}
.section-title {
  margin-bottom: 50px;
}
.section-title h3 {
  font-size: 35px;
  font-weight: 400;
}
.section-title h3 span {
  font-weight: 700;
  color: var(--primaryColor);
}
.section-title hr {
  width: 200px;
  height: 4px;
  border-radius: 20px;
  border: none; 
  opacity: 1;
  margin: 5px 0 0 120px;
  background: var(--terciaryColor); 
}
.vant img {
  width: 90px;
  height: 90px;
  background: rgba(43, 127, 177, 0.05);
  border-radius: 10px;
  padding: 15px;
  transition: transform 0.3s;
}
.vant img:hover {
  transform: scale(1.1);
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
.vant h3 {
  font-size: 22px;
  max-width: 80%;
  font-weight: 700;
  margin: 20px auto 10px auto;
}
.vant p {
  line-height: 1.2;
  font-size: 15px;
  font-weight: 400;
}
.section2 {
  /*background: rgba(43, 127, 177, 0.05);*/
  padding: 50px 0;
  text-align: center;
}
.disc p {
  font-size: 10px;
  line-height: 1.2;
  margin: 0;
}
.disc p a {
  color: #000;
}
.disc p a:hover {
  color: var(--primaryColor);
}
/* Message */
.message-page {
  padding: 100px 0 130px 0 !important;
}
.ty-box {
  text-align: center;
  border-bottom-right-radius: 30px;
  padding: 75px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(43, 127, 175, 0.3);
  /*border-right: 1px solid var(--terciaryColor);
  border-bottom: 1px solid var(--terciaryColor);*/
}
.ty-box img {
  height: 120px;
  margin-bottom: 20px;
}
.ty-box h3 {
  font-size: 35px;
  font-weight: 700;
  color: var(--primaryColor);
}
.ty-box p {
  max-width: 70%;
  line-height: 1.2;
  margin: 0 auto !important;
  font-size: 20px !important;
  text-align: center !important;
}
/* Adstrategy */
#section-ads {
  text-align: center;
  padding: 30px;
}

/* Thank you page */
.ty-bg {
  background: rgb(255,255,255);
  background: linear-gradient(0deg, rgba(255,255,255,0.5) 0%, rgba(238,239,252,0.75) 100%);
}
.ty-header {
  background: url('/img/back.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  padding: 60px 0 130px 0;
    margin-bottom: -30px !important;
} 
.ty-header-content {
  text-align: center;
}
.ty-header-content img {
  width: 350px;
}
.ty-message-box h3 {
  font-size: 35px;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
}
.ty-message-box h5{
    font-size: 28px;
    color: #fff;
    font-weight: 600;
}
.ty-message-box p {
  font-size: 18px;
  color: #fff;
  max-width: 90%;
  line-height: 1.2;
  margin: 10px auto 0 auto;
}
/* section1 thank you page */
.section1-ty {
  text-align: center;
  padding: 0 0 60px 0;
  margin-top: 0;
} 
.sec1-ty-txt {
  margin-bottom: 20px;
}
.sec1-ty-txt h3 {
  font-size: 35px;
  font-weight: 400;
  color: #000;
  line-height: 1.1;
  animation: scaleUpDown 2s ease;
}
@keyframes scaleUpDown {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.3);
  }
}
.sec1-ty-txt h3 span {
  font-weight: 700;
  background: var(--primaryColor);
  background-image: linear-gradient(45deg, #000, #000, #000);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; 
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
}
.sec1-ty-txt. p {
  font-size: 16px;
  color: #000;
  line-height: 1.1;
}
.offer-box {
  margin: 0 auto 20px auto;
  background: #fff;
  border: 1px solid var(--primaryColor);
  border-radius: 20px;
  padding: 40px 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 2px 10px rgba(211, 17, 35, 0.2);
  border-left: 10px solid var(--primaryColor);
}
.offer-box:hover {
  transform: scale(1.02);
  border-left: 10px solid var(--secondaryColor);
  box-shadow: 0 2px 10px rgba(241, 95, 34, 0.2);
}
.offer-box img {
  width: 200px;
}
.offer-txt {
  text-align: left;
  width: 55%;
  margin: 0 30px;
}
.offer-txt p {
  color: #000;
  font-size: 18px;
  line-height: 1.2;
  margin: 0; 
}
.ty-pg-cta {
  margin: 0 auto;
  width: 200px;
  height: 40px;
  border: none;
  border-radius: 10px;
  background: var(--primaryColor);
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: color 0.3s ease;
}
.ty-pg-cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, var(--primaryColor), var(--secondaryColor), var(--primaryColor));
  z-index: -1;
  transition: opacity 0.3s ease;
  border-radius: 10px;
}
.ty-pg-cta:hover::before {
  opacity: 0; 
}
.ty-pg-cta:hover {
  background-color: var(--primaryColor);
  color: #ffffff;
}
img[src="https://tracking.adstrategysites.com/aff_lsr?transaction_id=undefined"]{
    display: none;
}
@media (max-width: 1400px){
  .section-title hr {
    margin: 5px 0 0 60px;
  }
  .partners-box, #resumoContainer {
    padding: 25px 35px;
  }
  .vant h3 {
    max-width: 90%;
  }
}
@media (max-width: 1200px){
  .dropdown-menu {
    width: 300px;
  }
  .section-title h3 {
    font-size: 30px;
  }
  .section-title hr {
    margin: 5px 0 0 40px;
  }
  .vant h3 {
    font-size: 20px;
    max-width: 100%;
  }
  .vant p {
    font-size: 14px;
  }
  .partners-box, #resumoContainer {
    padding: 25px;
  }
  .partners-box h1, #resumoContainer h1 {
    font-size: 21px;
  } 
  .ty-header {
    padding: 60px 0 80px 0;
  }
}
@media (max-width: 991px){
  .form-box {
    padding: 0;
  }
  .simu {
    justify-content: center;
  }
  .dropdown-menu {
    width: 270px;
  }
  .section-title hr {
    margin: 5px 0 0 20px;
  }
  #nav p {
    font-size: 12px;
    margin: 3px 10p;
  }
  .logo-box {
    text-align: center;
    margin-bottom: 30px;
  }
  .logo {
    margin-right: 0;
  }
  .partners-box {
    margin: 30px 0 0 0;
    border-top-left-radius: 0;
    border-top-right-radius: 30px;
    border-left: none;
    /*border-right: 1px solid var(--terciaryColor);
    border-top: 1px solid var(--terciaryColor);*/
    text-align: center;
    padding: 40px 30px;
  }
  .partners-box h1, .section-title h3 {
    font-size: 23px;
  }
  .partners-box img {
    max-width: 80%;
    margin: 0 auto;
}
  .partners-box hr {
    margin: 10px auto 40px auto;
  }
  .part-img img {
    width: 80%;
    margin: 10px auto;
  }
  .info {
    padding: 0;
  }
  .form-steps, #formSection p {
    text-align: center;
  }
  #formSection input[type="text"], #formSection label:not(.error):not(.termContainer), .navbar-nav {
    margin: 10px auto;
  }
  #formSection button {
    margin: 20px auto 0 auto;
  }   
  .ty-header {
    margin: 0 !important;
    padding: 50px 0 100px 0;
  }
  .ty-message-box p {
    max-width: 100%;
  }
  .offer-box img {
    margin-bottom: 10px;
  }
  .offer-txt {
    width: 90%;
    text-align: center;
    margin: 10px auto 20px auto;
  }
  .offer-txt h3 {
    max-width: 100%;
    font-size: 23px;
  }
  .offer-box {
    flex-direction: column;
  }
}
@media (max-width: 768px){
  .section-title h3 {
    font-size: 35px;
    max-width: 85%;
    margin: 0 auto;
  }
  .section-title hr {
    margin: 5px auto 0 auto;
  }
  .vant br {
    display: none;
  }
  .section1 {
    padding: 80px 0 40px 0;
  }
  .vant {
    margin-bottom: 40px;
  }
  .vant p {
    max-width: 80%;
    margin: 0 auto;
  }
  #formSection{
    padding: 60px 0 60px;
  }
  #preLP{
    justify-content: center;
  }
  .formTop h2, legend{
    line-height: 1.2;
    text-align: center;
  }
  #formSection label{
    line-height: 1.1;
  }
  .formTop img{
    margin: 0 0 10px 0;
  }
  fieldset{
    width: 100%;
  }
  .back{
    width: 18px !important;
  } 
    .offer-box{
        padding: 10px 5px;
    }
  .offer-box img {
    width: 200px;
    margin-bottom: 20px;
  }
  .offer-txt {
    text-align: center;
    width: 100%;
    margin: 0 0 20px 0;
  }
  .offer-txt h3 {
    max-width: 80%;
    margin: 0 auto 10px auto;
  }
  .offer-txt p {
    max-width: 90%;
    margin: 0 auto;
    font-size: 16px;
  }
}
@media (max-width: 550px){
  .partners-box img {
    max-width: 90%;
  }
  .logo-box {
    margin: 0;
  }
  .ty-box h3 {
    font-size: 28px;
  }
  .ty-box p {
    max-width: 90%;
  }
  .sim-bar {
    display: none;
  }
  .info, .form-box {
    padding: 0 30px;
  }
  #contactform {
    padding: 75px 20px;
  }
  .section-title hr {
    width: 60%;
    margin: 0 auto;
  }
  .form-steps {
    min-height: auto;
  }
  .dropdown-menu {
    width: 240px;
  } 
  .offer-box img {
    width: 150px;
    margin: 5px 0 10px;
  }
  .offer-txt p {
    max-width: 95%;
    font-size: 14px;
  }
}
@media (max-width: 450px){
  .ty-box {
    padding: 70px 30px;
  }
  .ty-header{
      padding: 30px 0 60px 0;
  }
  .sec1-ty-txt{
      margin: -5px 0 5px;
  }
  .ty-message-box h3{
      font-size: 30px;
  } 
  .ty-message-box p{
      font-size: 14px;
  }
  .ty-box h3 {
    font-size: 22px;
  }
  .ty-box img {
    height: 100px;
  }
  .ty-box p {
    max-width: 95%;
    font-size: 18px !important;
  }
  .section-title h3 {
    font-size: 30px;
    max-width: 95%;
  }
  .col-0.col-sm-1.mx-5{
    display: none;
  } 
  #nav{
    display: none;
  }
  .navBar{
    width: 100%;
    justify-content: center !important;
  }
  .navBar .col-1.mx-5{
    width: 0;
    margin: 0 !important;
  }
  .formTop h2, legend{ 
    font-size: 18px;
  }
  .nav-item.dropdown.active .dropdown-menu{
    min-width: 220px;
  }
  .navbar-nav .nav-link{
    padding: 0;
  }
  #formSection label:not(.error):not(.termContainer), .navbar-nav{
    padding: 15px 35px 15px 20px;
    background-position: 97%;
    font-size: 16px;
  } 
  .back{ 
    position: absolute;
    left: 30px;
  }
  .part-img img {
    padding-right: 0;
  }
  .disc p {
    font-size: 8px;
  }
  #formSection input[type="text"], #formSection label:not(.error):not(.termContainer), .navbar-nav {
    width: 100%;
  }
}
@media (max-width: 375px){
  .ty-box {
    padding: 70px 20px;
  }
  .ty-box h3 {
    font-size: 22px;
  }
  .ty-box p {
    max-width: 100%;
  }
  .section-title h3 {
    font-size: 28px;
    max-width: 100%;
  }
  .progress-container {
    flex-direction: column;
  }
  #formSection #backBtn {
    text-align: center;
    margin: 0 auto;
    width: 100%;
  }
  #formSection label:not(.error):not(.termContainer), .navbar-nav {
    font-size: 13px;
  }
  .progress-bar {
    width: 100%;
    margin: 20px 0;
  }
  .progress-info {
    width: 100%;
  }
  .dropdown-menu {
    width: 200px;
  }
}