:root{
    --violeta-gc: #800080;
}

*{
    margin: 0px;
    padding: 0px;
    font-family: 'Roboto', sans-serif;
    /* -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; */
}

/* .col-1{width: 8.33%;}
.col-2{width: 16.66%;}
.col-3{width: 25%;}
.col-4{width: 33.33%;}
.col-5{width: 41.66%;}
.col-6{width: 50%;}
.col-7{width: 58.33%;}
.col-8{width: 66.66%;}
.col-9{width: 75%;}
.col-10{width: 83.33%;}
.col-11{width: 91.66%;}
.col-12{width: 100%;} */

/* Header styles */
.header{
    background-color: var(--violeta-gc);
    color: white;
    text-align: center;
    padding: 12px;
    height: 60px;
    /* width: 100%; */
    display: flex;
    flex-wrap: wrap;
}
    .logo{
        /* background-color: tomato; */
        height: 100%;
        width: auto;
        padding-right: 20px;
    }
    .logo:hover{
        animation: flip 1s;
    }
    .social{
        /* background-color: violet; */
        /* flex: 1 1 auto; */
        display: flex;
        justify-content: center;
        align-items: center;
        padding-left: 5px;
    }
        .socialitem{
            color: white;
            text-decoration: none;
            /* font-size: 60%; */
            font-size: 170%;
            flex: 1 1 auto;
            padding: 5px;
        }
        .socialitem:hover{
            position: relative;
            bottom: 3px;
            color: #e0e0e0;
            /* padding-bottom: 1px; */
            /* color: rgb(184, 184, 184); */
        }
    .nav{
        /* background-color: orange; */
        flex: 1 1 auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }
        .navitem{
            /* background-color: cadetblue; */
            flex: 1 1 auto;
            max-width: 100px;
            text-decoration: none;
            color: white;
            padding: 13px 0px;
            display: flex;
            flex-direction: column;
        }
        .navitem:hover{
            /* padding-bottom: 10px; */
            position: relative;
            bottom: 4px;
            color: #e0e0e0;
        }
        .actual{
            background-color: white;
            color: purple;
            border-radius: 5px;
            /* flex: 1 1 auto; */
        }
        .actual:hover{
            background-color: #e0e0e0;
            color: purple;
        }

/* Contenedor principal styles */
.contenedor{  
    /* background-color: tomato; */
    width: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.cursos,.eventos{
    background-color: white;
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    /* margin: 20px 0px; */
}
.title{
    /* flex: 1 1 auto; */
    width: 100%;
    background-color: #eeeeee;
    text-align: center;
    color: var(--violeta-gc);

    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;

    padding: 20px 0px;
    font-size: 150%;
    
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.txt-center{
    text-align: center;
}

/* Whatsapp fijo en la parte inferior */
.whatsapp{
    position: fixed;
    bottom: 20px;
    right: 0px;
}
.whatsapp:hover{
    /* bottom: 25px; */
    animation: rubberBand 1s;
}

/* Boton para ver mas cursos o mas eventos */
.btn {
    box-sizing: border-box;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: transparent;
    border: 2px solid var(--violeta-gc);
    border-radius: 0.6em;
    color: var(--violeta-gc);
    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: 1rem;
    font-weight: 400;
    line-height: 1;
    /* margin: 20px; */
    padding: 1.2em 2.8em;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
  }
  .btn:hover, .btn:focus {
    color: #fff;
    outline: 0;
  }
  .first {
    -webkit-transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
    transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
  }
  .first:hover {
    box-shadow: 0 0 40px 40px var(--violeta-gc) inset;
  }
/* Imagen de bienvenida y textos */
    .main{
        width: 100%;
        height: 350px;
        background-image: url("imgs/verano.jpg");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center top;
    }
    .textosmain{
        background-color: rgba(0, 0, 0, 0.6);
        width: 100%;
        height: 100%;
        font-size: 120%;
        
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .textomain{
        color: white;
        width: 70%;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: center;
        text-align: center;
    }
    h1 span{
        padding-left: 0.3rem;
        padding-bottom: 1rem;
    }

    /* Clases del video de presentacion */
    .video-container{
        width: 100%;
        display: flex;
        justify-content: center;
    }
        .video{
            width: 80%;
            max-width: 600px;
        }

/* Estilos de cursos */
    .cards-cursos{
        /* background-color: green; */
        width: 80%;
        max-width: 800px;
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(1fr,600px));
        padding: 20px;
        grid-gap: 40px;
    }
        .card-curso{
            box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
            border-radius: 10px;
            /* padding: 20px; */

            /* width: 100%; */
            display: grid;
            grid-template-columns: 2fr 4fr;
            /* height: 200px; */
        }
            .card-curso>.card-img{
                /* grid-area: img; */
                height: 100%;
                width: auto;
                border-radius: 10px 0px 0px 10px;
                background-position: center center;
                background-size: cover;
            }
            .card-body{
                /* grid-area: body; */
                /* height: 100%; */
                box-sizing: border-box;
                padding: 20px;
                display: flex;
                flex-direction: column;
                justify-content: center;
                gap: 10px;
            }
                .card-body>h1{
                    color: rgb(88, 88, 88);
                    text-transform: capitalize;
                }
                .muted{
                    color: gray;
                    text-align: right;
                }
                .vermas{
                    text-align: center;
                    /* background-color: blue; */
                }
                .vermas button{
                    color: white;
                    border: none;
                    border-radius: 10px;
                    background-color: inherit;
                    padding: 12px 14px;
                    font-size: 16px;
                    cursor: pointer;
                    display: inline-block;
                    background-color: dodgerblue;
                }
                /* On mouse-over */
                button:hover {
                    background: rgb(4, 107, 209);
                }

/* Estilos de eventos */
    .cards-eventos{
        /* background-color: green; */
        width: 80%;
        max-width: 900px;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        padding: 20px;
        grid-gap: 40px;
    }
        .card-evento{
            box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
            border-radius: 10px;
            /* padding: 20px; */

            /* width: 100%; */
            display: grid;
            grid-template-rows: 1fr 1fr;
            /* height: 200px; */
        }
            .card-evento>.card-img{
                /* grid-area: img; */
                height: 100%;
                width: auto;
                border-radius: 10px 10px 0px 0px;
                background-position: center center;
                background-size: cover;
            }

/* Estilos de frase motivacional */
.frasemotivacional,.nosotros{
    box-sizing: border-box;
    width: 100%;
    padding: 30px;
    background-color: #3f3f3f;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
}
    .card-frase{
        /* background-color: #5f5f5f; */
        width: 50%;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
        .logo-frase{
            font-size: 2em;
            text-align: center;
        }
        .texto-frase{
            font-size: 1.5em;
        }
        .autor-frase{
            color: #cacaca;
            text-align: right;
            font-size: 1.2em;
        }

/* Estilos sobre nosotros */
.card-nosotros{
    box-sizing: border-box;
    width: 70%;
    height: auto;
    display: grid;
    grid-template-areas:
    "bodynos imagennos";
    /* grid-template-columns: 1fr auto; */
    gap: 10px;
}
    .body-nosotros{
        grid-area: bodynos;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        margin-left: 20px;
        font-size: 1.2em;
    }
        .boton-nosotros{
            display: flex;
            justify-content: center;
            color: white;
            text-decoration: none;
        }
        .second {
            -webkit-transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
            transition: box-shadow 300ms ease-in-out, color 300ms ease-in-out;
            border: 2px solid white;
            color: white;
        }
        .second:hover {
            color: #3f3f3f;
            box-shadow: 0 0 40px 40px white inset;
        }
    .imagen-nosotros{
        grid-area: imagennos;
        box-sizing: border-box;
        border-radius: 50%;
        height: 100%;
        width: 100%;
        /* background-color: blueviolet; */
        padding: 20px;
    }
        .imagen-nosotros img{
            border-radius: 50%;
            height: 250px;
            width: auto;
            margin: auto;
            display: block;
        }
        .imagen-nosotros img:hover{
            
            animation: flip 1s;
        }

/* Estilos formulario de contacto */
.contactoform{
    width: 100%;
    /* background-color: blue; */
    box-sizing: border-box;
    padding-bottom: 40px;
    margin: 40px 0px;
    display: flex;
    justify-content: center;
}
    .formulario{
        background-color: var(--violeta-gc);
        color: white;
        width: 90%;
        max-width: 500px;
        
        box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
        border-radius: 15px;

        display: grid;
        grid-template-areas:
        "titulo  titulo  titulo"
        "nombre  email   ."
        "mensaje mensaje botones";
        /* box-sizing: border-box; */
        padding: 28px;
        gap: 12px;
    }
    .titulo-form{
        grid-area: titulo;
        text-align: center;
        padding-bottom: 10px;
    }
    .nombre-form{
        grid-area: nombre;
        display: flex;
        flex-direction: column;
        gap: 5px;

    }
    .email-form{
        grid-area: email;
        display: flex;
        flex-direction: column;
        gap: 5px;
        
    }
    .mensaje-form{
        grid-area: mensaje;
        display: flex;
        flex-direction: column;
        gap: 5px;
        
    }
    .botones-form{
        grid-area: botones;
        display: flex;
        flex-direction: column;
        gap: 5px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    .boton-form{
        padding: 10px;
        border-radius: 10px;
        background-color: #7c7c7c;
        color: white;
        border: none;
        box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
    }
    .boton-form:hover{
        background-color: #666666;
    }
    .enviar{
        background-color: dodgerblue;
        color: white;
    }
    .enviar:hover{
        background: rgb(4, 107, 209);
    }
    .entry{
        padding: 10px;
        border-radius: 10px;
        border: none;
        box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
        resize: none;
    }

/* Footer styles */
.footer{
    background-color: #3f3f3f;
    color: white;
    text-align: center;
    display: flex;
    justify-content: center;
    width: 100%;
}
.footercont{
    /* padding: 1vw; */
    width: 100%;
    max-width: 1200px;
    display: grid;
    grid-template:
    "gc   sep1    muni  sep2    contacto sep3    mapa" 200px /
     1fr  auto    1fr   auto    1fr      auto    1fr;
    padding: 12px 20px;
    gap: 20px;
    justify-content: center;
} 
    .footersep{
        width: 2px;
        border: none;
        background-color: #646464;
        height: 80%;
    }
    .sep1{
        grid-area: sep1;
        place-self: center;
    }
    .sep2{
        grid-area: sep2;
        place-self: center;
    }
    .sep3{
        grid-area: sep3;
        place-self: center;
    }
    .logogc{
        grid-area: gc;
        place-self: center;
        height: 100%;
        /* width: 100%; */
        width: 184px;

        background-image: url("logos/logo_gc.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        /* background-color: aqua; */

        display: flex;
        justify-content: center;
        align-items: center;
    }
    .logogc:hover{
        animation: flip 1s;
    }
    .infomuni{
        grid-area: muni;
        place-self: center;
        font-size: 90%;

        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        height: 100%;
        text-align: left;
    }
    .contacto{
        grid-area: contacto;
        place-self: center;
        font-size: 88%;
        
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        height: 100%;
        text-align: center;
        padding-bottom: 18px;
    }
        .iconoshoriz .socialitem:hover{
            color: #e0e0e0;
            position: relative;
            bottom: 3px;
        }
    .mapa{
        grid-area: mapa;
        place-self: center;
        font-size: 90%;

        display: flex;
        flex-direction: column;
        gap: 10px;
    }

/* invertir el color cuando entro en cada pagina */
.invert{
    background-color: var(--violeta-gc);
    color: white;
    box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}

/* Animacion de los logos gc, cdf y whatsapp */
@keyframes rubberBand{
    0%{
        transform: scale3d(1,1,1);
    }
    35%{
        transform: scale3d(1.25,.75,1);
    }
    45%{
        transform: scale3d(.75,1,1);
    }
    60%{
        transform: scale3d(1.2,.8,1);
    }
    75%{
        transform: scale3d(1.05,.95,1);
    }
    100%{
        transform: scale3d(1,1,1); 
    }
}

@keyframes flip {
    from {
      transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
      animation-timing-function: ease-out;
    }
  
    40% {
      transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
        rotate3d(0, 1, 0, -190deg);
      animation-timing-function: ease-out;
    }
  
    50% {
      transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
        rotate3d(0, 1, 0, -170deg);
      animation-timing-function: ease-in;
    }
  
    80% {
      transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
        rotate3d(0, 1, 0, 0deg);
      animation-timing-function: ease-in;
    }
  
    to {
      transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
      animation-timing-function: ease-in;
    }
}

@media only screen and (max-width: 900px) {
.contenedor {
    /* background-color: blue; */
}
.header{
    height: 110px;
    /* padding: 12px 12px 0px 12px; */
    padding: 0px;
    padding-top: 12px;
    gap: 0px;
}  
    .logo{
        /* background-color: tomato; */
        flex: 1 1 auto;
        height: 60px;
        display: flex;
        padding: 0px 12px;
    }
    .social{
        /* background-color: violet; */
        /* flex: 1 1 auto; */
        /* width: 30%; */
        height: 50%;
        display: flex;
        justify-content: right;
        padding: 0px 12px;
    }
    .nav{
        /* background-color: orange; */
        width: 100%;
        order: 2;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        padding: 0px;
    }
        .navitem{
            /* background-color: cadetblue; */
            flex: 1 1 auto;
            max-width: 130px;
            text-decoration: none;
            color: white;
            padding: 8px;
            border-radius: 0px;
            display: flex;
            flex-direction: row;
            justify-content: center;
        }
        .actual{
            background-color: white;
            color: purple;
            border-radius: 5px;
            margin: 0px 10px;
            /* flex: 1 1 auto; */
        }
        a p{
            padding-left: 8px;
        }
    .main{
        height: 250px;
        /* background-position: center top; */
    }

    /* Acomodo los cursos para tablet, la imagen quedaba alargada*/
    .card-curso{
        grid-template-columns: 1fr 1fr;
    }

    .cards-eventos{
        grid-template-columns: 1fr;
    }
        .card-evento{
            grid-template-rows: 1fr;
            grid-template-columns: 1fr 1fr;
        }
            .card-evento>.card-img{
                border-radius: 10px 0px 0px 10px;
            }
    
    /* La frase la estiro un poco mas */
    .card-frase{
        width: 80%;
    }

    /* Tengo que cambiar de lugar la imagen de un poco de nosotros */
    .card-nosotros{
        grid-template-areas:
            "imagennos"
            "bodynos";
    }
        .body-nosotros{
            gap: 20px;
        }
    /* formulario de contacto en tablet */
    .formulario{
        grid-template-areas:
        "titulo titulo"
        "nombre email"
        ". ."
        "mensaje mensaje"
        ". ."
        "botones botones";
        width: 70%;
    }
    .botones-form{
        flex-direction: row;
        width: 100%;
        justify-content: space-evenly;
    }
    .boton-form{
        width: 50%;
    }

.footercont{
    grid-template:
    "gc        sep1    contacto" 100px
    "muni      sep1    mapa" 150px /
     1fr       auto    1fr;
}
}

@media only screen and (max-width: 600px) {
.contenedor {
    /* background-color: red; */
}
.header{
    height: 120px;
    /* padding: 12px 12px 0px 12px; */
    padding: 0px;
    padding-top: 12px;
    gap: 0px;
}
    .logo{
        /* background-color: tomato; */
        flex: 1 1 auto;
        height: 60px;
        display: flex;
        padding: 0px;
        padding-left: 12px;
    }
    .social{
        /* background-color: violet; */
        /* flex: 1 1 auto; */
        /* width: 30%; */
        height: 50%;
        display: flex;
        justify-content: right;
        padding: 0px;
        padding-right: 12px;
    }
    .nav{
        /* background-color: orange; */
        width: 100%;
        order: 2;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        padding: 0px;
    }
        .navitem{
            /* background-color: cadetblue; */
            flex: 1 1 auto;
            /* max-width: 130px; */
            text-decoration: none;
            color: white;
            padding: 6px 4px;
            font-size: 90%;
            border-radius: 0px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .actual{
            background-color: white;
            color: purple;
            border-radius: 5px;
            margin: 0px 5px;
            /* flex: 1 1 auto; */
        }
    .main{
        height: 400px;
    }

    /* acomodo los cursos para mobile */
    .card-curso{
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        /* cambio el formato columnas por filas */
    }
    /* tengo que cambiar los bordes en la imagen ahora */
    .card-curso>.card-img{
        border-radius: 10px 10px 0px 0px;
    }
    .cards-eventos{
        /* width: 70%; */
        grid-template-columns: 1fr;
    }
        .card-evento{
            grid-template-rows: 1fr 1fr;
            grid-template-columns: 1fr;
        }
            .card-evento>.card-img{
                border-radius: 10px 10px 0px 0px;
            }

    /* como se ve la frase en mobile */
    .card-frase{
        width: 90%;
    }
        .logo-frase{
            font-size: 1.5em;
        }
        .texto-frase{
            font-size: 1.2em;
        }
        .autor-frase{
            font-size: 1em;
        }
    /* ver nosotros en mobile */
    .card-nosotros{
        width: 90%;
        grid-template-areas:
        "imagennos"
        "bodynos";
        gap: 10px;
    }
        .imagen-nosotros img{
            width: 90%;
            max-width: 250px;
            height: auto;
        }
    /* formulario de contacto en mobile */
    .formulario{
        grid-template-areas:
        "titulo"
        "nombre"
        "email"
        "."
        "mensaje"
        "."
        "botones";
        width: 70%;
    }
    .botones-form{
        flex-direction: column;
        width: 100%;
        align-items: center;
    }
    .boton-form{
        width: 100%;
    }

    .textosmain{
        width: 100%;
        /* padding: 0px 20px; */
    }
    .textomain{
        width: 90%;
        text-align: center;
        /* background-position: center top; */
    }
    .footercont{
        grid-template:
        "contacto" 100px
        "sep1" 2px
        "muni" 100px
        "sep2" 2px
        "mapa" 200px
        "sep3" 2px
        "gc" 100px /
         1fr;
    }
    .footersep{
        width: 70%;
        /* border: none; */
        /* background-color: #646464; */
    }
    .contacto{
        padding: 0px;
    }
}