body{
    overflow-x: hidden;
}

header,
.mainContainer{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    max-width: 1280px;
    margin: 0 auto;
}

/* ===== Generales ===== */
.autorxFotoSmall,
.autorxFotoFull,
.listadoFoto{
    border-radius: 100%;
}

.autorxFotoSmall{
    height: 60px;
    width: 60px;
    margin-right: 15px;
}

.autorxFotoFull{
    height: 250px;
    width: 250px;
    min-width: 250px;
    margin-right: 15px;
}

.listadoFoto{
    height: 150px;
    width: 150px;
    margin-right: 15px;
}

.columna{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.listado{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.listadoFila{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

/* ===== Home ===== */

header{
    grid-template-rows: repeat(2, 230px);
    grid-auto-flow: dense;
    gap: 10px;
}

    header a:first-child{
        grid-column: span 2;
        grid-row: span 2;
    }

    header a:nth-child(2){
        grid-column: span 2;
        grid-row: span 1;
        max-height: 100%;
    }

    header a:nth-child(3),
    header a:nth-child(4){
        grid-column: span 1;
        grid-row: span 1;
    }

header a article{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 105px;
    height: 100%;
    color: white;
}

    header article div{
        z-index: 2;
    }

    header article img{
        grid-column: 1 / 2;
        grid-row: 1 / 3;
    }

    header article .info{
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        padding: 10px;
        background-color: #0000007a;
    }


    .categoria{
        width: max-content;
        padding: 5px;
        margin-bottom: 10px;
        background-color: var(--active);
        color: white;
    }

    article .titulo{
        font-size: 16pt;
        font-weight: 600;
    }

    article .titulo,
    article .subtitulo{
        max-width: 500px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    article .info .subtitulo{
        margin-bottom: 10px;
    }

    article .autorxFecha{
        font-size: 10pt;
    }

.mainContainer{
    margin-top: 10px;
    gap: 15px;
}

main{
    grid-column: span 2;
}

aside{
    grid-column: span 1;
}

.sticky{
    position: sticky;
    top: 10px;
}

.navbarDesktop,
.navbarDesktop ul{
    display: flex;
    align-items: center;
}

.navbarDesktop{
    gap: 20px;
    width: 100%;
    height: 60px;
    padding: 10px;
    margin-bottom: 15px;
    box-shadow: 0 1px 5px var(--light-grey);
}

    .navbarDesktop .logo{
        height: 100%;
        padding: 10px;
    }

    .navbarDesktop .logo img{
        filter: drop-shadow(0 1px 1px #ff000dce);
    }

.navbarDesktop ul{
    height: 100%;
    flex: 1;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-evenly;
}

.navbarDesktop ul a,
.navbarDesktop ul li{
    height: 100%;
}

.navbarDesktop ul a{
    flex: 1;
}

.navbarDesktop ul li{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14pt;
    font-weight: 600;
    color: var(--active);
}

section .sectionTitle{
    display: flex;
    align-items: center;
    gap: 25px;
    justify-content: space-between;
    margin: 20px 0;
}

section:first-child .sectionTitle{
    margin: 10px 0 20px 0
}

    .sectionTitle::after{
        display: block;
        content: "";
        height: 2px;
        flex: 1;
        background-color: var(--light-grey);
    }

    .redes ul{
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        grid-auto-rows: 50px;
        gap: 10px;
    }

    .redes ul li{
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
    }

    .redes ul a,
    .redes ul a li{
        height: 100%;
    }

    .redes ul li i{
        margin-right: 5pt;
        font-size: 18pt;
    }

    .redes ul .ig{ background-color: #DA2E78;}
    .redes ul .yt{ background-color: #FF0000;}
    .redes ul .tt{ background-color: #180D24;}
    .redes ul .fb{ background-color: #4867AA;}

.articulosCardList{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-auto-rows: 350px;
    gap: 15px;
    padding: 10px;
}

.articulosCardList article{
    background-color: white;
    min-height: 350px;
}

.articulosCardList .info .cuerpo{
    text-align: justify;
}

.articulosCardList article .portada{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 30px;
    width: 100%;
}

    .articulosCardList article .portada img{
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        height: 200px;
    }

    .articulosCardList article .portada .categoria{
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        z-index: 2;
        align-self: flex-end;
        justify-self: flex-start;
        margin: 0 0 5px 5px;
        color: white;
    }

.articulosCardList article .titulo{
    margin: 5px 0;
    font-size: 18pt;
}

.articulosCardList .autorxFecha a{
    color: var(--active);
}

/* ===== Articulo ===== */

.articuloMain{
    padding: 0;
}

.articuloTitulo{
    font-size: 30pt;
    font-weight: 700;
    margin-bottom: 15px;
}

.articuloSubitulo{
    font-size: 16pt;
    font-weight: 400;
}

.articuloPortada{
    height: 500px;
}

    .articuloPortada img{
        object-position: 50% 50%;
    }

.articuloMembrete{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 15px 0;
    gap: 5px;
}

    .articuloMembrete .autorx{
        color: var(--active);
        font-weight: 600;
    }

.articuloCuerpo{
    overflow-x: hidden;
    margin-bottom: 45px;
    padding: 10px
}

.articuloCuerpo p{
    font-size: 14pt;
    margin-bottom: 15px;
    text-align: justify;
}

.articuloCuerpo p img,
.articuloCuerpo span img{
    max-width: 100%;
    height: auto;
}

.autorxInfo{
    gap: 10px;
}

.autorxMain header{
    display: flex;
    justify-content: flex-start;
    gap: 15px;
}

.autorxMain header .autorxNombre{
    margin-bottom: 10px;
    color: var(--active);
}

.autorxInfo{
    margin-top: 25px;
}

.shareButtons{
    margin-bottom: 30px;
}

.shareButtons .fb_iframe_widget{
    transform: translateY(5px);
    display: flex;
}

.shareButtons .fb_iframe_widget,
.shareButtons .yt-subscription-button-disabled-mask{
    max-width: 319px;
}

footer{
    padding: 20px;
    background-color: black;
    font-size: 10pt;
    color: white;
}

    footer .navbar{
        margin-bottom: 20px;
    }

.banderas{
    display: flex;
}

.banderas img{
    height: 30px;
    width: 50px;
    margin-right: 10px;
}

footer .redes{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

footer .redes div{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    margin-left: 10px;
    border-radius: 100%;
    background-color: var(--active);
    font-size: 24pt;
    color: black;
}

    .contactoRedes{
        max-width: 300px;
        margin: 15px auto 30px auto;
    }

    .contactoRedes div{
        width: 35px;
        height: 35px;
    }

    .contactoRedes a i{
        font-size: 13pt;
    }


footer .navbarDesktop{
    box-shadow: none !important;
}

footer .navbarDesktop ul{
    justify-content: flex-start;
    gap: 5px;
}

footer .navbarDesktop .logo{
    display: none;
}

footer .navbarDesktop ul a,
footer .navbarDesktop ul li{
    height: unset;
    flex: unset;
}

footer .navbarDesktop ul li{
    font-size: 10pt;
}

/* ===== SITE NAVBAR ===== */
@font-face {
    font-family: Agrandir-WideLight;
    src: url(../fonts/Agrandir/Agrandir-WideLight.otf) format('opentype');
    font-weight: 400;
}

.hidden{
    display: none;
}

.topbar{
    max-width: 100vw;
    height: 50px;
    background-color: black;
}

.padding{
    padding: 0 15px;
}

.fila{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
}

.topbar .logo{
    width: 150px;
}

.siteNavbar{
    color: white;
    display: flex;
}

.siteNavbar ul{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 15px;
    width: 100%;
    max-width: 650px;
}

    .siteNavbar ul a li{
        font-size: 11pt;
        font-family: Agrandir-WideLight;
    }

.btn{
    width: max-content;
    padding: 3px 10px;
    background-color: var(--active) !important;
    border: solid 1px var(--active-dark);
    border-radius: 15px;
    font-weight: 900;
    color: black;
    box-shadow: 3px 3px 0 var(--active-dark);
    transition: all .25s;
}

    .btn:hover,
    .btn:focus,
    .btn:active{
        box-shadow: 0 0 0 var(--active-dark);
        transform: translate(3px, 3px);
        transition: all .25s;
        opacity: initial;
    }

.mobileNavbar{
    display: none;
    padding: 15px;
}

.hiddenMenu{
    flex-direction: column;
    position: absolute;
    right: -400px;
    z-index: 10;
    padding: 15px;
    background-color: black;
    font-size: 24pt;
    color: white;
    transition:right .25s ease;
    box-shadow: 2px 8px 10px black;
}
    .hiddenMenu .mobileBtn li{
        padding: 3px 10px;
        background-color: var(--active) !important;
        border: solid 1px var(--active-dark);
        border-radius: 15px;
        font-weight: 900;
        color: black;
        box-shadow: 3px 3px 0 var(--active-dark);
        transition: all .25s;
    }

.burguerBtn i{
    color: white !important;
    font-size: 30pt;
}

@media (max-width:425px){
    .siteNavbar{ display: none !important; }
    .mobileNavbar{ display: initial; }
    .navbarDesktop{display: none;}
    aside{padding: 10px; margin-bottom: 35px;}
    .autorxMain{ padding: 10px; }
    section .sectionTitle{ padding: 0 10px; }
    .articuloPortada{ height: 250px; }
}