:root {
    --black-text: #171717;
    --white-text: #fafafa;
    --text-blue: #025a88;

    --blu-logo-scuro: #276A85;
    --blu-logo-chiaro: #4696AF;
    --orange-text: #ffe49c;

    --bg-blu-chiaro: #1985BE;
    --bg-azzurro: #dcf0fb;
    --bg-blu-scuro: #213641;
    --bg-button: #235570;

    --bg-menu: #276A85;
    --bg-menu-hover: #1f5c74;
    --bg-submenu-hover: #194f65;

    --bg-footer: #144d6a;
}

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

*:focus-visible{
    border: 2px solid var(--text-blue) !important;
}

html{
    width: 100%;
    min-height: 100%;
    height: auto;
    scroll-behavior: smooth;
    font-family: Myriad, sans-serif;
}

body{
    width: 100%;
    min-width: 300px;
    min-height: 100%;
    height: auto;
    background-color: #fafafa;
    color: var(--black-text);
    font-family: "Myriad", sans-serif;
}

.maxwidth{
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 25px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
}


h1{
    font-size: 3.5em;
    line-height: 1em;
    font-weight: 600;
}
h2{
    font-size: 2.8em;
    line-height: 1em;
    font-weight: 600;
}
h2:is(.footer, .smaller){
    font-size: 1.7em;
    line-height: 1em;
    font-style: normal;
    font-weight: normal;
    width: 100%;
}
h2.footer{
    border-bottom: 2px solid white;
    padding-bottom: 5px;
    margin-bottom: 20px;
    text-align: center;
}

h3.subtitle{
    font-size: 2.5em;
    line-height: 1em;
    font-weight: 500;
}
h3{
    font-size: 2em;
    line-height: 1em;
}
h3.footer{
    font-size: 1.5em;
}
h3.smaller{
    font-size: 1.2em;
}
p, a, span{
    font-weight: 500;
}

/* PRE TITOLI */
.pre{
    letter-spacing: 2px;
    font-weight: 400;
    margin-bottom: 5px;
    color: var(--blu-logo-scuro);
}

a{
    text-decoration: none;
}
b.blue{
    color: var(--text-blue);
}
.btn1{
    display: inline-block;
    background-color: var(--bg-button);
    border: 3px solid var(--bg-blu-chiaro);
    padding: 12px 30px 10px;
    color: var(--white-text);
    border-radius: 30px;
    line-height: 1em;
    margin-top: 20px;
    box-shadow: hsl(0deg 0% 19.61%) 0px 0px 5px 0px inset;
    transition: box-shadow .2s ease, transform .2s ease;

    &:hover, &:active, &:focus{
        transform: scale(1.02);
        box-shadow: 0px 0px 10px 0px hsl(200.73deg 66.61% 46.12%) inset;
    }
}
.btn2{
    border: 3px solid var(--text-blue);
    padding: 11px 30px 8px 30px;
    color: var(--text-blue);
    border-radius: 30px;
    display: inline-block;
    transition: box-shadow .2s ease, transform .2s ease;

    &:hover, &:active, &:focus{
        transform: scale(1.01);
        box-shadow: 0px 0px 10px 0px hsla(201, 66%, 30%, 0.377);
    }
}
:where(.btn1, .btn2) > span{
    position: relative;
    top: 1.5px;
    margin-right: 5px;
}
button{
    font-family: "Myriad", sans-serif;
}


main{
    padding-top: 50px;

    & > :where(section, div, article):not(.hero-section){
        padding: 100px 0;

        & :where(h2, h3){
            margin-bottom: 10px;
        }
    }
}




footer{
    & a{
        color: inherit;
    }

    & > div.main-footer{
        padding: 50px 0 20px;
        background-color: var(--bg-footer);
        color: var(--white-text);

        & > div.maxwidth{
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 50px;

            & > :where(nav.social, section.contacts) > ul, & > ul.eaa-compliance{
                list-style: none;
            }

            ul li a{
                font-size: 1.1em;
                    padding-top: 15px;
                    padding-bottom: 15px;
                & > span{
                    vertical-align: middle;
                }
            }

            & > div.logo{
                display: flex;
                justify-content: center;
                align-items: center;

                & > picture{
                    padding: 20px 28px;
                    background-color: #16577a;
                    border-radius: 50%;
                    overflow: hidden;
                    width: 210px;
                    height: auto;
                    margin: auto 0;

                    & > img{
                        width: 100%;
                        height: 100%;
                        padding: 20px;
                        object-fit: contain;
                        object-position: center;
                    }
                }
            }


            & > nav{

                & > ul{
                    display: flex;
                    flex-direction: column;
                    gap: 15px;
                }
                &:not(.social) > ul{
                    list-style-position: inside;
                }
            }

            & > section.contacts{
                & > ul{
                    display: flex;
                    flex-direction: column;
                    gap: 20px;

                    & > li{
                        display: flex;
                        flex-direction: column;
                        border-radius: 10px;
                        border: 1px solid var(--white-text);
                        overflow: hidden;

                        & > h3.footer{
                            background-color: var(--blu-logo-scuro);
                            padding: 15px;
                        }

                        & > a{
                            display: flex;
                            flex-wrap: nowrap;
                            align-items: center;
                            padding: 15px 20px;
                            font-size: 1.1em;
                            gap: 8px;
                        }
                    }
                }
            }

            & > ul.eaa-compliance{
                width: 100%;
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                column-gap: 20px;
                row-gap: 10px;
                text-align: center;

                & > li > span{
                    margin-right: 5px;
                }
            }

        }
    }

    & > section.developer{
        /* background-color: var(--bg-blu-scuro); */
        background-color: #181d23;
        color: var(--white-text);
        padding: 10px 25px;
        text-align: center;

        & > p > a{
            -webkit-text-fill-color: transparent;
            background: -webkit-linear-gradient(0deg, #f33bf0, #5163ed);
            -webkit-background-clip: text;
            background-clip: text;
            font-family: Recepts NF W01;
            white-space: nowrap;

            
        }
    }
}




@media (max-width: 1100px){
    footer > div.main-footer > div.maxwidth > div.logo{
        width: 100%;
    }
}

@media (max-width: 1024px) {
    h1{
        font-size: 3em;
    }
    h2{
        font-size: 2.5em;
    }
    h2:is(.footer, .smaller){
        font-size: 1.5em;
    }
    h3.subtitle{
        font-size: 2.3em;
    }
}
@media (max-width: 800px){
    footer > div.main-footer > div.maxwidth{
        flex-direction: column;
    }
}
@media (max-width: 425px){
    h1{
        font-size: 2.4em;
    }
    h2{
        font-size: 2em;
    }
    h2:is(.footer, .smaller){
        font-size: 1.4em;
    }
    h3.subtitle{
        font-size: 1.8em;
    }
    h3{
        font-size: 1.5em;
    }
}