@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');


body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100vh;
  background: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;

  font-family: "Lato", serif;
  font-weight: 400;
  font-style: normal;
}

.calculator {
  width: 390px;
  height: 325px;
  background: #FFFFFF;
  box-shadow: 2px 30px 40px rgba(0, 0, 0, 0.1); /* 2px 30px 40px */
  border-radius: 8px; /* 8px */
  padding: 0px 25px; /* 30px */
  position: relative;
  /* border: 1px solid #E53E3E; */

  display: flex;
  flex-direction: column;
  align-items: center;
}

div.title {
  padding-top: 25px;
  height: 45px;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px
}

.box {
  width: 12px;
  height: 40px;
  background: #2575E8;
  opacity: 0.2;
}

h1 {
  /* width: 36.5vh;  */
  /* height: 5vh;  */
  padding-right: 40px;
  text-align: left;
  font-family: Lato; 
  font-size: 18px;
  font-weight: bold !important;
  letter-spacing: 0px;
  color: #2575E8;
  opacity: 1;
}



.subhead {
  /* width: 46vh; */
  /* height: 3.5vh;  */
  margin-bottom: 10px;
  text-align: left;
  font-family: Lato; 
  font-size: 12.2px;
  letter-spacing: 0px;
  color: #2575E8;
  text-transform: uppercase;
  opacity: 1;
  /* position: absolute; */
}

.caption {
  width: 100%;
  top: 16.6vh; /* 166px */
  left: 3vh; /* 30px */
  text-align: left;
  font-size: 12px;
  letter-spacing: 0px;
  color: #727272;
  opacity: 1;
  /* position: absolute;  */
}

.highlight_1 {
  text-align: left;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0px;
  color: #727272;
}

#renda-anual {

  width: 100%; /* 378px */
  height: 45px;
  border: 0.1vh solid #2575E880; /* 1px */
  text-align: left;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: 0.15vh; /* 0.15px */
  color: #2575E8;
  opacity: 1;
  border-radius: 8px; /* 4px */
  /* position: absolute; */
}

#renda-anual:focus {
  color: #2575E8; 
}

#renda-anual.valid {
  border-color: #2575E8; 
  background-color: #e7f3ff;
}

#renda-anual.invalid {
  border-color: #E53E3E;
  background-color: #fce8e8;
  color: #E53E3E;
}

#renda-anual::placeholder {
  color: #999;
}

.input-value {
  margin-top: 8px;
  margin-bottom: 10px;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

#calcular {

  height: 45px;
  width: 100px;

  background-color: #2575E8; 
  border: none;
  border-radius: 8px; /* 4px */
  text-align: center;
  letter-spacing: 0.15px; /* 0.15px */
  color: #FFFFFF;
  opacity: 1;
  cursor: pointer;

}

#calcular:hover {
  background-color: #1c5fc5;
}

.result-section {
  margin-top: 15px;
  width: 442px;
  height: 140px;
  background: #D3E3FA;
  border-radius: 0px 0px 0.8vh 0.8vh; /* 8px */
  /* opacity: 0.2; */
  /* position: absolute;  */
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

.result-section.invalid {
  background: #FFDAD5;
}

.result-caption {

  /* font: normal normal normal 1.4vh/1.8vh Lato; 14px/18px */
  font-size: 10.2px;
  text-align: left;
  letter-spacing: 0px;
  color: #2575E8;
  /* opacity: 1; */
  /* position: absolute;  */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.result-caption.invalid {
  color: #FF462E;
}

#result-caption-left {
  left: 3vh; /* 30px */

}


.highlight_2 {
  text-align: left;
  text-decoration: underline;
  font-weight: bold;
  letter-spacing: 0px;
  color: #2575E8;
}

.highlight_2.invalid {
  color: #FF462E;
}

.bubble {
  width: 130px; 
  height: 42px; 
  letter-spacing: 0px;
  color: #2575E8;
  text-align: center;
  background: #FFFFFF ;
  border-radius: 30px; /* 31px */
  /* opacity: 1; */
  display: flex;
  flex-direction: column;
  justify-content: center;
}



.bubble.invalid {
  border-color: #E53E3E; 
  background-color: #fce8e8;
  color: #E53E3E;
}

.result-value {
  font-size: 14.5px;
  font-weight: bold;
  letter-spacing: 0px;
  color: #2575E8;
  opacity: 1;
  margin: 0;
  /* position: absolute; */
}

#imposto {
  left: 3.8vh; /* 38px */
}

#aliquota {
  left: 33.5vh; /* 335px */
}

@media (max-width: 480px) {


  .calculator{
    width: 80%;
    /* border: 1px solid #E53E3E; */
  }

  .result-section {
    width: calc(100% + 50px);
  }
}


@media (max-width: 385px) {

  div.title h1 {
    padding-right: 10px;
    font-size: 16px;
  }

  .subhead {
    font-size: 11.2px;
  }

}

