.gridHero, button.btnAccordion, .gridModuli, .iconInfoFile, .infoFile {
    display: flex;
}
.gridHero, .innerGestione {
    margin: auto;
}
p.overtitle, h1.titleHero, p.textBoldGestione, p.textGestione, h2.titleTest, p.textBtn, a.nomeFile, p.subtextDownload a {
    font-family: 'news-gothic-std', sans-serif;
}
p.overtitle {
    color: #EE7D11;
}
h1.titleHero, p.textGestione, h2.titleTest, p.textBtn, p.subtextDownload {
    margin: 0;
}
h1.titleHero, p.textBoldGestione, p.textGestione, p.textBtn, a.nomeFile, p.subtextDownload a{
    color: #003883;
}
.gestioneModulistica {
    background: #ededed;
    position: relative;
}
.triangle {
    clip-path: polygon(-150% -100%, 150% 0%, 50% 100%);
    background: #ededed;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 50%);
    bottom: 0;
}
.contTitle{
    background: #8291C7;  
}
h2.titleTest{
    color: #fff;
}
.moduliTest {
    background: #f5f5f5;
}
.gridModuli {
    flex-wrap: wrap;
}
button.btnAccordion {
    width: 100%;
    border: none;
    position: relative;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
button.btnAccordion, .descrAccordion {
    background: transparent;
}
p.textBtn{
    text-align: left;
}
button.btnAccordion:not(:first-child)::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 3px;
    background: white;
    top: 0;
    left: 0;
}
button.btnAccordion::after {
    content: "\e145";
    font-weight: 900;
    font-family: 'Material Symbols Outlined';
    color: #003883;
}
button.btnAccordion.active::after {
    content: "\e15b";
}
.iconInfoFile {
    align-items: center;
    line-height: 0;
}
.infoFile{
    flex-direction: column;
}
a.nomeFile, p.subtextDownload a {
    text-decoration: none;
}
a.nomeFile::first-letter {
    text-transform: uppercase;
}
a.nomeFile {
    text-transform: lowercase;
    cursor: pointer;
}
@media (max-width: 550px){
    p.overtitle {
        font-size: 3.6vw;
    }
    h1.titleHero {
        font-size: 11vw;
        line-height: 11.5vw;
    }
    .gridHero > div:nth-child(2) {
        background: url(/media/heromodulistica550.webp);
        height: calc(100vw /(550 / 328));
    }
    p.textBoldGestione, p.textGestione, p.textBtn {
        font-size: 5.45vw;
    }
    .triangle {
        width: 12vw;
        height: 12vw;
    }
    .contTitle, button.btnAccordion {
        padding: 7vw 5vw 7vw 10vw;
    }
    h2.titleTest {
        font-size: 8.2vw;
        line-height: 8.2vw;
    }
    p.textBtn {
        width: 74vw;
        line-height: 6.5vw;
    }
    button.btnAccordion::after {
        font-size: 6vw;
    }
    .moduliTest {
        margin: 15vw 0;
        border-radius: 0 0 8vw 8vw;
    }
    .gridModuli {
        grid-gap: 6vw;
    }
    .gridModuli > div {
        flex: 0 1 100%;
    }
    .iconInfoFile {
        grid-gap: 3vw;
    }
    a.linkFile img {
        max-height: 10vw;
    }
    .infoFile {
        grid-gap: 2.5vw;
    }
    a.nomeFile, p.subtextDownload {
        font-size: 2.7vw;
        line-height: 3vw;
    }
}
@media (min-width: 551px) and (max-width: 766.9px){
    p.overtitle {
        font-size: 2.6vw;
    }
    h1.titleHero {
        font-size: 8.54vw;
        line-height: 9vw;
        width: 72vw;
    }
    .gridHero > div:nth-child(2) {
        background: url(/media/heromodulistica551.webp);
        height: calc(100vw /(750 / 447));
    }
    p.textBoldGestione, p.textGestione, p.textBtn {
        font-size: 3.9vw;
    }
    p.textBoldGestione {
        width: 77vw;
    }
    p.textGestione {
        width: 70vw;
    }
    .triangle {
        width: 10vw;
        height: 10vw;
    }
    .contTitle, button.btnAccordion {
        padding: 5vw 5vw 5vw 10vw;
    }
    h2.titleTest {
        font-size: 5.9vw;
        line-height: 5.9vw;
    }
    button.btnAccordion::after {
        font-size: 5vw;
    }
    .moduliTest {
        margin: 12vw 0;
        border-radius: 0 0 7.5vw 7.5vw;
    }
    .gridModuli {
        grid-gap: 5vw;
    }
    .gridModuli > div {
        flex: 0 1 calc((100% - 5vw) / 2);
    }
    .iconInfoFile {
        grid-gap: 2.5vw;
    }
    a.linkFile img {
        max-height: 8vw;
    }
    .infoFile {
        grid-gap: 1.5vw;
    }
    a.nomeFile, p.subtextDownload {
        font-size: 2vw;
        line-height: 2.3vw;
    }
}
@media (max-width: 766.9px){
    .gridHero > div:first-child {
        padding: 12vw 0vw 10vw 10vw;
    }
    .innerGestione {
        padding: 10vw 10vw 12vw;
    }
    p.textBoldGestione {
        margin: 0 0 6vw;
    }
    .descrAccordion {
        padding: 0 10vw 10vw;
    }
}
@media (min-width: 767px) and (max-width: 899.9px){
    .gridHero > div:first-child, .innerGestione{
        padding: 8vw;
    }
    p.overtitle {
        font-size: 1.89vw;
    }
    h1.titleHero {
        font-size: 6.13vw;
        line-height: 6.5vw;
        width: 50vw;
    }
    .gridHero > div:nth-child(2) {
        background: url(/media/heromodulistica767.webp);
        height: calc(100vw /(850 / 507));
    }
    p.textBoldGestione, p.textGestione, p.textBtn {
        font-size: 2.83vw;
    }
    p.textBoldGestione {
        margin: 0 0 5vw;
        width: 71vw;
    }
    p.textGestione{
        width: 74vw;
    }
    .triangle {
        width: 8vw;
        height: 8vw;
    }
    .contTitle, button.btnAccordion{
        padding: 3vw 5vw;
    }
    h2.titleTest {
        font-size: 4.23vw;
        line-height: 4.23vw;
    }
    button.btnAccordion::after {
        font-size: 3.5vw;
    }
    .moduliTest {
        margin: 8vw;
        border-radius: 0 0 5.5vw 5.5vw;
    }
    .gridModuli {
        grid-gap: 4vw;
    }
    .gridModuli > div {
        flex: 0 1 calc((100% - 8vw) / 3);
    }
    .iconInfoFile {
        grid-gap: 1.5vw;
    }
    a.linkFile img {
        max-height: 6vw;
    }
    .infoFile {
        grid-gap: 1vw;
    }
    a.nomeFile, p.subtextDownload {
        font-size: 1.44vw;
        line-height: 1.6vw;
    }
}
@media (min-width: 767px) and (max-width: 1099.9px){
    .descrAccordion {
        padding: 0 5vw 5vw;
    }
}
@media (max-width: 899.9px){
    .gridHero{
        flex-direction: column;
    }
    p.overtitle {
        margin: 0 0 2vw;
    }
    .gridHero > div:nth-child(2) {
        background-size: contain !important;
    }
}
@media (min-width: 900px){
    .heroModulistica {
        background-size: contain !important;
    }
    .gridHero {
        height: 100%;
        align-items: center;
    }
    p.overtitle {
        margin: 0 0 1vw;
    }
    .gestioneModulistica {
        padding: 6vw 0;
    }
    .gridModuli {
        grid-gap: 3vw;
    }
}
@media (min-width: 900px) and (max-width: 1099.9px){
    .heroModulistica {
        background: url(/media/heromodulistica900.webp);
        height: calc(100vw /(1000 / 450));
    }
    .gridHero, .innerGestione, .moduliTest{
        width: 84vw;
    }
    p.overtitle {
        font-size: 1.61vw;
    }
    h1.titleHero {
        font-size: 5.22vw;
        line-height: 6vw;
        width: 43vw;
    }
    p.textBoldGestione, p.textGestione, p.textBtn {
        font-size: 2.41vw;
    }
    p.textBoldGestione {
        margin: 0 0 4vw;
    }
    .triangle {
        width: 6vw;
        height: 6vw;
    }
    .contTitle, button.btnAccordion {
        padding: 2vw 5vw;
    }
    h2.titleTest {
        font-size: 3.61vw;
        line-height: 3.61vw;
    }
    button.btnAccordion::after {
        font-size: 3vw;
    }
    .moduliTest {
        margin: 8vw auto;
        border-radius: 0 0 5vw 5vw;
    }
    .gridModuli > div {
        flex: 0 1 calc((100% - 6vw) / 3);
    }
    .iconInfoFile {
        grid-gap: 1.3vw;
    }
    a.linkFile img {
        max-height: 5vw;
    }
    .infoFile {
        grid-gap: 0.8vw;
    }
    a.nomeFile, p.subtextDownload {
        font-size: 1.23vw;
        line-height: 1.4vw;
    }
}
@media (min-width: 1100px){
    .moduliTest {
        margin: 6vw auto;
    }
}
@media (min-width: 1100px) and (max-width: 1400px){
    .heroModulistica {
        background: url(/media/heromodulistica1100.webp);
        height: calc(100vw /(1200 / 419));
    }
    .gridHero, .innerGestione, .moduliTest{
        width: 80vw;
    }
    p.overtitle {
        font-size: 1.32vw;
    }
    h1.titleHero {
        font-size: 4.27vw;
        line-height: 4.57vw;
        width: 38vw;
    }
    p.textBoldGestione, p.textGestione, p.textBtn {
        font-size: 2vw;
    }
    p.textBoldGestione, p.textGestione {
        width: 71vw;
    }
    p.textBoldGestione {
        margin: 0 0 3vw;
    }
    .triangle {
        width: 4vw;
        height: 4vw;
    }
    .contTitle, button.btnAccordion {
        padding: 2vw 4vw;
    }
    h2.titleTest {
        font-size: 2.95vw;
        line-height: 2.95vw;
    }
    button.btnAccordion::after {
        font-size: 2.3vw;
    }
    .moduliTest {
        border-radius: 0 0 4vw 4vw;
    }
    .gridModuli > div {
        flex: 0 1 calc((100% - 6vw) / 3);
    }
    .descrAccordion {
        padding: 0 4vw 4vw;
    }
    .iconInfoFile {
        grid-gap: 1vw;
    }
    a.linkFile img {
        max-height: 4.5vw;
    }
    .infoFile {
        grid-gap: 0.6vw;
    }
    a.nomeFile, p.subtextDownload {
        font-size: 1vw;
        line-height: 1.2vw;
    }
}
@media (min-width: 1401px){
    .heroModulistica {
        background: url(/media/heromodulistica1401.webp);
        height: calc(100vw /(2000 / 564));
    }
    .gridHero, .innerGestione, .moduliTest{
        width: 70vw;
    }
    p.overtitle {
        font-size: 1.05vw;
    }
    h1.titleHero{
        font-size: 3.4vw;
        line-height: 3.6vw;
        width: 29vw; 
    }
    p.textBoldGestione, p.textGestione, p.textBtn {
        font-size: 1.57vw;
    }
    p.textBoldGestione, p.textGestione {
        width: 55vw;
    }
    p.textBoldGestione {
        margin: 0 0 2vw;
    }
    .triangle {
        width: 3.5vw;
        height: 3.5vw;
    }
    .contTitle, button.btnAccordion{
        padding: 1vw 3vw;
    }
    h2.titleTest {
        font-size: 2.35vw;
        line-height: 2.35vw;
    }
    button.btnAccordion::after {
        font-size: 1.3vw;
    }
    .moduliTest {
        border-radius: 0 0 2.5vw 2.5vw;
    }
    .gridModuli > div {
        flex: 0 1 calc((100% - 9vw) / 4);
    }
    .descrAccordion {
        padding: 0 3vw 3vw;
    }
    .iconInfoFile {
        grid-gap: 0.8vw;
    }
    a.linkFile img {
        max-height: 3.8vw;
    }
    .infoFile {
        grid-gap: 0.3vw;
    }
    a.nomeFile, p.subtextDownload {
        font-size: 0.8vw;
        line-height: 0.9vw;
    }
}