@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');

/* Estilos Especiales y Variables */
:root {
    --color01: #ffffff; /* 255, 255, 255, */
    --color02: #ffe000; /* 255, 224, 0 */
    --color03: #87c300; /* 135, 195, 0 */
    --color04: #00abe3; /* 0, 171, 227 */
    --color05: #005f7f; /* 0, 95, 127 */
    --color06: #000000; /* 0, 0, 0 */
    --color07: #f8f9f9; /* 248, 249, 249 */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
}

body {
    font-family: "Roboto", sans-serif;
}

/* Titulo - Correcto */
.title {
    grid-area: 2 / 1 / span 1 /span 1;
    background: var(--color04);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    border-bottom-right-radius: 20px;
}

.title h1 {
    color: var(--color01);
}

.title span {
    color: transparent;
    -webkit-text-stroke-width: 1.2px; -moz-text-stroke-width: 1.2px; -ms-text-stroke-width: 1.2px; -o-text-stroke-width: 1.2px;
    -webkit-text-stroke-color: var(--color01); -moz-text-stroke-color: var(--color01); -ms-text-stroke-color: var(--color01); -o-text-stroke-color: var(--color01);
}




/* Main - Correcto */
.main {
    grid-area: 3 / 1 / span 4 /span 5;
    /*
    background: rgba(0, 171, 227, .2);
    */
    background-color: var(--color01);
    color: var(--color05);
    display: grid;
    place-content: center;
    padding: 10px;
    text-align: justify;
    z-index: 1;
    height: 940px;
    margin-top: -60px;
}

.gallery {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    gap: 6px;
    max-width: 1200px;
    margin: 0 auto;
}

.gallery img {
    width: 250px;
    border: 6px solid var(--color01);
    border-radius: 8px;
}

.gallery a:hover {
    transform: scale(1.05);
    box-shadow: 0 0 10px 0 var(--color04);
}

.gallery-pagina {
    width: 100%;
    height: 20px;
    display: flex;
    flex-direction: row;
    margin-top: 14px;
    justify-content: center;
}

.gallery-active {
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    background: var(--color04);
    color: var(--color01);
    border-radius: 50%;
    margin-left: 10px;
    cursor: no-drop;
}

.gallery-btnpag {
    letter-spacing: bold;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    background: var(--color01);
    color: var(--color05);
    border-radius: 50%;
    margin-left: 10px;
    font-weight: bold;
    cursor: pointer;
}

/* Media Queries */
@media screen and (max-width: 900px) {
    .main {
        margin-top: -50px;
        height: 900px;
        font-size: .9rem;
    }
    .gallery img {
        width: 230px;
        border: 6px solid var(--color01);
        border-radius: 8px;
    }
}


@media screen and (max-width: 600px) {
    .container {
        display: grid;
        grid-template-columns: 12fr;
        grid-template-rows: 80px 60px 60px 2fr auto auto 60px;
        grid-template-areas:
            "header"
            "redes"
            "title"
            "main"
            "main"
            "main"
            "footer";
    }

    .redes {
        grid-area: "redes";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 2 / 3;
    }

    .title {
        grid-area: "title";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 3 / 4;
    }

    .main {
        grid-area: "main";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 4 / 5;
        height: 1060px;
        margin-top: 10px;
    }

    .gallery {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: row wrap;
        gap: 10px;
        max-width: 1200px;
        margin: 0 auto;
    }
}

/*
    @media screen and (max-width: 900px) {
    .main {
        height: 1500px;
    }
    .gallery img {
        width: 230px;
        border: 6px solid var(--color01);
        border-radius: 8px;
    }
}
*/

@media screen and (max-width: 425px) {
    .main {
        height: 2100px;
    }
}