*, *::before, *::after{
    box-sizing: border-box;
    margin: 0;
}

body, html{
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    width: 100%;
    --primaryColor: #0164a1;
    --lighterColor: #d2dde7;
    --secondaryColor: #21a577;
}

section{ padding: 2em }

#cover{
    width: 100%;
    height: 70vh;
    min-height: 25rem;
    padding: 2em;
    background-image: url(/media/2/testata.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right center;
}

#cover .logo{
    height: 4em;
}

.banner{
    font-weight: 500;
    text-align: center;
    padding: 1em 2em;
    font-size: 2.5em;
    text-transform: uppercase;
    background-color: #98b5cd;
    color: #0164a1;
    font-weight: bold;
}

footer{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 4em;
    padding: 3em;
    color: #fff;
    background-color: var(--primaryColor);
}

footer > *{
    margin: 1em 2em;
    padding: 1em 2em;
}

footer > *:not(:last-child){ border-right: 1px solid #fff4 }

footer .logo{
    margin-right: .8em;
    height: 5em;
}

footer span{
    display: block;
    margin-bottom: .5em;
}

.hero{
    width: 100%;
    padding: 5em 2em;
    font-size: 1.1em;
    color: #fff;
    line-height: 180%;
}

.hero strong{
    display: block;
    margin-bottom: .4em;
    font-size: 1.1em;
}

.hero .block{
    max-width: 70em;
    margin: 0 auto;
}

.descriptions{
    padding: 0;
}

.descriptions .description{
    padding: 3em 5em;
    margin: 0 auto;
}

.descriptions .description:nth-child(odd){
    background-color: #d2dde7;
    color: #0164a1;
}

.descriptions .description:nth-child(even){ color: #50a26c }

.descriptions .description .container{
    display: flex;
    justify-content: center;
    max-width: 60em !important;
    width: 100%;
    font-size: 1.1em;
    margin: 0 auto;
    align-items: center;
    text-align: right;
}

.descriptions .description .container p{
    max-width: 50em;
    line-height: 180%;
}

.descriptions .description .container > :first-child{
    margin-right: 1.5em;
    padding-right: 1.5em;
    border-right: 1px solid #aaa;
}

.descriptions .description:nth-child(even) .container > :first-child{
    margin: 0;
    padding: 0;
    border: 0;
    margin-left: 1.5em;
    padding-left: 1.5em;
    border-left: 1px solid #aaa;
}

.descriptions .description:nth-child(even) .container{
    width: 100%;
    flex-direction: row-reverse;
    text-align: left;
}

.descriptions .description .logo{
    width: 14em;
}

a{ color: inherit }

@media (max-width: 760px){
    .descriptions .description .container{
        flex-direction: column !important;
    }

    .descriptions .description .container > :first-child{
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        margin-bottom: 1em;
    }

    .descriptions .description .container p{
        text-align: center;
        margin-top: 2em !important;
    }
}