body{
    display: flex;
    flex-direction: column;
    background-color: #00745B;
    color: #FFFFFF;
    margin: 0 auto;
}

header{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #00503F;
}

.title{
    display: flex;
    margin: 20px;
}

.icono{
    margin:10px;
    margin-right: 3px;
}

a{
    text-decoration: none;
    color: #FFFFFF;
}

a strong{
    border-bottom: #F1C21B solid 2px;
    color: #F1C21B;
}

header ul{
    display: flex;
    justify-content: flex-end;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    margin: 20px;
    gap: 30px;
}

header a:hover{
    color:#F1C21B;
    transition: color 0.2s;
}

h1{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 25px;
    margin: 20px;
}

h1 strong{
    color: #F1C21B;
}

ul{
    list-style: none;
}

article{
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    gap: 100px;
}

.popup{
    margin-top: 55px;
    padding: 20px;
    position: relative;
    z-index: 1;
}

.popup::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: #67A893;
  opacity: 0.8;
  z-index: -1;
}

.eslogan img{
    position: absolute;
    left: 0;
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-bottom: solid 50px #00503F;
}

.eslogan h2{
    position: relative;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
    padding: 20px;
    
}

.subtitle{
    position: relative;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size:23px;
    text-shadow: 2px 2px 4px #000000;
}

.info{
    font-family: Arial, Helvetica, sans-serif;
    opacity: 0.8;
}

.eslogan ul{
    font-family: Arial, Helvetica, sans-serif;
    position: relative;
    display: flex;
    justify-content: space-around;
    text-shadow: 2px 2px 4px #000000;
}

.eslogan h2 strong{
    color:#AA151B;
}

.stonks ul{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.stonks li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-right: solid 2px;
}

.stonks li:last-child{
    border-right: none;
}

.stonks strong{
    font-size: 40px;
    margin: 20px;
    color: #F1C21B;
}

.obs{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.obs .square{
    transition: border-color 0.3s;
}

.obs .square:hover{
    border: solid 2px #AA151B;
}

.page h3{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
    gap: 20px;
    padding: 20px;
}

.page h4{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;
    font-weight: 500;
    padding-bottom: 60px;
}

.page .square h4{
    font-weight: 600;
    padding-bottom: 0;
}

.steps{
    display: flex;
    justify-content: center;
    flex-direction: column;
    background-color: #67A893;
    border-radius: 20px;
    padding: 40px;
}

.row{
    display: flex;
    justify-content: center;
    flex-direction: row;
}

.row p{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 18px;
    background-color: #AA151B;
    margin: auto;
    padding: 25px 30px;
    border: 2px solid #F1C21B;
    border-radius: 80%;
}

#sol h3{
    margin-bottom: 0;
}

.steps div{
    margin-top: 30px;
}

.steps div h3{
    font-size: 20px;
    text-shadow: none;
}

.sections{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.sections p{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 15px;
    margin: 20px;
}

.who{
    display:flex;
    justify-content: center;
    flex-direction: column;
    text-align: left;
    background-color: #AA151B;
    border-radius: 20px;
    padding: 50px;
}

.who h2, .solutions h2{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
}

.who p, .solutions p{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;   
}

.data{
    display:flex;
    justify-content: center;
    flex-direction: column;
    text-align: right;
    border-radius: 20px;
    padding: 50px;
}

.data h2{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
}

.data .desc{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;
}


.item{
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
    margin-bottom: 40px;
}

.item2{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 100px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.item3{
    display: grid;
    grid-template-columns: repeat(2, 2fr);
}

.item3 .square, .item3 .square2{
    background-color: #e46367;
    max-height: 250px;
    transition: background-color 0.3s, margin-top 0.3s, border 0.3s;
}

.item3 .square:hover{
    background-color: #f77f83;
    border: 2px solid #c72c31;
    margin-top: 2px; 
} 

.item3 .square2:hover{
    background-color: #f77f83;
    border: 2px solid #c72c31;
    margin-top: 5px; 
}

.item3 .square h4, .item3 .square2 h4{
    color: #F1C21B;
    border-bottom: #F1C21B 4px solid;
}

.square, .square2{
    display: flex;
    justify-content: flex-start;
    align-self: flex-start;
    flex-direction: column;
    padding: 30px;
    margin: 0 auto;
    margin-bottom: 40px;
    background-color: #67A893;
    text-align: left;
    width: 450px;
    min-height: 180px;  
    border-radius: 20px;
}

.square h4, .square2 h4{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 30px;
    color: #AA151B;
    border-bottom: #AA151B solid 4px;
}

.square p, .square2 p{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;
}

.item .square{
    padding: 0px;
    margin: 10px 40px;
    border: 2px solid #AA151B;
}

.item .square h4{
    font-size: 20px;
    border: none;
    text-align: center;
    margin-bottom: 5px;
}

.item .square p{
    font-size: 16px;
    text-align: center;
    padding: 20px;
}

.formulario{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    display: flex;
    justify-content: space-around;
}

.formulario h3{
    font-size: 30px;
}

.formulario .wsp{
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 0px 10px;
    height: 45px;
    width: 300px;
    background-color: #08e71a;
    border: solid 2px #dddddd;
    border-radius: 7px;
    gap: 10px;
    text-align: left;
}

.formulario .options{
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 4px 10px;
    height: 40px;
    width: 300px;
    background-color: #AA151B;
    color: #fff;
    gap: 10px;
    margin-top: 30px;
    border: solid 2px #dddddd;
    border-radius: 7px;
    text-align: left;
}

.schedule2{
    padding: 0px 20px;
    text-align: left;
    background-color: #AA151B;
    color: #fff;
    gap: 10px;
    margin-top: 30px;
    border: solid 2px #dddddd;
    border-radius: 7px;
}

.schedule2 ul{
    padding: 0;
    line-height: 30px;
}

.warning{
    opacity: 0.7;
    font-style: italic;
}

.schedule2 h3{
    font-size: 20px;
}

form{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-weight: bolder;
    font-size: 17px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 30px;
}

input{
    height: 45px;
    width: 300px;
    padding: 0px 10px;
    margin-top: 19px;
    border: solid 2px #dddddd;
    border-radius: 7px;
}

textarea{
    height: 90px;
    width: 295px;
    padding: 10px 13px;
    margin-top: 19px;
    border: solid 2px #dddddd;
    border-radius: 7px;
}

select{
    height: 47px;
    width: 322px;
    padding: 0px 10px;
    margin-top: 19px;
    border: solid 2px #dddddd;
    border-radius: 7px;
}

.politica{
    display: flex;
    align-items: center;
}

.checkbox{
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    height: 20px;
    width: 20px;
}

button{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 17px;
    font-weight: bold;
    color: #FFFFFF;
    background-color: #F1C21B;
    height: 47px;
    width: 322px;
    padding: 0px 10px;
    margin-top: 19px;
    border: solid 2px #dddddd;
    border-radius: 7px;
    transition: 0.3s;
}

button:hover{
    background-color: #c59f17;
    border-color: #bebebe;
    color: #dddddd;
}

.solicitar{
    width: 240px;
}

.function{
    width: 240px;
    color: #FFFFFF;
    background-color: #00000000;
}

.function:hover{
    background-color: #00000000;
    border-color: #bebebe;
    color: #dddddd;
}

.number{
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    text-align: center;
}

.solutions{
    display:flex;
    justify-content: center;
    flex-direction: column;
    text-align: left;
    background-color: #AA151B;
    border-radius: 20px;
    padding: 50px;
}

footer{
    display: flex;
    flex-direction: column;
    background-color: #00503F;
    margin-top: 100px;
    text-align: center;
}

#calculo{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    display: flex;
    justify-content: center;
}

#calculo h3{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
    padding-left: 0;
    margin: 20px;
}

#calculo h4{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;
    margin-bottom: 50px;
}

#calculo .card{
    width:500px;
    background-color:#AA151B;
    padding:40px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

#calculo .header{
    display:flex;
    justify-content:space-between;
    margin-bottom:15px;
    font-size:16px;
}

#calculo input[type=range]{
    width:80%;
    accent-color:#F1C21B;
}

#calculo hr{
    margin:30px 0;
    border:none;
    border-top:1px solid #dddddd;
}

#calculo p{
    opacity: 0.7;
    margin-bottom:25px;
}

#calculo .resultado{
    background:#F1C21B;
    color:#FFFFFF;
    padding:28px;
    border-radius:16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#calculo .resultado strong{
    font-size:30px;
}

#valoraciones h3{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
    padding-left: 0;
    margin: 20px;
}

#valoraciones h4{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;
    margin-bottom: 50px;
}

.opiniones{
    display: flex;
    gap:20px;
}

#valoraciones .google-review{
    width:350px;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:18px;
    padding:25px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    transition:.3s;
}

#valoraciones .google-review:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 35px rgba(0,0,0,.12);
}

#valoraciones .review-top{
    font-family: "Roboto";
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

#valoraciones .review-top img{
    width:28px;
}

#valoraciones .stars{
    font-family: "Roboto";
    color:#fbbc04;
    font-size:20px;
    font-weight:bold;
}

#valoraciones .stars span{
    color:#333;
    margin-left:8px;
    font-size:16px;
}

#valoraciones .review-text{
    font-family: "Roboto";
    color:#555;
    line-height:1.6;
    margin-bottom:22px;
    font-size:15px;
}

#valoraciones .review-user{
    font-family: "Roboto";
    display:flex;
    align-items:center;
    gap:12px;
}

#valoraciones .avatar{
    font-family: "Roboto";
    width:48px;
    height:48px;
    border-radius:50%;
    background:#4285F4;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-weight:bold;
    font-size:20px;
}

#valoraciones .review-user strong{
    display:block;
    color:#222;
}

#valoraciones .review-user span{
    color:#888;
    font-size:14px;
}

.number h2{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
}

.number h3{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 30px;
    color: #F1C21B;
}

.contact{
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.contact p, .schedule p{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-weight: 700;
}

.contact img{
    height: 25px;
    width: 25px;
}

.contact div{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 24%;
    align-items: center;
    gap: 6px;
}

.cc{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    opacity: 0.8;
    margin: 15px;
}

#polypriv{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background-color: #AA151B;
    padding: 20px;
    margin: 40px 20px;
    border-radius: 20px;
}

#polypriv div{
    display:flex;
    flex-direction: column;
    align-items: flex-start;
}

#polypriv h2{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 55px;
    text-shadow: 2px 2px 4px #000000;
    padding-left: 0;
}

#polypriv h3{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 30px;
}

#polypriv h4{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;
}

 #polypriv p{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 20px;
    text-align: left;
 }

#mensaje{
    display:none;
    text-align:center;
    padding:30px;
    border:1px solid #ccc;
    border-radius:10px;
    background:#f5f5f5;
}