*{
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body{
    position: relative;
    display: grid;
    grid-template-columns: 3fr 7fr;
    grid-template-rows: repeat(4, auto); 
    background-color: black;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    max-width: 100vw;
    box-sizing: border-box;
}

.header{
    grid-row: 1 / 2;
    grid-column: 1 / 3;
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: center;
    gap: 5vh;
    min-height: 100vh;
    max-width: 100vw;
    box-sizing: border-box;
    background-position: center center;
    box-sizing: border-box;
    
}

.cards{
    grid-row: 2 / 3;
    grid-column: 1 / 3;
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        300px
        /* minmax(300px, 1fr) */
    );
    gap: 10px;
    justify-content: center;
    justify-items: flex-start;
    box-sizing: content-box;
    margin-top: -100px;
    margin-left: var(--margen);
    margin-right: var(--margen);
    min-height: 100dvh;
    z-index: 3;
}


.main{
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: small;
    min-height: 70vh;
    height: 500px;
    box-sizing: border-box;
}

.aside{
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    height: 500px;
    margin-bottom: 200px;
    display: flex;
    flex-direction: column;

}

.footer{
    grid-column: 1 / 3;
    grid-row: 4 / 5;    
}


/* header */

.filter{
    position: absolute;
    height: 100%;
    width: 100vw;
    max-width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2;
}

.contenedor{
    display: flex;
    justify-content: center;
    position: absolute;
    height: 100%;
    width: 100vw;
    max-width: 100%;
}

.imagen{
    position: absolute;
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    background-color: black;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    mask-image: linear-gradient(
        black 92%,
        transparent
    );
    
}

.box{
    opacity: 1;
    z-index: 1;
    width: auto;
    height: 100%;
    font-size: small;
    max-width: 100%;
    max-height: 100%;
    
}

.asopromers{
    display: flex;
    width: 100vw;
    max-width: 100%;
    flex-direction: row;
    align-items: center;
    align-self: center;
    box-sizing: border-box;
    justify-content: space-around;
    z-index: 3;
}


.logo, .logos{
    width: auto;
    height: auto;
    max-width: 40dvw;
    max-height: 40dvh;
    opacity: .7;
    color: #05ADEA;
}

/* CARD DE NOTICIAS */

.cards  a {
    display: inline-block;
    text-decoration: none;
    color: black;
    width: 300px;
    height: 475px;
    order: 2;
}
.cards a{
    margin: 50px 15px 0 15px;
}
.card{
    display: flex;
    flex-direction: column;
    padding: 0 0 80px 0;
    position: relative;
    gap: 5px;
    width: 300px;
    height: 480px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    cursor: pointer;
    transition:
    box-shadow  .5s linear 0s,
    scale .2s linear 0ms;
    background-color: white;
}
.card:hover{
    box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
    scale: 102%;
}
.card img{
    transition:
    filter  .5s linear 0s;
}
.card:hover img{
    filter: contrast(150%);
}
.imgnew{
    width: 100%;
    height: auto;
    max-height: 150px;
    border-radius: 10px;
}

.typenews{
    color: #05ADEA;
}
.titlenews{
    color: black;
}
.datenews{
    color: rgba(128, 128, 128, 0.507);
}

.news{
    width: 100%;
    max-height: 6em;
    margin-bottom: 10px;
    overflow: hidden;
    position: relative;
}

.news p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

/* TARJETA DE USUARIO */

.usernews{
    display: flex;
    flex-direction: row;
    align-self: flex-end;
    position: absolute;
    bottom: 20px;
    left: 0;
    gap: 10px;
    height: 60px;
    width: 100%;
}

.perfil{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 100%;
}

.name{ 
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 225px;
    height: 50px;
}

/*  ASIDE */
.optionFocus{
    height: 33.33%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: medium;
    color: #05ADEA;
    border-left: 2px solid #05ADEA;
}

.optionNear{
    height: 33.33%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: medium;
    color: white;
}


.optionFar{
    height: 33.33%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: medium;
    color: gray;
}

.content {
    text-align: center;
    margin-right: 3rem;
}

/* Tema Claro */

.tema-claro{
    background-color: white;
}

.tema-claro .box{
    background-color: white;
}

.tema-claro .contenedor{
    background-color: white;
}

.tema-claro .imagen{
    background-color: white;
}

.tema-oscuro .contenedor{
    background-color: white;
}

.tema-claro .card h1 {
    color: black;
}

.tema-claro .card {
    background: white;
}


.tema-claro .contact {
    color: black;
}


.tema-claro .filter {
    background-color: rgba(255, 255, 255, 0.2);
}

.tema-claro #titulo,
.tema-claro .optionNear,
.tema-claro .content {
    color: black;
}

.tema-claro body {
    background-color: white;
}

/* Tema Oscuro */
.tema-oscuro{
    background-color: black;
}

.tema-oscuro .card{
    box-shadow: 0px -2px 4px rgba(255, 255, 255, 0.2);
    transition: box-shadow .6s linear 0ms,
    filter .2s linear 0ms,
    scale .2s linear 0ms;
}
.tema-oscuro .card:hover{
    box-shadow: 0px 0px 4px rgba(255, 255, 255, 0.4);
    filter: contrast(150%);
}
.tema-oscuro .card *{
    color: white;
}
.tema-oscuro .card .typenews{
    color: #05ADEA;
}
.tema-oscuro .card .datenews{
    color: gray;
}
.tema-oscuro .box{
    background-color: black;
}

.tema-oscuro .imagen{
    background-color: black;
}

.tema-oscuro .contenedor{
    background-color: black;
}

.tema-oscuro .card h1 {
    color: white;
}

.tema-oscuro .card {
    background: rgba(17, 18, 18, 0.9);
}

.tema-oscuro .contact {
    color: white;
}


.tema-oscuro .filter {
    background-color: rgba(0, 0, 0, 0.5);
}

.tema-oscuro #titulo,
.tema-oscuro .optionNear,
.tema-oscuro .content {
    color: white;
}

.tema-oscuro body {
    background-color: black;
}


.optionFocus:hover, .optionNear:hover, .optionFar:hover, .card:hover{
    cursor: pointer;
}

@media (max-width: 671px) {
    .cards a:nth-child(2){
        display: none;
    }
    .cards a:last-child{
        display: none;
    }
}

@media (max-width: 1011px) {
    .cards a:last-child{
        display: none;
    }
}
.contact:hover {
    color: #05ADEA;
}
a{
    text-decoration: none;
}