* {
    margin: 100;
    padding: 0;
    box-sizing: border-box;
}

.contenedor {
    width: 95%;
    text-align: center;
}

.elementos {
    display: flex;
    flex-direction: row;
}

.separador {
    margin: 90px auto;
}

.informacion {
    margin: 50px auto;
    text-align: center; 
}

.informacion .titulo {
    font-size: 30px;
    color: rgb(84, 0, 0);
    margin-bottom: 20px;
}

.informacion .subtitulo {
    font-size: 20px;
    color: rgb(84, 4, 4);
}

.cards {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.card {
    width: 380px;
    padding: 80px 20px;
    margin-bottom: 20px;
    text-align: center;
    box-shadow: 0px 0px 12px 3px rgba(143, 143, 143, 0.673);
    cursor: pointer;
    transition: box-shadow .5s;
}

.card .icon {
    font-size: 60px;
    color: rgba(135, 135, 135, 0.671);
}

.card .titulo {
    font-family: Arial, Helvetica, sans-serif;
    margin: 20px 0px;
    color: rgb(82, 0, 0);
}

.card .descripcion {
    color: rgb(85, 91, 95);
    font-family: Arial, Helvetica, sans-serif;
    margin-bottom: 50px;
    text-align: justify;
}

.card:hover {
    box-shadow: 0px 0px 12px 3px rgb(254, 254, 255);
    transition: .5s ease-in;
}

.boton {
    text-decoration: none;
    padding: 20px 30px;
    color: white;
    font-weight: bold;
    outline: none;
    border: 1px solid rgba(250, 250, 250, 0.714);
    background-color: rgb(0, 0, 0);
    cursor: pointer;
    transition: .4s ease-in;
}

.boton:hover {
    color: rgb(63, 3, 2);
    background-color: white;
    transition: .4s ease-in;
}


.menu_fondo {
    background-color: rgb(0, 0, 0);
    position: fixed;
    top: 0;
    width: 100%;
}

.header .logo {
    line-height: 120px;
    color: white;
    font-size: 35px;
}

.header .elementos {
    position: relative;
}

.header .menu {
    display: flex;
    flex-direction: row;
    position: absolute;
    right: 0;
}

.header .menu li {
    line-height: 120px;
    margin-left: 40px;
    cursor: pointer;
    display: inline-block;
}

.header .menu i,
.header .menu a {
    color: rgba(255, 255, 255, .781);
    text-decoration: none;
    font-size: 19px;
}

.header .menu a:hover {
    color: white;
}

.header .menu form input[type="text"] {
    position: absolute;
    top: 77px;
    right: 0;
    outline: none;
    border: none;
    border-radius: 2px;
}

.oculto {
    padding: 0;
    width: 0;
    transition: all .3s;
}

.visible {
    padding: 14px;
    width: 140px;
    transition: all .3s;
}

.principal_fondo {
    padding-top: 300px;
    background-image: linear-gradient(rgb(0, 0, 0), rgb(19, 19, 19)), url("../images/grafica.jpg");

}

.principal .detalles_principal {
    width: 70%;
    text-align: center;
}

.principal .detalles_principal .titulo {
    color: white;
    font-size: 60px;
    justify-content: center;
}

.principal .detalles_principal .subtitulo {
    font-size: 18px;
    color: white;
    justify-content: center;
}

.principal .botones_contacto {
    width: 45%;
    padding: 30px 0px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.principal .detalles_principal .boton {
    padding: 20px 30px;
    color: rgba(0, 0, 0, 0.781);
    background-color: white;
    outline: none;
    border: 1px solid white;
    cursor: pointer;
    margin-right: 35px;
    transition: .4s ease-in;
}

.principal .detalles_principal .boton:hover {
    color: white;
    border: 1px solid white;
    background-color: transparent;
    transition: .4s ease-in;
}



.principal .navegacion {
    width: 20%;
    font-size: 40px;
    display: flex;
    justify-content: space-around;
    cursor: pointer;
    padding-bottom: 20px;
    color: white;
}

.principal .navegacion i {
    padding: 30px 40px;
    border-radius: 50%;
    transition: .5s ease-in;
}

.principal .navegacion i:hover {
    background-color: white;
    color: rgb(15, 0, 29);
    border-radius: 50%;
    transition: .5s ease-in;
}

.acerca_de_fondo {
    background-color: rgb(255, 255, 255);
    padding: 30px 0px;
}

.acerca_de {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
}

.acerca_de .info {
    width: 60%;
    padding: 20px 0px;
    text-align: left;
}

.acerca_de .info .titulo {
    font: 35px;
    color: rgb(93, 0, 0);
}

.acerca_de .info .descripcion {
    font-size: 20px;
    text-align: justify;
    padding: 35px 0px;
}

.acerca_de .imagen img {
    width: 450px;
    height: 300px;
}


.estadisticas_fondo {
    background-image: linear-gradient(rgb(255, 255, 255), rgb(255, 255, 255)), url("../images/grafica.jpg");
}

.estadisticas .elementos_estadisticas {
    text-align: center;
    color: rgb(255, 255, 255);
    height: 300px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.estadisticas .elementos_estadisticas i {
    font-size: 60px;
    margin: 0px 14px;
}

.estadisticas .elementos_estadisticas .estadistica .numero {
    font-size: 40px;
}

.estadisticas .elementos_estadisticas .estadistica .titulo {
    font-size: 20px;
}
/* fin seccion estadisticas */
/* inicio seccion precios */

.precios .precio {
    cursor: pointer;
    padding-bottom: 40px;
    width: 280px;
    text-align: center;
    transition: box-shadow .3s ease-in-out;
}

.precios .precio .cabecera {
    background-color: rgb(0, 0, 0);
    height: 180px;
    color: white;
    padding: 38px;
}

.precios .precio .cabecera .titulo,
.precios .precio .cabecera .valor,
.precios .precio .cabecera .tipo {
    font-size: 30px;
}

.precios .precio .detalles {
    margin: 40px;
}

.precios .precio .detalles ul {
    list-style: none;
    text-align: left;
    margin-left: 30px;
}

.precios .precio .detalles ul li {
    font-size: 20px;
    margin-bottom: 10px;
}

.precios .precio:hover {
    box-shadow: 0px 0px 22px 3px rgba(0, 0, 0, 0.356);
    transition: box-shadow .3s ease-in-out;
}

.comentarios_fondo {
    background-color: rgba(243, 242, 242, 0.573);
}

.comentarios .informacion .titulo {
    padding-top: 100px;
    color: rgb(112, 0, 0);
}

.comentarios .usuario {
    text-align: center;
}

.comentarios .usuario .imagen {
    width: 300px;
    height: 300px;
    border-radius: 300px;
    margin-bottom: 40px;
}

.comentarios .usuario .descripcion {
    font-size: 20px;
    color: rgb(157, 157, 157);
}

.comentarios .usuario .nombre {
    font-size: 30px;
    color: rgb(80, 80, 80);
    padding: 22px 0px 12px;
}

.comentarios .usuario .cargo {
    font-family: Arial, Helvetica, sans-serif;
    color: gray;
    font-size: 20px;
}

.comentarios .botones {
    padding-top: 26px;
    text-align: center;
}

.comentarios .botones span {
    width: 20px;
    height: 20px;
    display: inline-block;
    margin: 0px auto 40px;
    justify-content: center;
    border-radius: 20px;
    border: 1px solid gray;
    cursor: pointer;
}

.comentarios .botones .activo {
    background-color: rgb(120, 0, 0);
}

.comentarios {
    margin-bottom: 0;
}



.marcas .elementos {
    height: 140px;
    justify-content: space-between;
    align-items: center;
}

.marcas .elementos .item {
    font-size: 90px;
    color: white;
}


.contacto_fondo {
    background-image: linear-gradient(rgb(0, 0, 0), rgba(0, 0, 0, 0.947)), url("../images/world.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100vh;
    padding: 100px 0;
}

.contacto .informacion .titulo,
.contacto .informacion .subtitulo {
    font-family: Arial, Helvetica, sans-serif;
    color: white;
}

.contacto .elementos {
    width: 70%;
    margin: auto;
    justify-content: space-between;
}

.contacto .medioscontacto {
    color: white;
    text-align: left;
    font-size: 20px;
    margin-bottom: 22px;
}

.contacto .medioscontacto .titulo,
.contacto .redes_sociales .titulo {
    font-size: 30px;
    margin-bottom: 32px;
}

.contacto .medioscontacto address .direccion {
    font-size: 18px;
    margin: 32px 0px;
}

.contacto address i {
    margin-right: 15px;
}

.contacto .medioscontacto address .numero,
.email {
    font-size: 18px;
    margin-bottom: 32px;
}

.contacto .redes_sociales .icons {
    width: 150px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.formulario .titulo {
    color: white;
    text-align: center;
}

.formulario_flex {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    gap: 20px;
    text-align: right;
}

.formulario_flex .formulario__grupo_texarea,
.formulario_flex .formulario__grupo_submit {
    grid-column: span 2;
}

.formulario_flex input {
    color: rgb(81, 0, 0);
    padding: 17px;
    outline: none;
}

.formulario_flex input[type="submit"] {
    color: white;
}

.formulario_flex input[type="submit"]:hover {
    color: rgb(88, 0, 0);
}

.formulario_flex textarea {
    color: rgb(105, 12, 12);
    min-width: 100%;
    height: 200px;
    outline: none;
    justify-content: flex-end;
    padding: 10px;
}

.formulario_flex input:focus,
.formulario_flex textarea:focus {
    color: rgb(117, 27, 0);
}



.mensaje .invitacion {
    width: 70%;
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.pie_de_pagina_fondo {
    background-color: rgb(0, 0, 0);
    color: white;
    padding: 120px 0px 80px;
}

.conjunto {
    width: 90%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 100px;
    text-align: left;
}

.conjunto .info .titulo {
    font-size: 35px;
}

.conjunto .info .descripcion {
    padding: 26px 0;
    font-size: 20px;
    color: rgba(255, 247, 247, 0.705);
}

.conjunto .info .item {
    width: 80%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.conjunto .info .item button:hover {
    background-color: rgb(255, 255, 255);
}

.conjunto .links h2,
.noticias h2,
.boletin h2 {
    font-size: 25px;
    padding-bottom: 20px;
}

.conjunto .links ul {
    list-style: none;
}

.conjunto .links ul li {
    padding: 10px 0px;
    font-size: 18px;
}

.conjunto .links ul li a {
    text-decoration: none;
    color: rgba(255, 247, 247, 0.705);
}

.conjunto .noticia {
    padding: 30px 0px 40px;
}

.conjunto .noticias .noticia .titulo,
.fecha,
.boletin .noticia .titulo {
    color: rgba(255, 247, 247, 0.705);
}

.boletin .enviar form {
    display: flex;
    margin: 0;
}

.boletin form input {
    padding: 15px;
    height: 50px;
    border: none;
    outline: none;
}

.boletin form input[type="submit"] {
    background-color: rgba(172, 0, 0, 0.74);
    color: white;
    cursor: pointer;
}

.derechos {
    height: 60px;
    color: rgb(255, 255, 255);
    text-align: center; 
    background-color: rgb(67, 0, 0);
    line-height: 60px;
}

.derechos .elementos {
    display: flex;
    width: 30%;
    margin: auto;
    justify-content: space-between;
}
