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

ul {
    list-style: none;
}

img {
    display: block;
    width: 100%;
}

@font-face {
    font-family: Inter;
    src: url("fonts/Inter-Bold.ttf") format("truetype");
    font-weight: bold;
}

@font-face {
    font-family: Inter;
    src: url("fonts/Inter-Medium.ttf") format("truetype");
    font-weight: normal;
}

:root {
    --bgColor: #ede7e4;
    --txtColor: #302c27;
    --accentBlue: #27a0d7;
    --accentYellow: #ffbc0b;
    --accentRed: #e54941;
    --accentGreen: #89b514;
    --paddingGeneral: 10rem;
}

body {
    background: var(--bgColor);
    font-family: 'Inter', sans-serif;
    overflow-x: hidden;
}

h1 {
    font-weight: bold;
    font-size: 2.875rem;
    margin-top: 3rem;
    color: var(--txtColor);
}

h2 {
    font-weight: bold;
    font-size: 2.875rem;
    padding-bottom: 3.25rem;
    color: var(--txtColor);
}

h3 {
    font-size: 1.625rem;
    padding-bottom: 2.5rem;
    color: var(--txtColor);

}

h4 {
    padding: 1.5rem 0;
    color: var(--txtColor);
}

p {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--txtColor);
}

ol {
    margin-top: .5rem;
    margin-left: 2em;
    padding-bottom: 1em;
}

::selection {
    background: black;
    color: white;
}

/* Estilo del Nav */
.topNAV {
    background: var(--bgColor);
    text-align: center;
    position: fixed;
    width: 100%;
    z-index: 666;
}

.logo {
    margin: 1.5em 0;

}

.nav-toggle {
    display: none;
}

.nav-toggle-label {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 1rem;
    margin-left: 1em;
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
    display: block;
    background: var(--txtColor);
    height: 3px;
    width: 2em;
    position: relative;

}

.nav-toggle-label span::before,
.nav-toggle-label span::after {
    content: '';
    position: absolute;
}

.nav-toggle-label span::before {
    bottom: 7px;
}

.nav-toggle-label span::after {
    top: 7px;
}

nav {
    position: absolute;
    text-align: left;
    top: 100%;
    left: 0;
    background: var(--bgColor);
    width: 100%;
    transform: scale(1, 0);
    transform-origin: top;
    transition: transform 400ms ease-in-out;

}

nav ul {
    margin-top: 3rem;
}

nav li {
    margin-bottom: 1em;
    margin-left: 1em;
}

nav a {
    color: var(--txtColor);
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: bold;
    opacity: 0;
    transition: opacity 150ms ease-in-out;
}

nav a:hover {
    color: var(--accentRed);
}

.nav-toggle:checked ~ nav {
    transform: scale(1, 1);
}

.nav-toggle:checked ~ nav a {
    opacity: 1;
    transition: opacity 250ms ease-in-out 250ms;
}

.nav-toggle:checked nav-toggle-label span {
    opacity: 0;
}

.nav-toggle:checked span::before {
    transform: rotate(45deg);
}

.nav-toggle:checked span::after {
    transform: rotate(-45deg);
}

.introPasele img {
    width: 22rem;
    margin: 0 auto;
    margin-top: 3.5rem
}

.introTXT {
    margin-top: 5rem;
    text-align: center;
}

.introPasele {
    margin-bottom: 5rem;
}

.introLogos {
    z-index: 100;

}

.heroAliados {
    margin-bottom: 5rem;
}

article {
    display: flex;
    flex-direction: column;
    align-content: center;
    margin: 0 2rem 0 2rem;
}

section {
    margin-top: 5rem;
}

.txtHistoria {
    margin-bottom: 2rem;
}

.imgHistoria {
    width: 100%;
}

button {
    border: none;
    background-color: var(--txtColor);
    color: var(--bgColor);
    font-size: 1.125rem;
    font-family: 'Inter';
    font-weight: bold;
    height: 50px;
    width: 350px;
    cursor: pointer;
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.segProCon div figure {
    display: flex;
    justify-content: center;
    padding-bottom: 2rem;
    padding-top: 2rem;
    height: 12rem;
}

.centroUni picture img {
    /*        min-width: 100vw;*/
    width: 100%;
    height: auto;
    object-fit: contain;
}

.imgAliados {
    display: flex;

}

.imgAliados img {
    width: 100%;
    background: white;
}

.Aliados {
    /*    background-color: white;*/
}

.footy {
    width: 100%;
    background-color: var(--txtColor);
    display: flex;
    justify-content: center;
    padding: 1.5rem 0 1.5rem 0;
}

.bgImg {
    display: none;
}

.EintroPasele {
    padding-top: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5rem;
}

.EintroPasele img {
    width: 20rem;
}

.EinfoTxt h3 {
    margin-top: 3rem;
}

.qopIMG {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 1em;
    background-color: white;
}

.qopIMG img {
    width: 30%;
    object-fit: scale-down;
}

/* DKTP Version */
@media screen and (min-width: 800px) {
    .nav-toggle-label {
        display: none;
    }

    .topNAV {
        display: grid;
        grid-template-columns: 1fr auto minmax(600px, 3fr) 1fr;
        height: 5rem;
    }

    .logo {
        grid-column: 2 / span 1;
    }

    nav {
        all: unset;
        grid-column: 3 / 4;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    nav ul {
        display: flex;
        margin-top: 0;
    }

    nav li {
        margin-left: 3em;
        margin-bottom: 0;
    }

    nav a {
        opacity: 1;
        position: relative;
    }

    nav a::before {
        content: '';
        display: block;
        height: 4px;
        background: var(--accentRed);
        width: 100%;
        position: absolute;
        top: -.75em;
        left: 0;
        right: 0;
        transform: scale(0, 1);
        transform-origin: right;
        transition: transform ease-in-out 250ms;

    }

    nav a:hover::before {
        transform: scale(1, 1);
    }

    main {
        padding-top: 5rem;
        background-color: var(--bgColor);
        height: 100%;
    }

    article {
        /*        border: 1px solid;*/
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 5rem 0 0 0;
        width: 100%;
        padding: 0;
    }

    section {
        /*        background: var(--accentRed);*/
        margin-top: 10rem;
        /*        max-width: 95vw;*/
    }

    .heroAliados {
        margin-top: 25%;
    }

    .introPasele {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        padding-right: var(--paddingGeneral);
        z-index: 2;
    }

    .introPasele img {
        width: 40rem;
        margin: 0;

    }

    .imgHistoria {
        grid-area: foto;
        justify-self: center;
        margin-right: var(--paddingGeneral);
        width: 80%
    }

    .txtHistoria {
        grid-area: title;
        margin-left: var(--paddingGeneral);
    }

    .btnHistoria {
        grid-area: 'btnHist';
        margin-left: auto;
        margin-right: auto;
        grid-column: 1 / 3;
        margin-top: 5rem;
    }

    .Historia {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-template-areas:
            "title foto"
            "title foto"
            "btnHist btnHist";
        column-gap: 3rem;
        padding-top: 5rem;

    }

    .Vecinos {
        padding-right: var(--paddingGeneral);
        padding-left: var(--paddingGeneral);
    }

    .txtVecinos {
        width: 50%;
        max-width: 50ch;
    }

    .segProCon {
        display: flex;
        justify-content: space-between;
        margin-top: 3rem;

    }

    .segProCon div {
        width: 30%;
        /*        max-width: 40ch;*/

    }

    .segProCon div figure {
        display: flex;
        justify-content: center;
        padding-bottom: 2rem;
        height: 12rem;

    }

    .txtVIcon {}

    .Empresas {
        width: 100%;
        padding-right: var(--paddingGeneral);
        padding-left: var(--paddingGeneral);
        margin-bottom: 15rem;
    }

    .txtEmpresas {
        width: 50%;
        margin-bottom: 8rem;
        max-width: 50ch;
    }

    .btnEmpresas {
        width: 100%;
        display: flex;
        justify-content: center;

    }

    button {
        border: none;
        background-color: var(--txtColor);
        color: var(--bgColor);
        font-size: 1.125rem;
        font-family: 'Inter';
        font-weight: bold;
        height: 50px;
        width: 406px;
        cursor: pointer;
    }

    .centroUni {
        width: 100%;
    }

    .centroUni h2,
    .centroUni p {
        padding-right: var(--paddingGeneral);
        padding-left: var(--paddingGeneral);
    }

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

    .centroUni picture img {
        /*        min-width: 100vw;*/
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .Aliados {
        width: 100%;
        padding-right: var(--paddingGeneral);
        padding-left: var(--paddingGeneral);
        display: flex;
        flex-direction: column;
        background-color: white;
        padding-top: 8rem;
        padding-bottom: 8rem;
        margin-top: 0;
    }

    .imgAliados {
        display: flex;
        justify-content: center;
    }

    .imgAliados img {
        all: unset;
    }

    .cuau {
        margin: 5rem;
    }

    .Contacto {
        width: 100%;
        padding-right: var(--paddingGeneral);
        padding-left: var(--paddingGeneral);
    }

    form {
        display: flex;
        flex-direction: column;
        width: 50%;
    }

    label {
        margin-bottom: 1rem;
        font-size: 1.5rem;
        font-weight: bold;
    }

    input {
        height: 3rem;
        padding: 0;
        margin: 0;
        border: none;
        margin-bottom: 2rem;
    }

    .footy {
        width: 100%;
        background-color: var(--txtColor);
        display: flex;
        justify-content: center;
        padding: 1.5rem 0 1.5rem 0;
        margin-top: 5rem
    }

    .bgImg {
        display: block;
        width: 30rem;
        position: absolute;
        z-index: 1;
    }

    .bg01 {
        top: 150;
        left: 100;
    }

    .bg02 {
        top: 500;
        left: 400;
    }

    .bg03 {
        top: 700;
        left: 0;
    }

    .bg04 {
        top: 800;
        right: 0;
    }

    .bg05 {
        top: 1500;
        right: 0;
        z-index: -1;
        width: 70rem
    }

    .bg06 {
        top: 2400;
        left: 0;
        z-index: -1;
    }

    .bg07 {
        top: 3200;
        right: 0;
        width: 45rem;
        z-index: -1;
    }

    .bg08 {
        top: 3450;
        left: 200;
        width: 22rem;
    }

    .bg09 {
        top: 5000;
        left: 0;
        z-index: -1;
        width: 16rem;
    }

    /*    Seccion Empresas */
    .EintroPasele {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        z-index: 2;
    }

    .EintroPasele img {
        width: 40rem;
        margin: 0;

    }

    .EinfoTxt {
        max-width: 90ch;
        /*        display: flex;*/
        align-items: flex-start;
        z-index: 5;

    }

    .EinfoTxt p {
        margin-bottom: rem;
    }

    .EinfoTxt div {
        margin-bottom: 3rem;
    }

    .EmpresaM {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .XLscreens {
        max-width: 130rem;
    }

    .qopIMG {
        flex-wrap: nowrap;
        width: 100%;
        max-height: 10rem;
    }

    .qopIMG img {
        width: 100%;
    }

    .introEmpresa {
        width: 100%;
        min-height: 25vw;
        background: url(../img/intro_empresas.png);
        background-size: cover;
        background-position: center;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }

    .introEmpresa::after {
        content: '';
        position: absolute;
        width: 100%;
        background-color: var(--accentYellow);
        height: 65rem;
        z-index: 1;
        top: 100%;
        
        
        
    }

    .dis {
        width: 100%;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        /*        padding: 2em;*/
        gap: 2em;
    }

    .dis p {
        width: 100%;
        padding-left: 2em;
        text-align: end;
        padding-top: 1em;

    }

    .dis::before {
        content: '';
        height: 52px;
        width: 52px;
        border-radius: 100%;
        border: solid 8px #27A0D7;
        position: absolute;
        left: 0;
        top: 20%;
    }

    .dis::after {
        content: '';
        height: 52px;
        width: 52px;
        border-radius: 100%;
        border: solid 8px #8AB329;
        position: absolute;
        right: 38%;
        top: 20%;
    }


.space {
    margin-top: 5rem;
}

.spaceBottom {
    margin-bottom: 2rem;
}

.empresaM li {
    padding: 0.5em 0;
}

.requisitos {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.crono {
    padding: 0 0 4rem 0;
    width: 100%;
    position: relative;

}

.crono ::after {
    inset: 0;
    content: '';
    left: -10%;
    width: 120%;
    height: 100%;
    background-color: var(--accentYellow);
    position: absolute;
    z-index: -1;
}
