p.overtitleHero, h1.titleHero, h2.subtitleHero, p.textHero, p.overtitleCosa, h2.titleCosa, p.textCosa, li.item, p.textObiettivo, p.overtitleCome, h2.titleCome, p.number, h3.titleCard, p.textCard, p.overtitlePartner, h2.titlePartner, p.textPartner, a.btnPartner{
    font-family: 'news-gothic-std', sans-serif;
}
p.overtitleHero, p.overtitleCosa, p.textObiettivo, p.overtitleCome, p.number, p.overtitlePartner{
    color: #8291C7;
}
h1.titleHero, h2.subtitleHero, p.textHero, h2.titleCosa, p.textCosa, li.item, h2.titleCome, h3.titleCard, p.textCard, h2.titlePartner, p.textPartner{
    color: #003883;
}
p.textHero, p.textObiettivo, ul.list, p.number{
    margin: 0;
}
.cosa{
    box-shadow: -10px -10px 10px #0000000A;
}
.cosa, h3.titleCard{
    position: relative;
}
ul.list, li.item, .gridCard, .circle, .innerCard, .titleTextCard, .gridPartner {
    display: flex;
}
ul.list, .innerCard, .titleTextCard {
    flex-direction: column;
}
ul.list {
    list-style: none;
    padding-left: 0;
}
li.item, .circle, .innerCard {
    align-items: center;
}
img.pic {
    position: absolute;
}
.obiettivo {
    background: #EDEDED;
}
.come {
    background: #F5F5F5;
}
.card {
    background: white;
    box-shadow: -15px 3px 15px #0000000D;
    border-radius: 1.6vw;
}
.circle {
    background: #fff;
    border-radius: 50%;
    justify-content: center;
}
.titleTextCard {
    text-align: center;
}
h3.titleCard, p.textCard{
    margin: auto;
}
h3.titleCard::after {
    position: absolute;
    content: "";
    height: 1px;
    background: #003883;
    left: 50%;
    transform: translate(-50%, 50%);
    right: 50%;
}
a.btnPartner{
    background: #8291C7;
    text-decoration: none;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 3px solid #8291C7;
}
a.btnPartner:hover{
    background: transparent;  
    color: #8291C7;
}
@media (max-width: 550px){
    .colHero:first-child{
        padding: 15vw 5vw 15vw 10vw;
    }
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner, a.btnPartner {
        font-size: 3.6vw;
    }
    h1.titleHero {
        font-size: 11vw;
        line-height: 11vw;
    }
    h2.subtitleHero, h3.titleCard {
        font-size: 7.3vw;
        line-height: 8vw;
    }
    p.textHero, p.textObiettivo {
        font-size: 4.5vw;
    }
    p.textHero {
        line-height: 6vw;
    }
    .colHero:nth-child(2){
        background: url('/media/heroAltriStrumenti550.webp');
        height: calc(100vw / (550 / 379));
    }
    .cosa, .come, .colPartner:first-child {
        padding: 15vw 10vw;
    }
    h2.titleCosa, h2.titleCome, h2.titlePartner {
        font-size: 10vw;
        line-height: 11vw;
    }
    p.textCosa, li.item, p.textCard, p.textPartner{
        font-size: 4.5vw;
    }
    p.textCosa {
        line-height: 6.5vw;
    }
    ul.list {
        grid-gap: 4vw;
    }
    li.item {
        grid-gap: 2.5vw;
    }
    li.item img {
        width: 7.5vw;
    }
    img.pic {
        display: none;
    }
    .card {
        flex: 0 1 100%;
        padding: 0 0 10vw;
    }
    .innerCard::before, .circle {
        width: 28vw;
        height: 28vw;
    }
    .circle {
        margin-top: -6vw;
    }
    p.number {
        font-size: 18.2vw;
    }
    .titleTextCard {
        grid-gap: 10vw;
    }
    h3.titleCard::after {
        bottom: -5vw;
        width: 35%;
    }
    a.btnPartner {
        border-radius: 6vw;
    }
}
@media (min-width: 551px) and (max-width: 766.9px){
    .colHero:first-child, .cosa, .come, .colPartner:first-child{
        padding: 10vw;
    }
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner, a.btnPartner {
        font-size: 2.6vw;
    }
    h1.titleHero {
        font-size: 8.54vw;
        line-height: 8vw;
    }
    h2.subtitleHero {
        font-size: 6.56vw;
        line-height: 7vw;
    }
    p.textHero, p.textObiettivo, h3.titleCard {
        font-size: 5.3vw;
    }
    p.textHero {
        line-height: 6.4vw;
    }
    .colHero:nth-child(2){
        background: url('/media/heroAltriStrumenti551.webp');
        height: calc(100vw / (750 / 517));
    }
    h2.titleCosa, h2.titleCome, h2.titlePartner {
        font-size: 7.2vw;
        line-height: 7.5vw;
    }
    p.textCosa, li.item, p.textCard, p.textPartner{
        font-size: 3.3vw;
    }
    p.textCosa {
        line-height: 4.7vw;
    }
    ul.list {
        grid-gap: 2vw;
    }
    li.item img {
        width: 6vw;
    }
    li.item {
        grid-gap: 2vw;
    }
    .card {
        flex: 0 1 70%;
        padding: 0 0 7vw;
    }
    .circle {
        margin-top: -5vw;
    }
    .innerCard::before, .circle {
        width: 23vw;
        height: 23vw;
    }
    p.number {
        font-size: 13vw;
    }
    .titleTextCard {
        grid-gap: 8vw;
    }
    h3.titleCard {
        line-height: 5.7vw;
    }
    h3.titleCard::after {
        bottom: -4vw;
        width: 40%;
    }
    a.btnPartner {
        width: 45vw;
        height: 10vw;
        border-radius: 5vw;
    }
}
@media (min-width: 551px) and (max-width: 1099.9px){
    img.pic {
        right: 3vw;
    }
}
@media (max-width: 766.9px){
    h1.titleHero, h2.subtitleHero, h2.titleCosa, h2.titlePartner, p.textPartner{
        margin: 0 0 6vw;
    }
    .obiettivo{
        padding: 10vw;
    }
    h2.titleCome {
        margin: 0 0 15vw;
    }
    .gridCard {
        justify-content: center;
        grid-gap: 15vw;
    }
    .innerCard {
        grid-gap: 4vw;
    }
}
@media (min-width: 767px){
    h3.titleCard::after {
        width: 30%;
    }
}
@media (min-width: 767px) and (max-width: 899.9px){
    .colHero:first-child, .cosa, .come{
        padding: 8vw;
    }
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner, a.btnPartner {
        font-size: 1.89vw;
    }
    h1.titleHero {
        font-size: 6.13vw;
        line-height: 6vw;
    }
    h1.titleHero, h2.subtitleHero, h2.titleCosa, h2.titlePartner, p.textPartner{
        margin: 0 0 4vw;
    }
    h2.subtitleHero {
        font-size: 4.7vw;
        line-height: 5.5vw;
    }
    p.textHero, p.textObiettivo, h3.titleCard {
        font-size: 3.8vw;
    }
    p.textHero {
        line-height: 4.3vw;
    }
    .colHero:nth-child(2){
        background: url('/media/heroAltriStrumenti767.webp');
        height: calc(100vw / (850 / 586));
    }
    h2.titleCosa, h2.titleCome, h2.titlePartner {
        font-size: 5.17vw;
        line-height: 5.5vw;
    }
    p.textCosa, li.item, p.textCard, p.textPartner{
        font-size: 2.34vw;
    }
    p.textCosa {
        line-height: 3.5vw;
    }
    li.item {
        grid-gap: 1.5vw;
    }
    li.item img {
        width: 4vw;
    }
    .obiettivo {
        padding: 8vw;
    }
    h2.titleCome {
        margin: 0 0 8vw;
    }
    .gridCard {
        grid-gap: 6vw;
        justify-content: center;
    }
    .card {
        flex: 0 1 calc((100% - 12vw) / 2);
        padding: 0 0 5vw;
    }
    .innerCard::before, .circle  {
        width: 15vw;
        height: 15vw;
    }
    .circle {
        margin-top: -3vw;
    }
    p.number {
        font-size: 9.4vw;
    }
    h3.titleCard {
        line-height: 4.2vw;
    }
    .colPartner:first-child {
        padding: 8vw 0 8vw 8vw;
    }
    a.btnPartner {
        width: 35vw;
        height: 8vw;
    }
}
@media (min-width: 767px) and (max-width: 1099.9px){
    .innerCard {
        grid-gap: 3vw;
    }
    .titleTextCard {
        grid-gap: 6vw;
    }
    h3.titleCard::after {
        bottom: -3vw;
    }
}
@media (min-width: 767px) and (max-width: 1400px){
    ul.list {
        grid-gap: 1.5vw;
    }
    a.btnPartner {
        border-radius: 4vw;
    }
}
@media (max-width: 899.9px){
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner{
        margin: 0 0 2vw;
    }
    .colHero:nth-child(2){
        background-size: contain !important;
    }
    .gridCard {
        flex-wrap: wrap;
    }
    .gridPartner{
        flex-direction: column;
    }
    .colPartner {
        width: 100%;
        box-sizing: border-box !important;
    }
    .colPartner:nth-child(2) {
        background-position: center !important;
        background-size: contain !important;
    }
}
@media(min-width: 900px){
    .hero {
        background-size: contain !important;
        display: flex;
    }
    .gridHero, .gridCosa, .gridCome {
        margin: auto;
    }
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner{
        margin: 0 0 1vw;
    }
    .card {
        padding: 0 0 3vw;
    }
    .colPartner:first-child {
        box-sizing: border-box;
    }
    .colPartner:nth-child(2) {
        background-size: cover !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }
}
@media (min-width: 900px) and (max-width: 1099.9px){
    .hero{
        background: url('/media/heroAltriStrumenti900.webp');
        height: calc(100vw / (1000 / 550));
    }
    .gridHero, .gridCosa, .gridCome {
        width: 84vw;
    }
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner, a.btnPartner {
        font-size: 1.61vw;
    }
    h1.titleHero {
        font-size: 5.22vw;
    }
    h1.titleHero, h2.subtitleHero, h2.titleCosa, h2.titlePartner, p.textPartner{
        margin: 0 0 3vw;
    }
    h2.subtitleHero {
        font-size: 4vw;
        line-height: 4.5vw;
    }
    p.textHero, p.textObiettivo, h3.titleCard {
        font-size: 3.22vw;
    }
    p.textHero {
        line-height: 3.8vw;
    }
    .cosa, .come {
        padding-block: 8vw;
    }
    h2.titleCosa, h2.titleCome, h2.titlePartner {
        font-size: 4.41vw;
        line-height: 5vw;
    }
    p.textCosa, li.item, p.textCard, p.textPartner{
        font-size: 2vw;
    }
    p.textCosa {
        line-height: 3vw;
    }
    li.item img {
        width: 3.5vw;
    }
    .obiettivo {
        padding-block: 7vw;
    }
    .innerObiettivo {
        margin-left: 8vw;
    }
    .gridCard {
        grid-gap: 5vw;
    }
    .card {
        flex: 0 1 calc((100% - 10vw) / 3);
    }
    .innerCard::before, .circle  {
        width: 12vw;
        height: 12vw;
    }
    p.number {
        font-size: 8vw;
    }
    h3.titleCard{
        line-height: 3.5vw;
    }
    .colPartner:first-child {
        padding: 7vw 0 7vw 8vw;
    }
    a.btnPartner {
        width: 26vw;
        height: 6vw;
    }
}
@media (min-width: 900px) and (max-width: 1400px){
    li.item {
        grid-gap: 1vw;
    }
    h2.titleCome {
        margin: 0 0 6vw;
    }
    .circle {
        margin-top: -2.5vw;
    }
    .colPartner:first-child, .colPartner:nth-child(2){
        flex: 0 1 50%;
    }
}
@media(min-width: 1100px){
    h1.titleHero, h2.subtitleHero, h2.titleCosa, h2.titlePartner, p.textPartner {
        margin: 0 0 2vw;
    }
    .cosa, .come {
        padding-block: 7vw;
    }
    .innerObiettivo {
        margin: auto;
    }
    .gridCard {
        grid-gap: 4.2vw; 
    }
    .card {
        flex: 0 1 calc((100% - 8.4vw) / 3);
    }
}
@media (min-width: 1100px) and (max-width: 1400px){
    .hero{
        background: url('/media/heroAltriStrumenti1100.webp');
        height: calc(100vw / (1200 / 600));
    }
    .gridHero, .gridCosa, .innerObiettivo, .gridCome {
        width: 80vw;
    }
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner, a.btnPartner {
        font-size: 1.32vw;
    }
    h1.titleHero {
        font-size: 4.27vw;
    }
    h2.subtitleHero {
        font-size: 3.28vw;
        line-height: 3.6vw;
    }
    p.textHero, p.textObiettivo, h3.titleCard {
        font-size: 2.64vw;
    }
    p.textHero {
        line-height: 3.3vw;
    }
    h2.titleCosa, h2.titleCome, h2.titlePartner {
        font-size: 3.6vw;
        line-height: 4vw;
    }
    p.textCosa, li.item, p.textCard, p.textPartner{
        font-size: 1.63vw;
    }
    p.textCosa {
        line-height: 2.5vw;
    }
    li.item img {
        width: 3vw;
    }
    img.pic {
        right: 7vw;
    }
    .obiettivo {
        padding-block: 5vw;
    }
    .innerCard {
        grid-gap: 2vw;
    }
    .innerCard::before, .circle  {
        width: 10vw;
        height: 10vw;
    }
    p.number {
        font-size: 6.54vw;
    }
    .titleTextCard {
        grid-gap: 4vw;
    }
    h3.titleCard{
        line-height: 3vw;
    }
    h3.titleCard::after {
        bottom: -2vw;
    }
    .colPartner:first-child {
        padding: 5vw 0 5vw 10vw;
    }
    a.btnPartner {
        width: 23.5vw;
        height: 5vw;
    }
}
@media(min-width: 1401px){
    .hero{
        background: url('/media/heroAltriStrumenti.webp');
        height: calc(100vw / (2000 / 750));
    }
    .gridHero, .gridCosa, .innerObiettivo, .gridCome {
        width: 70vw;
    }
    p.overtitleHero, p.overtitleCosa, p.overtitleCome, p.overtitlePartner, a.btnPartner{
        font-size: 1.05vw;
        line-height: 1vw;
    }
    h1.titleHero{
        font-size: 3.4vw;
        line-height: 3.6vw; 
    }
    h2.subtitleHero {
        font-size: 2.61vw;
        line-height: 3vw;
    }
    p.textHero, p.textObiettivo, h3.titleCard{
        font-size: 2.1vw;
    }
    p.textHero{
        line-height: 2.6vw;
    }
    h2.titleCosa, h2.titleCome, h2.titlePartner{
        font-size: 2.87vw;
        line-height: 3vw;
    }
    p.textCosa, li.item, p.textCard, p.textPartner{
        font-size: 1.3vw;
        line-height: 1.8vw;
    }
    ul.list {
        grid-gap: 1vw;
    }
    li.item {
        grid-gap: 0.5vw;
    }
    li.item img {
        width: 2.3vw;
    }
    img.pic {
        right: 15vw;
    }
    .obiettivo {
        padding-block: 5vw;
    }
    h2.titleCome {
        margin: 0 0 4vw;
    }
    .innerCard {
        grid-gap: 1vw;
    }
    .innerCard::before, .circle {
        width: 8vw;
        height: 8vw;
    }
    .circle {
        margin-top: -1.5vw;
    }
    p.number {
        font-size: 5.21vw;
    }
    .titleTextCard {
        grid-gap: 3vw;
    }
    h3.titleCard{
       line-height: 2.5vw;
    }
    h3.titleCard::after {
        bottom: -1.5vw;
    }
    .colPartner:first-child {
        flex: 0 1 55%;
        padding: 5vw 0 5vw 15vw;
    }
    a.btnPartner {
        width: 18.5vw;
        height: 4vw;
        border-radius: 2vw;
    }
    .colPartner:nth-child(2){
        flex: 0 1 45%;
    }
}