
* {
 box-sizing: border-box;
}
body {
    margin: 0;
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
    min-height: 100vh;
    width:100%;

}
.top-bar {
    background-color:  rgb(190, 15, 46);
    width: 100%;
    height: 5vh;
}

.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: white;
    color: rgb(190, 15, 46);
    height: 10vh;
    border-top: 2px solid white;
    border-bottom: 2px solid white;
}
.header .logo {
    padding-top: 45px;
    display: flex;
    align-items: center;
}
.header .logo img {
    height: 80%;
    margin-right: 30px;
}
.header .logo-text {
    color:#3c3c3b;
    font-weight: bold; 
    font-size: 35px;
    /*border-left: 3px double black;*/
    padding:20px;
}
.header nav {
    display: flex;
    align-items: center;
}
.header nav ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}
.header nav ul li {
    position: relative;
    margin-left: 20px;
}
    
.header nav ul li a {
    color: rgb(190, 15, 46);
    text-decoration: none;
    font-weight: bold;
}   
.header nav ul li a:hover {
    color:#65899e;
    font-weight: bold;
    
}
.header nav ul li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #444;
    transition: opacity 0.3s ease;
    list-style: none;
    padding: 0;
    margin: 0;
}
.header nav ul li ul li {
    margin: 0;
}
.header nav ul li ul li a {
    padding: 5px;
    display: block;
    
}

.header nav ul li:hover ul {
display: block;
opacity: 1;
visibility: visible;
}
.caja {
   
    flex: 1;
    width: 80%; /* Ancho del 80% */
    margin: 0 auto; /* Centrar horizontalmente */
}
.main {
    display: flex;
    flex-wrap: wrap;
    padding-top: 45px;
 }



.sidebar {
    width: 325px;
    border-radius: 25px;
    height: 100%;
    margin:0;
    background-color: #f3f3f3;
    padding-left: 5px;
}
    
.sidebar ul {
    list-style: none;
    font-weight: bold; 
    padding:0px;
    /*border-bottom: 1px groove #3c3c3b;*/

   
    
}
.sidebar ul li {
    margin-bottom: 10px;
    cursor: pointer;
    padding-top: 5px;
    padding-bottom: 5px;
    
    
}
.sidebar ul li a {
    color: rgb(190, 15, 46);
    text-decoration: none;

   
}
.sidebar ul li a:hover{
    color:#65899e;
    font-weight: bold;
}
.sidebar ul li ul {
    display: none;
    list-style: none;
    padding-top: 10px;
    margin: 0;
    font-weight: normal;
}
.sidebar ul li ul li {
    margin-left: 20px;
}
.content {
    flex: 1;
}
.content img {
   /* border-radius: 20px;*/
    width: auto;
    height: auto;
}

.boton-enlace {
display: inline-block;
padding:10px 20px;
margin-bottom:20px;
margin-top:5px;
font-size: 16px;
font-weight: bold;
color: white;
background-color: rgb(190, 15, 46);
text-decoration: none;
border-radius: 25px;
transition: background-color 0.3s;
border: 2px solid rgb(190, 15, 46);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.boton-informes {
display: inline-block;
padding:5px 9px;
/* margin-bottom:20px;
margin-top:5px;*/
font-size: 16px;
font-weight: bold;
color: white;
background-color:#009e93;
text-decoration: none;
border-radius: 25px;
transition: background-color 0.3s;
border: 2px solid #009e93;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.boton-informes:hover {
background-color: rgb(189,19,83);}

.boton-enlace:hover {
background-color: #65899e;
}

       
.imagen_central {
display: flex;
justify-content: center;
align-items: center;
height: auto;
width: 100%;
 }

.imagen_central img {
max-width: 100%;
height: auto;
border-radius: 20px;
}
  

.parrafo {

    font-family: Arial, sans-serif;
    color: #333;
    line-height: 1.5;
    text-align: justify;
    font-size: 16px;
    margin-left: 20px;
}
.parrafodir {

    font-family: Arial, sans-serif;
    color: #333;
    line-height: 1.5;
    text-align: justify;
    font-size: 16px;
    margin-left: 95px;
}

.parrafo_exito {

    font-family: Arial, sans-serif;
    color: #333;
    line-height: 1.5;
    text-align: justify;
    font-size: 16px;
    margin-left: 95px;
    margin-rigth: 100px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(189, 19, 83, 0.3);
    max-width: 60%;
    padding: 20px;
}

.parrafo_exito h2 {
    color:rgba(189, 19, 83);
    text-align: center;
}

/* preguntas frecuentes*/

.faq {
    max-width: 90%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
   
}

.faq-question {
    cursor: pointer;
    padding: 15px;
    background-color:#bc1053;
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content:space-between;
    align-items: center;
    width: 100%;
    margin-left: 40px;
    border-radius: 10px;
    transition: background-color 0.3s;
    border: 2px solid #65899e;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.faq-answer {
    display: none;
    padding: 15px;
    background-color: whitesmoke;
    border-top: 1px solid #ddd;
    width: 100%;
    max-width: 100%;
    margin-left: 40px;
    border-radius: 5px;
    transition: background-color 0.3s;
    border: 2px solid whitesmoke;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.faq-question:hover {
    background-color: #65899e;
    border-color: #bc1053;
}
.faq-question::after {
    content: '+';
    font-size: 20px;
}
.faq-question.active::after {
    content: '-';
    font-size: 20px;
}
.faq-answer {
    transition: max-height 0.3s ease-out;
}


.subtitulofaq{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: auto;
    width: 100%;
    max-width: 100%;
    font-size: 30px;
    font-weight: bold;
    color: #3c3c3b;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 40px;
}



/* contacto formulario*/
.form-container {
    margin-left:100px;
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(189, 19, 83, 0.3);
    max-width: 75%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.subtituloform{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: auto;
    width: 100%;
    max-width: 100%;
    font-size: 30px;
    font-weight: bold;
    color: rgba(189, 19, 83);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 40px;
}
.form-container h2 {
    margin-bottom: 20px;
    text-align: center;
}

.form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.form-group label {
    margin-bottom: 5px;
    font-weight: bold;
}

.form-group input,
.form-group textarea {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
}

.form-group textarea {
    resize: vertical;
}
input:focus, textarea:focus {
    outline: 2px solid #009e93;
  }
.button-container {
    display: flex;
    justify-content: center;
}

.button-container button  {
  padding: 10px;
   max-width: 30%;
   font-size: 16px;
   font-weight: bold;
   color: white;
   background-color: rgb(190, 15, 46);
   text-decoration: none;
   border-radius: 25px;
   transition: background-color 0.3s;
   border: 2px solid rgb(190, 15, 46);
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
   
}
.form-group .button-container {
    display: flex;
    align-items: center; 
}

.button-container button:hover {

    background-color:#009e93;
}
.footer {
    background-color: #333;
    color: white;
    text-align: center;
    /*padding: 20px;*/
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer .logo {
    display: flex;
    align-items:center;
}
.footer .logo img {
    height: 100%;
    /*margin-right: 10px;*/
}
.footer .address {
    flex: 1;
}
footer .date-time {
    flex: 1;
    text-align: right;
}
/* Media Queries para dispositivos móviles */
@media (max-width: 800px) {
    .header {
        flex-direction: column;
        height: auto;
        padding: 10px;
    }
    .header .logo img {
        height: 50px;
        margin-right: 0;
        margin-bottom: 15px;
    }
    .header .logo-text {
        margin-left: 0;
        margin-bottom: 10px;
        text-align: center;
        font-size: 20px;
    }
   /* .header .logo  {
        height: 50px;
        margin-right: 0;
        margin-bottom: 15px;
    }*/
    .header nav ul {
        flex-direction: column;
        align-items: center;
    }
    .header nav ul li {
        margin-left: 0;
        margin-bottom: 10px;
    }
    .main {
        display:flex;
        flex-direction: column;
        height: auto;
        max-width: 100%;
        padding: 10px;
    }
    
       
    .sidebar {
        width: 100%;
        padding: 10px;
    }
   .content {
    display:flex;
    flex-direction: column;
    max-width: 100%;
    height:auto;
    padding: 10px;
    }
    .imagen_central {
      width: 100%;
      height: auto;
      margin:0;
    }
    .faq-question {
        font-size: 16px;
        padding: 10px;
    }
    .faq-answer {
        font-size: 14px;
        padding: 10px;
    }
    .subtitulofaq{
    
        text-align: center;
        font-size: 20px;
    }
    .subtituloform{
    
        text-align: center;
        font-size: 20px;
    }
    .subtituloform img {
        height: 50px;
        margin-right: 0;
        
    }
    .footer {
        flex-direction: column;
        text-align: center;
    }
    .footer .address, .footer .date {
        flex: none;
        text-align: center;
        margin-top: 10px;
    }
}
