.index-page {
    .top-part {
        margin: auto;
        position: relative;

        img {
            width: 100%;
            height: 100%;
            object-fit: fill;
            display: block;
        }

        & > div {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;

            & > div {
                position: relative;
                height: 100%;
                width: 100%;
            }
        }

        .top-part-text {
            position: absolute;
            top: 23%;
            left: 0;
            right: 0;
            height: 22%;
            filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7));
        }

        .forniture {
            position: absolute;
            display: block;
            height: 5.5%;
            top: 60.6%;
            left: 40%;
            right: 60%;
            width: 20%;
        }

        .rischi {
            position: absolute;
            display: block;
            height: 5.5%;
            top: 67.2%;
            left: 40%;
            right: 60%;
            width: 20%;
        }
    }

    .middle-part {
        overflow: hidden;
        position: relative;
        padding: 0 12.5%;

        .sphere {
            right: -12.5rem;
            top: -12.5rem;
        }

        .middle-part-header {
            font-family: 'Archivo', serif;
            font-style: normal;
            font-weight: 700;
            font-size: clamp(5.25rem, 7vw, 8rem);
            padding-bottom: 5%;
            padding-top: 12%;
        }

        .middle-part-body {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            width: 100%;
            aspect-ratio: 2 / 1;
        }

        .middle-part-photo {
            flex: 1;
            aspect-ratio: 1 / 1;
            align-content: center;

            .middle-photo-svg {
                position: relative;
            }

            input {
                display: none;
            }
            input:not(:checked)+div {
                display: none;
            }
            img+svg {
                position: absolute;
                bottom: 0.75rem;
                left: 0;
                width: 10%;
                height: 2%;
                margin: 0 45%;
            }
        }

        .middle-part-text {
            font-family: 'Archivo', serif;
            font-style: normal;
            font-weight: 400;
            flex: 1;
            padding: 4%;
            font-size: clamp(1rem, 1.25vw, 1.5rem);
            aspect-ratio: 1 / 1;
            align-content: center;
        }
    }

    .bottom-part {
        padding: 0 12.5%;
        position: relative;
        overflow: hidden;

        .sphere {
            left: -12.5rem;
            bottom: -12.5rem;
        }

        .bottom-part-header {
            font-family: 'Archivo', serif;
            font-style: normal;
            font-weight: 700;
            font-size: clamp(5.25rem, 7vw, 8rem);
            padding-bottom: 5%;
            padding-top: 12%;
            text-align: right;
        }

        .bottom-part-body {
            width: 100%;
            aspect-ratio: 2 / 1;
            display: flex;
            flex-direction: row;
            align-items: stretch;
            padding-bottom: 6.25rem;
            font-size: clamp(1rem, 1.25vw, 1.5rem);
            font-family: 'Archivo', serif;
            font-style: normal;
            font-weight: 400;
        }

        .bottom-part-contact {
            flex: 1;
        }
        .bottom-part-map {
            flex: 1;
            padding: 3.5% 0;
        }
        .bottom-part-address {
            padding-top: 32%;
        }
        .bottom-part-phone {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            height: 12.5%;
            margin-top: 18%;
            margin-bottom: 25%;

            & > div:nth-child(1) {
                width: 5%;
            }
            & > div:nth-child(2) {
                align-content: center;
                padding-left: 2.5%;

                a {
                    text-decoration: none;
                    color: black;
                }
            }
        }
    }
}
