/* UNIVERSAL */

@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
}

html {
    /* scroll suave */
    scroll-behavior: smooth;
    /* para que el encabezado quede visible siempre */
    scroll-padding-block-start: 5em;
  }

ul, ol {
    list-style: none; /* elimina bullets, números etc. */
  }

body {
    margin: 0%;
    background-color: #f1e2c0;
}

h1 {
    color: hsl(29, 38%, 28%);
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    border-block-end: 2px solid rgb(99, 70, 44);
}

h2 {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
}

h3 {
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    color: hsl(0, 0%, 100%);
}

p {
    font-size: 13px;
    color: #000000;
    font-family: 'Roboto', sans-serif;
}

.banner {
    width: 100%;
    object-fit: contain;
}

/* HEADER */

header {
    box-shadow: 0 1px 2px hsl(0 0% 0% / 0.25);
    position: sticky;
    top: 0;
    z-index: 8000;
    display: block;
    background-color: hsl(29, 38%, 28%);
    color: white;
}

header .contenedora {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.contenedora {
    width: min(50rem, 100%);
    margin-inline: auto;
    padding: 1rem;
}

#logo {
    display: flex;
    align-items: center;
    justify-content:space-between;
    position: relative;
    z-index: 7777;
}

#logo img {
    width: 4em;
    margin: 0em 0.75em 0em 0;
}

#iconos {
    display: flex;
    align-items: center;
    justify-content:space-between;
    position: relative;
    z-index: 7777;
    width: 1.5em;
    margin: 0em 0em 0em 0em;
}

img {
    max-width: 100%;
    height: auto;
}

#logo h3 {
    line-height: 1em;
    margin: 0;
    font-family: Roboto;
    font-style: italic;
    font-weight: 700;
}


.titulo {
    padding-top: 0.35em;
    padding-block-end: 0.35em;
}

#logo h3 span {
    display: block;
    letter-spacing: .15em;
}

.menu-btn {
    background: hsl(26, 34%, 53%);
    border-radius: 50%;
    box-shadow: -5px 5px 5px hsla(180, 100%, 4%, 0);
    padding: 0.75rem;
    width: 3rem;
    aspect-ratio: 1;
    cursor: pointer;
    transition: all 0.3s ease-out;
    position: fixed;
    top: 1em;
    right: 1em;
    z-index: 9000;
}

.menu-btn .btn-linea {
    width: 25px;
    height: 3px;
    margin: 4px 0 4px 0;
    background: hsl(0 0% 90%);
    transition: all 0.3s ease-out;
    position: relative;
    z-index: 9000;
}

/* MENU DESPLEGABLE */

/* cada barra, transformacion para formar la "X" */
.menuVisible .menu-btn .btn-linea {
    transform: rotate(180deg);
}

  /* Las tres barras para formar la "X" */
.menuVisible .menu-btn .btn-linea:nth-child(1) {
    transform: rotate(45deg) translate(4px, 6px);
}

.menuVisible .menu-btn .btn-linea:nth-child(2) {
    opacity: 0;
}

.menuVisible .menu-btn .btn-linea:nth-child(3) {
    transform: rotate(-45deg) translate(4px, -6px);
}

nav ul {
    background-color: hsl(26, 34%, 53%);
    display: grid;
    place-items: center;
    place-content: center;
    position: fixed;
    inset: 0;
    z-index: 8000;
    translate: 100%;
    transition: all .6s ease;
}

nav ul li a img {
    max-width: 6em;
    height: auto;
}

.menuVisible ul {
    background-color: hsl(29, 38%, 28%);
    transition: all .4s ease; /* anima cuando "nav" tiene la clase "menuVisible" */
    translate: 0;
}
  
/* cada vínculo del menu */
nav ul li a {
    color: white;
    display: block;
    font-size: 1.5rem;
    margin-block-end: .5rem;
    width: min(70vw, 20rem); /* el valor menor entre el 40% del ancho de la ventana del navegador y 240px */
    text-align: center;
    padding: .5rem;
    text-decoration: none;
    border-bottom: solid 3px hsla(26, 34%, 53%, 0.692);
    font-family: Roboto;
    font-weight: 500;
}
  
nav ul li a:hover {
    background-color: hsl(26, 34%, 53%);
    color: white;
    border-block-end: unset;
}

/* MAIN */

/* Sección 1 */

.misitio {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 20px;
    margin-bottom: 1rem;
}

.misitiointerior {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.misitiointerior img {
    border-radius: .5rem;
    width: fit-content;
}

.misitiointerior p {
    text-align: center;
    margin: 5px;
}

/* Sección 2 RÓTULOS */

#primerbloque {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.perfil {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    background-color: hsl(26, 34%, 53%);
    border-radius: 1rem;
    padding: 10px;
}

.perfil img {
    border-radius: .5rem;
    margin-bottom: .5rem;
}

.perfil p {
    margin-bottom: .5rem;
}

.rotulo {
    margin-top: .5em;
    font-size: .8rem;
    background-color: hsl(29, 38%, 28%);
    color: #fff;
    display: block;
    width: fit-content;
    text-align: center;
    margin: auto;
    padding: .5rem 1rem;
    border-radius: 10rem;
    font-family: Roboto;
    font-weight: 500;
}

.rotulo a {
    color: #fbfaeb;
    text-decoration: none;
}

/* Sección 3 MODELOS WEBAPP */

#webapp {
    width: fit-content;
}

/* Sección 4 ACADÉMICOS */

.academicos {
    margin-inline: auto;
    padding: 1rem;
    font-family: Roboto;
}

section {
    padding-block-end: 2rem;
    display: block;
}

.academicos > ul {
    gap: 1rem;
    display: flex;
    flex-direction: column;
}

.academicos > ul > li:not(:last-of-type) {
    border-bottom: solid 1px hsl(0, 0%, 17%);
    padding-block-end: 1.5em;
    margin-block-end: 1.5em;
}

ul {
    display: block;
    list-style-type: disc;
    list-style: none;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

.academicos > ul > li {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
    align-content: flex-start;
}

.academicos img {
    display: block;
    width: 8em;
    aspect-ratio: 1;
    background-color: white;
    padding: 0.5rem;
    border-radius: 0.25rem;
    box-shadow: 0 4px 4px transparent;
    transition: box-shadow .6s ease;
}

/* FOOTER */

footer {
    background-color: hsl(29, 38%, 28%);
    display: flex;
    flex-direction: column;
}

.contenedorfooter {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 2rem;
}

.contenedorfooter p {
    color: white;
    font-weight: 200;
}

/* MEDIA QUERIES */

/* ESCRITORIO */

@media (min-width: 600px) {

    /* HEADER */

    header nav {
        position: relative;
    }

    .menu-btn {
        display: none;
    }

    header nav ul,
    header .menuVisible ul {
        display: flex;
        gap: .25em;
        position: relative;
        translate: 0;
        background-color: unset;
    }

    header nav ul li {
        min-width: 4em;
    }

    header nav ul li a {
        background-color: hsl(26, 34%, 53%);
        border-radius: .25em ;
        color: white;
        font-size: 1rem;
        width: auto;
        padding: .25em 1em;
        text-align: center;
        display: block; 
        margin-block-end: unset;
        border-block-end: unset;
    }

    header nav ul li a:hover {
        background-color: rgb(255, 179, 16);
        color: hsl(29, 38%, 28%);
        border-block-end: unset;
    }

    /* MAIN */

    .grancontenedor {
        display: flex;
        flex-direction: row;
    }

    #primerbloque {
        display: flex;
        flex-direction: row;
        gap: 1rem;
    }

    .misitiointerior {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: .5rem;
    }
    
    .misitiointerior img {
        border-radius: .5rem;
        max-width: 42rem;
    }
    
    .misitiointerior p {
        text-align: left;
        margin: 5px;
    }
    
    .perfil {
        box-sizing: border-box;
        width: 300px; /* Ancho deseado del contenedor */
        height: 450px; /* Alto deseado del contenedor */
    }

    .academicos ul {
        display: flex;
        flex-direction: row;
        gap: 1rem;
    }

    /* FOOTER */

    .contenedorfooter {
        display: flex;
        flex-direction: row;
        gap: 1rem;
    }

    .contenedorfooter p {
        align-items: center;
        text-align: center;
    }

    /* PLAN */

    .planimagen {
        display: flex;
        flex-direction: row;
        gap: 1rem;
        box-sizing: border-box;
        width: 700px;
        margin: 50px;
    }

    /* MAPA */

    #mainmapa {
        display: flex;
        flex-direction: row;
        box-sizing: border-box;
        width: 1300px;
        margin: 50px;
        justify-content: center;
    }

    #mainmapa img {
        width: 800px;
    }
    
}