@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');

*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --back: #24262b;
    --blanco: #ffffff;
    --oscuro: #212121;
    --naranja: #E30D21;
    --secundario: #0097a7;
    --gris: #757575;
    --grisclaro: #dfe9f3;
    --primario:#e23939;
    --gris-claro:#b8b8b8;
    --sombras: 0 0 13px 0 rgba(185,185,185, .25);
    --fuenteprin:'Roboto', sans-serif;
    --fuentesec:'Open Sans', sans-serif;
    --fuentehed: 'Staatliches', cursive;
}

html {
    font-size: 62.5%;
    box-sizing: border-box;
    scroll-snap-type: y mandatory;


}

*, *:before, *:after {
    box-sizing: inherit;
  }

body {
    font-size: 18px; /* 1rem=10px*/
    font-family: 'Poppins', sans-serif;
    /* background: #cacaca; */
}

h1, h2, h3, h4, h5 {
    text-align: center;
    margin-bottom: 0;
}

a {
    text-decoration: none;
}

p{
    text-align: justify;
}

.gif-card {
    width: 80px;
    padding: 0;
    margin: 0;
}

.contenedor p {
    padding: 2rem 0 ;
}

.contenedor {
    margin: auto;
    width: 89%;
    max-width: 120rem;
    margin-bottom: 5rem;
}

.contenedor-maquinas {
    margin: 0 7rem;
}

/* Generales */
.titulo {
    font-family: var(--fuentehed);
    font-size: 5.5rem;
}

.titulo-naranja {
    color: var(--naranja);
    font-family: var(--fuentehed);
    font-size: 5.5rem;
}

.titulo-rojo {
    color: var(--naranja);
    font-size: 5.5rem;
    font-family: var(--fuentehed);
}

.titulo-gris {
    color: rgb(105, 96, 96);
    font-family: var(--fuentehed);
    font-size: 5rem;
}

.texto-negritas {
    font-weight: bold;
}

.titulo-apartados {
    font-size: 7rem;
    padding: 7rem  15rem 0 15rem;
}

.titulo-ndm {
    padding-top: 2rem;
}

.contenedor ul, .contenedor ol {
    margin-top: 2rem;
    padding: 0 4rem;
}

.subtitulos {
    color: #000;
    font-size: 3.7rem;
    font-family: var(--fuentehed);
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;

}

.texto {
    font-size: 6rem;
}


/* TEXTO RODEANDO DERECHA */

.imagen-flotante-derecha {
    width: 50rem;
    float: right;
    margin-left: 2rem;
    margin-bottom: 2rem;
}

.imagen-kyf {
    width: 15rem;
}

.img-indi {
    width: 30rem;
}

.imagen-100 {
    width: 100%;
    margin: 2rem 0;
}

.imagen-general {
    width: 70rem;
}

/* TEXTO RODEANDO IZQUIERDA */

.imagen-flotante-izquierda {
    width: 50rem;
    float: left;
    margin-right: 2rem;
    margin-bottom: 2rem;
}

/* Scroll */

body::-webkit-scrollbar {
    width: 10px;
    background: #fff;
}

body::-webkit-scrollbar-thumb {
    background: #34495E;
    border-right: 2px solid #34495E;
}

ul {
    list-style-type: none;
}
/* Inicio */

.grid {
    display: grid;
    grid-template-columns: repeat(13, 1fr);
    width: 90%;
    max-width: 1100px;
    height: 100%;
    margin: auto;
    gap: 10px;
    overflow: hidden;
    align-items: center;
}

.parrafo {
    margin-bottom: 1rem;
    text-align: justify;
}

.encabezado {
    height: 550px;

}

.img-hero {
    width: 120%;
    height: auto;
    grid-column: 9/ 13;

}

.heades-img {
    width: 95%;
    max-width: 400px;
}

.texto-hero {
    grid-column: 1/ 7;
    padding-right: 2rem;
    padding-top: 3rem;
}

.texto-hero p {
    text-align: center;
}

.cta {
    width: 130px;
    background: #000;
    color: var(--blanco);
    display: inline-block;
    text-align: center;
    padding: 10px 0;
    text-decoration: none;
}

/* Header */

.service {
    height: 370px;
    background: linear-gradient(180deg, #fff 50%, #000 50%);

}

.items {
    grid-column: 1/ -1;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap;
}

.item-a {
    width: 30%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.877);
    overflow: hidden;
    height: 240px;
    padding: 20px 10px;
    text-align: center;

}

.item-a i {
    font-size: 50px;
    text-align: center;
    color: rgb(255, 94, 0);
}


.titulo-service {
    margin:0;
    font-size: 2.9rem;
    font-family: var(--fuentehed);

}

/* About US */
.about-us {
    background: #000;
    color: var(--blanco);
    height: auto;
    padding-bottom: 6rem;
}

.textos-about-us {
    grid-column: 1/ -1;
    text-align: center;
}

.textos-about-us .parrafo {
    margin-top: 1rem;
    color: #ccc;

}

.numbers {
    grid-column: 1/ -1;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;

}

.number {
    text-align: center;
    font-size: 30px;
    width: 22%;
}

/*Mission*/
.section4 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    margin-top: 10px;
}
  
.section4 .row {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 5px 15px;
}
  
.section4__item {
    height: 590px;
    -webkit-box-flex: 0.497;
        -ms-flex: 0.497;
            flex: 0.497;
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #fbfbfb;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.877);
}
  
.section4__item h1 {
    font-size: 40px;
}
  
.section4__item h1 img {
    width: 30px;
}
  
.section4__item h3 {
    max-width: 298px;
    font-size: 21px;
    font-weight: 400;
}
  
.section4__item h4 {
    font-size: 12px;
    letter-spacing: normal;
    margin-bottom: 0;
}
  
.section4__item a {
    font-size: 17px;
}
  
.section4__item a img {
    width: 10px;
}
  
.section4__item .background {
    height: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 2;
}
  
.section4__item .homePod {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 50px;
}
  
  .section4__item .one {
    width: 550px;
    height: 350px;
}
  
.section4__item .subTitle {
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
  
.section4__item .subTitle a {
    height: 20px;
    width: 110px;
    margin: auto;
    margin-top: 10px;
    color: #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
  
.section4__item .subTitle a img {
    width: 18px;
    margin-left: 5px;
}

.background {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-size: cover;
    background-position: center;
    z-index: -1;
}

.top__title {
    margin-top: 52px;
    color: var(--white);
    text-align: center;
    z-index: 3;
}

.top__title h1 {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: -1px;
}

.top__title h3 {
    margin-top: 3px;
    font-size: 20px;
    font-weight: 400;
}

.top__title h4 {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 3px;
    margin-bottom: 15px;
    color: #d01f2a;
}

.top__title--links {
    margin-top: 5px;
}
  
.top__title--links a {
    font-size: 15px;
    font-weight: 400;
    color: var(--a);
}
  
.top__title--links a:nth-child(2) {
    margin-left: 30px;
}
  
.top__title--links a img {
    width: 12px;
}

/*Cards*/

/*Mission*/


/* Contacto */
.formulario {
    position: relative;
    z-index: 10;
}

.container-a {
    margin-top: 10rem;
    z-index: 90;
}

.container-a ul {
    list-style: none;
}

.contact-form li div {
    margin-bottom: 2em;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 100%;
    margin: 0;
    padding: 1em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 3px solid #000;
    font-family: var(--fuenteprin) ;
    color: #000;
    font-size: 18px;
    transition: ease-in-out 0.25s;
}

.contact-form textarea {
    min-height: 50px;
    max-height: 50px;
    white-space: pre-wrap;
    word-wrap: break-word;
    resize: vertical;
    overflow: hidden;    
}

.contact-form ::-webkit-input-placeholder {
    font-size: 12px;
    color: #000;
    text-transform: uppercase;
    font-weight: 400;
}

.contact-form label {
    font-size: 12px;
    color: #000;
    text-transform: uppercase;
    font-weight: 400;

    
}   

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.contact-form button:focus {
    outline: none;
    resize: none;
    border-bottom: 3px solid #db4d57;
}

.contact-form button {
    color: #000;
    background: rgba( 34,34 ,34 ,0.0 );
    border: 3px solid #db4d57;
    height: 7.4rem;
    width: 20rem;
    float: right;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: ease-in-out 0.25s;

}

.contact-form button span {
    transition: ease-in-out .25s;
}

.contact-form button:hover {
    background: #db4d57;
    color: lightgray;
}

.contact-form button:hover span {
    padding: 10px;
    color: #fff;
}


/* FOOTER */

footer {
    line-height: 1.5;
    
}

.container-footer{
	max-width: 1170px;
	margin:auto;
}
.row-a{
	display: flex;
	flex-wrap: wrap;
}

.footer{
	background-color: var(--back);
    padding: 70px 0;
}
.footer-col{
   width: 25%;
   padding: 0 15px;
}
.footer-col h4{
	font-size: 18px;
	color: #ffffff;
	text-transform: capitalize;
	margin-bottom: 35px;
	font-weight: 500;
	position: relative;
    text-align: left;
}
.footer-col h4::before{
	content: '';
	position: absolute;
	left:0;
	bottom: -10px;
	background-color: #e91e63;
	height: 2px;
	box-sizing: border-box;
	width: 50px;
    
}
.footer-col ul li:not(:last-child){
	margin-bottom: 10px;
    
}
.footer-col ul li a{
	font-size: 16px;
	text-transform: capitalize;
	color: #ffffff;
	text-decoration: none;
	font-weight: 300;
	color: #bbbbbb;
	display: block;
	transition: all 0.3s ease;
}
.footer-col ul li a:hover{
	color: #ffffff;
	padding-left: 8px;
}

.social-icon-info {
	display: flex;
	align-items: center;
}

.social-info a{
	text-decoration: none;
	color: #ffffff;
    font-size: 16px;
}

.footer-col .social-links .social-icon-info .social-icon a{
	display: block;
	height: 40px;
	width: 40px;
	background-color: rgba(255,255,255,0.2);
	margin:0 10px 10px 0;
	text-align: center;
	line-height: 40px;
	border-radius: 50%;
	color: #ffffff;
	transition: all 0.5s ease;
}
.footer-col .social-links .social-icon-info .social-icon a:hover{
	color: #24262b;
	background-color: #ffffff;
}

/* Nosotros */
.texto-hero-nos {
    margin-top: 2rem;
    margin-left: 11rem;
    margin-right: 11rem;
}

.nos {
    padding: 3rem 15rem;
    text-align: justify;
}

.lista {
    margin: 6rem;
}

/* Representados */



.subtitulos-mission-representados {
    text-align: left;
    color: #0072a7;
    font-size: 3.2rem;
    margin-top: 1rem;
    margin-bottom: 2rem;

}

.contenido-representados {
    padding: 1rem 15rem;
}

.cita-text-repre {
    color: #db4d57;
    font-weight: bold;
    font-size: 2.3rem;

}

.cita-p-rep {
    font-weight: bold;
    color: #0e0e0e;
    font-size: 2rem;
}


.contenido-tabla h3 {
    text-align: center;
    align-items: center;
    justify-content: center;
}

.tabla {
    text-align: center;
}

.header-tabla {
    background-color: #2e2c2c;
    color: #fff;
    font-weight: bold;
    
}

.header-tabla td {
    padding: 1.3rem;
}

.cuerpo-tabla-1 {
    background-color: #8f8c8c;
    
}
.cuerpo-tabla-2 {
    background-color: #cac8c8;
}

.cuerpo-tabla-1 td,
.cuerpo-tabla-2 td {
    padding: .7rem;
}


@media screen and (max-width: 1200px) {

    .container-nav{
        max-width: 1200px;
        padding: 2rem 2rem;
    }

    .footer{
        padding: 70px 0;
    }
    .footer-col{
        width: 22%;
        padding: 0 17px;
    }
    
    .textos-mission {
        margin-bottom: 3rem;
        padding-left: 9rem;
    
    }

    .img-mission img {
        width: 94%;
    }

    .item-a {
        height: 26rem;
    }
    

}


@media screen and (max-width: 992px) {
    
    .footer-col{
        width: 50%;
        margin-bottom: 30px;
    }


    .tabla {
        width: 100%;
        padding: 0;
        margin: 0;
        font-size: 1.1rem;
    }

    .header-tabla td {
        padding: .7rem;
    }
    
    .cuerpo-tabla-1 td,
    .cuerpo-tabla-2 td {
        padding: .7rem .7rem;
    }

    .service {
        height: auto;
        margin-top: 20px;

    }

    .item-a {
        width: 60%;
        margin: 20px 0;
        height: auto;
        padding: 20px;
    }

}

@media screen and (max-width: 768px) {

    .imagen-kyf {
        display: none;
    }

    .contenedor-maquinas {
        margin: 0 2rem;
    }

    .titulo {
        font-family: var(--fuentehed);
        font-size: 5rem;
    }
    
    .titulo-naranja {
        font-family: var(--fuentehed);
        font-size: 4.5rem;
    }
    
    .titulo-gris {
        color: rgb(105, 96, 96);
        font-family: var(--fuentehed);
        font-size: 3.5rem;
    }
    
    .texto-negritas {
        font-weight: bold;
    }
    
    .titulo-apartados {
        font-size: 5rem;
        padding: 5rem  2rem 0 2rem;
    }
    
    .log-sign{
        flex: initial;
        width: 100%;
        padding: 1.5rem 1.9rem;
        justify-content: flex-start;
        opacity: 0;
        transform: translateY(15px);
    }

    .content{
        z-index: -1;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        text-align: center;
    }

    .encabezado {
        height: auto;
        
    }

    .texto-hero {
        padding-top: 15rem;
    }
    /* NOSOTROS */
    .nos {
        padding: 3rem 9rem;
    }
/* 
    .titulo {
        position: relative;
        z-index: 99;
    } */

    .grid {
        grid-gap: 30px;

    }
    
    .img-hero,
    .texto-hero {
        grid-column: 1/ -1;
    }
    .img-hero {
        text-align: center;
    }
    .texto-hero {
        padding-top: 1rem;
    }

    .service {
        height: auto;
        margin-top: 20px;

    }

    .item-a {
        width: 60%;
        margin: 40px 0;
        height: auto;
        padding: 40px;
    }

    .img-mission {
        grid-column: 1/-1;
        grid-row: 2/3;
        text-align: center;
    }

    .textos-mission {
        grid-column: 1/-1;
        grid-row: 1/2;
        align-self: center;
    }

    /* CATALOGO */

    .posts {
        grid-template-columns: repeat(2, 1fr);
    }

    .post a button {
        padding: .7rem 12rem;
    
    }

    /* rEPRESENTADOS */

    .contenido-representados {
        padding: 1rem 1rem;
    }

    .tabla {
        width: 90%;
        padding: 0;
        margin: 0;
        font-size: 1rem;
    }

    .header-tabla td {
        padding: .5rem;
    }
    
    .cuerpo-tabla-1 td,
    .cuerpo-tabla-2 td {
        padding: .5rem .5rem;
    }



    /* FOOTER */

    .footer-col{
        width: 50%;
        margin-bottom: 30px;
    }

    .imagen-flotante-derecha,
    .imagen-flotante-izquierda {
        width: 100%;
    }

    .section4 .row{
        flex-direction: column;
    }

    .section4__item {
        flex: auto;
    }

    .texto-hero {
        margin-top: 5rem;
    }
}

@media screen and (max-width: 576px) {

    *{
        margin: 0;
    }

    .titulo-apartados {
        font-size: 5rem;
        padding: 4rem  2rem 0 2rem;
    }

    .logo{
        font-size: 2rem;
    }
    
    .img {
        max-width: 400px;
    }

    .grid {
        grid-template-columns: repeat(auto-fit, minmax(180px));
    }

    .item-a {
        width: 100%;
        flex-shrink: 0;
    }
    
    .item-a {
        width: 300px;
        height: 250px;
        padding: 10px 5px;
    
    }

    
    .number {
        width: 55%;
        border-bottom: 1px dotted #fff;
        margin-bottom: 20px;
        padding-bottom: 5px;
    }

    .mission {
        padding: 0;
        padding-top: 4rem;
        align-items: center;
        text-align: center;
        margin-bottom: 2rem;
    }

    .textos-mission {
        grid-column: 1/ 13;
        grid-row: 1/ -1;
        margin-bottom: 50px;
        padding-left: 0;
    
    }

    .texto-mission {
        margin: 0;
        padding: 0;
        margin-left: 0;
    }

    .texto-mission p {
        text-align: justify;
        
    }

    .texto-mission a {
        margin: 0;
        align-items: center;
        
    }

    /* REPRESENTADOS */
    .contenido-representados {
        padding: 1.2rem 3rem;
    
    }

    .nos {
        padding: 3rem 7rem;

        text-align: justify;
    }

    .lista {
        margin: 1rem;
    }

    /* CATALOGO */

    .posts {
        grid-template-columns: repeat(1, 1fr);
    }

    /* FOOTER */

    .footer-col{
        width: 100%;
    }

    /* REPRESENTADOS */

    .titulo-representados {
        letter-spacing: 0rem;
        font-size: 5rem;
        padding: 0rem  0rem 0 0rem;
    }

    .contenido-tabla table {
        width: 100%;
    }
    
    .contenido-tabla h3 {
        font-size: 20px;
    }
    
    .header-tabla {
        font-weight: normal;
        font-size: .7rem;
        
    }
    
    .cuerpo-tabla-1 td,
    .cuerpo-tabla-2 td {
        font-size: .7rem;
        padding: .1rem;
    }
    .header-tabla td {
        padding: .0rem;
    }
    

    .texto-hero .fifth:after {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        width: 0;
        height: 100%;
        background: #e08709;
        z-index: -1;
        -webkit-transition: width 2s ease-in-out;
        transition: width 150ms ease-in-out;
    }

    .texto-hero .fifth:hover {
        color: #fff;
    }
    
    .texto-hero .fifth:hover:after {
        width: 100%;
    }

    .texto-hero .btn-contact {
        width: 98%;
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1;
        margin: 2rem 0px;
        text-align: center;
        align-items: center;
        justify-content: center;

        padding: 1em 2.5em;
        text-decoration: none;
        text-align: center;
        text-transform: uppercase;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
    }

    .titulo-gris {
        font-size: 3rem;
    }

    

}

/* Animaciones */

@keyframes moverIzquierda {
    0% {
        opacity: 0;
        transform: translateX(-100px);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}

@keyframes moverDerecha {
    0% {
        opacity: 0;
        transform: translateX(100px);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}

@keyframes arriba {
    0% {
        opacity: 0;
        transform: translateY(100px);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}




/* ERROR 404 */ 
.error {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Consolas;
}

.error {
    min-height: 100vh;
    background: linear-gradient(0deg, #fff, #03a9f4);
}

.sky {
    position: relative;
    widows: 100%;
    height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sky h2 {
    font-size: 16rem;
    color: #fff;
    text-shadow: 15px 15px 0 rgba(0, 0 , 0, 0.1);
}

.sky h2 span {
    display: inline-block;
    animation: animate 2s ease-in-out infinite;

}

.sky h2 span:nth-child(even) {
    animation-delay: -1s;
}

.field {
    padding: 100px;
    height: 40vh;
    background: #6e2308;
    box-shadow: inset 0 20px 10px #51680c;
    text-align: center;

}

.field h2 {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 20px;

}

.field a {
    background: #fff;
    color: #000;
    width: 160px;
    height: 50px;
    line-height: 50px;
    border-radius: 50px;
    display: inline-block;
    text-decoration: none;
    font-size: 20px;
}


.grass {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 20px;
    background: url(../img/grass.png);
    background-position: bottom;
    animation: animateGrass .2s linear infinite;
}

@keyframes animateGrass {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 94px 0;
    }
}

@keyframes animate {
    0%,100% {
        transform: translateY(-50px);
    }

    50% {
        transform: translateY(50px);
    }
}

/* BOTONES */


.fifth {
    border-color: #8e44ad;
    border-radius: 0;
    color: #8e44ad;
    position: relative;
    overflow: hidden;
    z-index: 1;
    -webkit-transition: color 3s ease-in-out;
    transition: color 1s ease-in-out;
}
.fifth:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    height: 100%;
    background: var(--naranja);
    z-index: -1;
    -webkit-transition: width 2s ease-in-out;
    transition: width 150ms ease-in-out;
}
.fifth:hover {
    color: #fff;
}
.fifth:hover:after {
    width: 110%;
}

.btn-contact {
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
        appearance: none;
    background-color: transparent;
    border: 2px solid var(--naranja);
    border-radius: 2px;
    color: var(--naranja);
    cursor: pointer;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
        align-self: center;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1;
    margin: 5px 2px;
    text-align: center;
    align-items: center;
    justify-content: center;

    padding: 1em 2.5em;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

.btn-contact:hover, .btn:focus {
    color: #fff;
    outline: 0;
}
/* CATEGORIAS */
.faq {
    max-width: 1000px;
    width: 100%;
    margin: 40px auto;
}
.categorias{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px; 
    margin-bottom: 60px;
}

.categoria {
    cursor: pointer;
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    background: #fff;
    font-weight: 700;
    color: var(--gris-claro);
    border: 2px solid transparent;
    transition: .3s ease all;
}

.categoria:hover {
    box-shadow: var(--sombras);
    color: #000;
}

.categoria:hover path{
    fill: var(--primario);
}

.categoria svg{
    width: 64px;
    margin-bottom: 10px;
}

.categoria path{
    fill: var(--gris-claro);
    transition: .3s ease all;
}


.categoria.activa{
    border: 2px solid var(--primario);
    color: #000;
}
.categoria.activa path{
    fill: var(--primario)
}

/* contenedor-preguntas */
.contenedor-preguntas{
    display: none;
    grid-template-columns: 1fr;
    gap: 40px;
}

.contenedor-preguntas.activo{
    display: grid;
}

.contenedor-pregunta{
    background: #fff;
    padding: 40px;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    transition: .3s ease all;
    cursor: pointer;
}

.contenedor-pregunta:hover{
    box-shadow: var(--sombra);
}
.contenedor-pregunta.activa{
    border: 2px solid var(--primario);
}

.pregunta{
    font-weight: 700;
    font-size: 20px;
    line-height: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pregunta img{
    width: 14px;
}

.respuesta{
    color:#808080;
    line-height: 30px;
    max-height: 0;
    opacity: 0;
    transition: .3s ease all;
}

.contenedor-pregunta.activa .respuesta{
    opacity: 1;
    margin-top: 20px;
}

.contenedor-pregunta.activa img{
  transform: rotate(45deg);
}


/** GALERIA **/
