﻿
body {
    margin: 0;
    padding: 0;
}

/* Schermi grandi o ad alta risoluzione */
@media screen and (min-width: 1690px) {
    .index-main-info {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 5rem auto 12rem;
        grid-template-areas:
            "head"
            "body"
            "footer";
        width: 100%;
        height: 100dvh;
    }

    .index-body-info {
        display: grid;
        grid-template-rows: 28rem auto;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
        grid-area: body;
    }

    .index-body-info-head {
        height: 28rem;
        width: 100%;
    }

    .index-body-info-head-img img {
        height: 28rem;
        width: 100%;
        object-fit: fill;
        z-index: -1;
    }

    .index-body-info-head-title {
        position: relative;
        top: -100%;
        left: 0;
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        z-index: 1;
        background: rgba(0,0,0, 0);
        background: -webkit-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: -moz-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
    }

        .index-body-info-head-title h1 {
            font-family: var(--fuente);
            font-size: 3.8rem;
            color: var(--colorWhite);
            font-weight: bold;
        }

        .index-body-info-head-title span {
            font-family: var(--fuenteLight);
            font-size: 1.8rem;
            color: var(--color3);
        }

    .index-body-info-main {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        height: auto;
        width: 95%;
        margin: 0 auto;
    }

        .index-body-info-main > h2 {
            font-family: var(--fuente);
            font-size: 3rem;
            color: var(--color1);
            text-align: center;
        }

        .index-body-info-main > h3 {
            font-family: var(--fuente);
            font-size: 1.8rem;
            color: var(--color1B);
            text-align: center;
        }

        .index-body-info-main > span {
            font-family: var(--fuenteLight);
            font-size: 1.1rem;
            color: var(--colorBlack);
            text-align: center;
        }

            .index-body-info-main > span strong {
                font-size: 1rem;
                color: var(--color1A);
            }

    .index-body-info-main-contacto-body {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: auto;
    }

        .index-body-info-main-contacto-body > div {
            display: grid;
            grid-template-rows: 3rem auto 3rem 3rem;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            width: 20rem;
            height: 15rem;
            padding: 0.5rem;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;

        }

            .index-body-info-main-contacto-body > div h4 {
                font-family: var(--fuenteLight);
                font-size: 1.5rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div h5 {
                font-family: var(--fuenteLight);
                font-size: 0.8rem;
                color: var(--colorGray);
                text-align: center;
            }

    .index-body-info-icon {
        height: 3rem;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .index-body-info-icon > div {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 3rem;
            width: 3rem;
            background-color: var(--color4E);
            border-radius: 50%;

        }

        .index-body-info-icon > div > img {
            height: 2rem;
            width: 2rem;
        }

    .index-body-info-main-mapa {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: max-content;
    }

        .index-body-info-main-mapa > div {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.5rem;
            width: 50rem;
        }

            .index-body-info-main-mapa > div > h4 {
                font-family: var(--fuenteLight);
                font-size: 1.3rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-mapa > div > span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

    .mapa {
        height: 30rem;
        width: 100%;
    }
}

/* Schermi Desktop o Portatili */
@media screen and (min-width: 1280px) and (max-width: 1689px) {
    .index-main-info {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 5rem auto 12rem;
        grid-template-areas:
            "head"
            "body"
            "footer";
        width: 100%;
        height: 100dvh;
    }

    .index-body-info {
        display: grid;
        grid-template-rows: 28rem auto;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
        grid-area: body;
    }

    .index-body-info-head {
        height: 28rem;
        width: 100%;
    }

    .index-body-info-head-img img {
        height: 28rem;
        width: 100%;
        object-fit: fill;
        z-index: -1;
    }

    .index-body-info-head-title {
        position: relative;
        top: -100%;
        left: 0;
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        z-index: 1;
        background: rgba(0,0,0, 0);
        background: -webkit-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: -moz-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
    }

        .index-body-info-head-title h1 {
            font-family: var(--fuente);
            font-size: 3.8rem;
            color: var(--colorWhite);
            font-weight: bold;
        }

        .index-body-info-head-title span {
            font-family: var(--fuenteLight);
            font-size: 1.8rem;
            color: var(--color3);
        }

    .index-body-info-main {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        height: auto;
        width: 95%;
        margin: 0 auto;
    }

        .index-body-info-main > h2 {
            font-family: var(--fuente);
            font-size: 3rem;
            color: var(--color1);
            text-align: center;
        }

        .index-body-info-main > h3 {
            font-family: var(--fuente);
            font-size: 1.8rem;
            color: var(--color1B);
            text-align: center;
        }

        .index-body-info-main > span {
            font-family: var(--fuenteLight);
            font-size: 1.1rem;
            color: var(--colorBlack);
            text-align: center;
        }

            .index-body-info-main > span strong {
                font-size: 1rem;
                color: var(--color1A);
            }

    .index-body-info-main-contacto-body {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: auto;
    }

        .index-body-info-main-contacto-body > div {
            display: grid;
            grid-template-rows: 3rem auto 3rem 3rem;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            width: 20rem;
            height: 15rem;
            padding: 0.5rem;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
        }

            .index-body-info-main-contacto-body > div h4 {
                font-family: var(--fuenteLight);
                font-size: 1.5rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div h5 {
                font-family: var(--fuenteLight);
                font-size: 0.8rem;
                color: var(--colorGray);
                text-align: center;
            }

    .index-body-info-icon {
        height: 3rem;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .index-body-info-icon > div {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 3rem;
            width: 3rem;
            background-color: var(--color4E);
            border-radius: 50%;
        }

            .index-body-info-icon > div > img {
                height: 2rem;
                width: 2rem;
            }

    .index-body-info-main-mapa {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: max-content;
    }

        .index-body-info-main-mapa > div {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.5rem;
            width: 50rem;
        }

            .index-body-info-main-mapa > div > h4 {
                font-family: var(--fuenteLight);
                font-size: 1.3rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-mapa > div > span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

    .mapa {
        height: 30rem;
        width: 100%;
    }
}

/* Tablet in modalità horizontal */
@media screen and (min-width: 737px) and (max-width: 1279px) {
    .index-main-info {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 9rem auto 12rem;
        grid-template-areas:
            "head"
            "body"
            "footer";
        width: 100%;
        height: 100dvh;
    }

    .index-body-info {
        display: grid;
        grid-template-rows: 28rem auto;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
        grid-area: body;
    }

    .index-body-info-head {
        height: 28rem;
        width: 100%;
    }

    .index-body-info-head-img img {
        height: 28rem;
        width: 100%;
        object-fit: fill;
        z-index: -1;
    }

    .index-body-info-head-title {
        position: relative;
        top: -100%;
        left: 0;
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        z-index: 1;
        padding: 0.5rem;
        background: rgba(0,0,0, 0);
        background: -webkit-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: -moz-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
    }

        .index-body-info-head-title h1 {
            font-family: var(--fuente);
            font-size: 2rem;
            color: var(--colorWhite);
            font-weight: bold;
        }

        .index-body-info-head-title span {
            font-family: var(--fuenteLight);
            font-size: 1.8rem;
            color: var(--color3);
        }

    .index-body-info-main {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        height: auto;
        width: 95%;
        margin: 0 auto;
    }

        .index-body-info-main > h2 {
            font-family: var(--fuente);
            font-size: 2rem;
            color: var(--color1);
            text-align: center;
        }

        .index-body-info-main > h3 {
            font-family: var(--fuente);
            font-size: 1.4rem;
            color: var(--color1B);
            text-align: center;
        }

        .index-body-info-main > span {
            font-family: var(--fuenteLight);
            font-size: 0.9rem;
            color: var(--colorBlack);
            text-align: center;
        }

            .index-body-info-main > span strong {
                font-size: 1rem;
                color: var(--color1A);
            }

    .index-body-info-main-contacto-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: auto;        
    }

        .index-body-info-main-contacto-body > div {
            display: grid;
            grid-template-rows: 3rem auto 3rem 3rem;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            width: 100%;
            height: 15rem;
            padding: 0.5rem;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
            
        }

            .index-body-info-main-contacto-body > div h4 {
                font-family: var(--fuenteLight);
                font-size: 1.5rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div h5 {
                font-family: var(--fuenteLight);
                font-size: 0.8rem;
                color: var(--colorGray);
                text-align: center;
            }

    .index-body-info-icon {
        height: 3rem;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .index-body-info-icon > div {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 3rem;
            width: 3rem;
            background-color: var(--color4E);
            border-radius: 50%;
        }

            .index-body-info-icon > div > img {
                height: 2rem;
                width: 2rem;
            }

    .index-body-info-main-mapa {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: max-content;
    }

        .index-body-info-main-mapa > div {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.5rem;
            width: 100%;
        }

            .index-body-info-main-mapa > div > h4 {
                font-family: var(--fuenteLight);
                font-size: 1.3rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-mapa > div > span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

    .mapa {
        height: 30rem;
        width: 100%;
    }
}

/* Tablet in modalità verticale */
@media screen and (min-width: 481px) and (max-width: 736px) {
    .index-main-info {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 9rem auto 12rem;
        grid-template-areas:
            "head"
            "body"
            "footer";
        width: 100%;
        height: 100dvh;
    }

    .index-body-info {
        display: grid;
        grid-template-rows: 28rem auto;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
        grid-area: body;
    }

    .index-body-info-head {
        height: 28rem;
        width: 100%;
    }

    .index-body-info-head-img img {
        height: 28rem;
        width: 100%;
        object-fit: fill;
        z-index: -1;
    }

    .index-body-info-head-title {
        position: relative;
        top: -100%;
        left: 0;
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        z-index: 1;
        padding: 0.5rem;
        background: rgba(0,0,0, 0);
        background: -webkit-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: -moz-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
    }

        .index-body-info-head-title h1 {
            font-family: var(--fuente);
            font-size: 2rem;
            color: var(--colorWhite);
            font-weight: bold;
            text-align: center;
        }

        .index-body-info-head-title span {
            font-family: var(--fuenteLight);
            font-size: 1.8rem;
            color: var(--color3);
            text-align: center;
        }

    .index-body-info-main {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        height: auto;
        width: 95%;
        margin: 0 auto;
    }

        .index-body-info-main > h2 {
            font-family: var(--fuente);
            font-size: 2rem;
            color: var(--color1);
            text-align: center;
        }

        .index-body-info-main > h3 {
            font-family: var(--fuente);
            font-size: 1.4rem;
            color: var(--color1B);
            text-align: center;
        }

        .index-body-info-main > span {
            font-family: var(--fuenteLight);
            font-size: 0.9rem;
            color: var(--colorBlack);
            text-align: center;
        }

            .index-body-info-main > span strong {
                font-size: 1rem;
                color: var(--color1A);
            }

    .index-body-info-main-contacto-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: auto;
    }

        .index-body-info-main-contacto-body > div {
            display: grid;
            grid-template-rows: 3rem auto 3rem 3rem;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            width: 100%;
            height: 15rem;
            padding: 0.5rem;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
        }

            .index-body-info-main-contacto-body > div h4 {
                font-family: var(--fuenteLight);
                font-size: 1.5rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div h5 {
                font-family: var(--fuenteLight);
                font-size: 0.8rem;
                color: var(--colorGray);
                text-align: center;
            }

    .index-body-info-icon {
        height: 3rem;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .index-body-info-icon > div {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 3rem;
            width: 3rem;
            background-color: var(--color4E);
            border-radius: 50%;
        }

            .index-body-info-icon > div > img {
                height: 2rem;
                width: 2rem;
            }

    .index-body-info-main-mapa {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: max-content;
    }

        .index-body-info-main-mapa > div {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.5rem;
            width: 100%;
        }

            .index-body-info-main-mapa > div > h4 {
                font-family: var(--fuenteLight);
                font-size: 1.3rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-mapa > div > span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

    .mapa {
        height: 30rem;
        width: 100%;
    }
}

/* Smartphone o piccoli Tablet */
@media screen and (max-width: 480px) {
    .index-main-info {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 9rem auto 12rem;
        grid-template-areas:
            "head"
            "body"
            "footer";
        width: 100%;
        height: 100dvh;
    }

    .index-body-info {
        display: grid;
        grid-template-rows: 28rem auto;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
        grid-area: body;
    }

    .index-body-info-head {
        height: 28rem;
        width: 100%;
    }

    .index-body-info-head-img img {
        height: 28rem;
        width: 100%;
        object-fit: fill;
        z-index: -1;
    }

    .index-body-info-head-title {
        position: relative;
        top: -100%;
        left: 0;
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        z-index: 1;
        padding: 0.5rem;
        background: rgba(0,0,0, 0);
        background: -webkit-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: -moz-linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
        background: linear-gradient(180deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, 1) 100%);
    }

        .index-body-info-head-title h1 {
            font-family: var(--fuente);
            font-size: 2rem;
            color: var(--colorWhite);
            font-weight: bold;
            text-align: center;
        }

        .index-body-info-head-title span {
            font-family: var(--fuenteLight);
            font-size: 1.8rem;
            color: var(--color3);
            text-align: center;
        }

    .index-body-info-main {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        height: auto;
        width: 95%;
        margin: 0 auto;
    }

        .index-body-info-main > h2 {
            font-family: var(--fuente);
            font-size: 2rem;
            color: var(--color1);
            text-align: center;
        }

        .index-body-info-main > h3 {
            font-family: var(--fuente);
            font-size: 1.4rem;
            color: var(--color1B);
            text-align: center;
        }

        .index-body-info-main > span {
            font-family: var(--fuenteLight);
            font-size: 0.9rem;
            color: var(--colorBlack);
            text-align: center;
        }

            .index-body-info-main > span strong {
                font-size: 1rem;
                color: var(--color1A);
            }

    .index-body-info-main-contacto-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: auto;
    }

        .index-body-info-main-contacto-body > div {
            display: grid;
            grid-template-rows: 3rem auto 3rem 3rem;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            width: 100%;
            height: 15rem;
            padding: 0.5rem;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
        }

            .index-body-info-main-contacto-body > div h4 {
                font-family: var(--fuenteLight);
                font-size: 1.5rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

            .index-body-info-main-contacto-body > div h5 {
                font-family: var(--fuenteLight);
                font-size: 0.8rem;
                color: var(--colorGray);
                text-align: center;
            }

    .index-body-info-icon {
        height: 3rem;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .index-body-info-icon > div {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 3rem;
            width: 3rem;
            background-color: var(--color4E);
            border-radius: 50%;
        }

            .index-body-info-icon > div > img {
                height: 2rem;
                width: 2rem;
            }

    .index-body-info-main-mapa {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        height: max-content;
    }

        .index-body-info-main-mapa > div {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.5rem;
            width: 100%;
        }

            .index-body-info-main-mapa > div > h4 {
                font-family: var(--fuenteLight);
                font-size: 1.3rem;
                color: var(--color1A);
                text-align: center;
            }

            .index-body-info-main-mapa > div > span {
                font-family: var(--fuenteLight);
                font-size: 1rem;
                color: var(--colorBlack);
                text-align: center;
            }

    .mapa {
        height: 30rem;
        width: 100%;
    }
}
