@font-face {
    font-family: 'Quattrocento';
    src: url('../font/Quattrocento.woff2') format('woff2'),
    src: url('../font/Quattrocento.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Quattrocento Bold';
    src: url('../font/Quattrocento-Bold.woff2') format('woff2')
    src: url('../font/Quattrocento-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

body::-webkit-scrollbar { width: 0 !important }

body { overflow: -moz-scrollbars-none; }

body { -ms-overflow-style: none; }

body{
    padding: 0;
    margin: 0;
    color: #181D48;
    background-color: #90ADC6;
    overflow-x: hidden;

    font-family: 'Times', 'Times New Roman', 'Georgia', serif;
    font-size: 1.125rem;
}

body.font-loaded{
    font-family: 'Quattrocento', serif;
    font-size: 1rem;
}


nav{
    position: absolute;
    top: 0;
    left: 
}

nav ul{
    display: flex;
}

nav li{
    list-style: none;
    margin-right: 20px;
}

nav li a{
    font-size: .875rem;
    color: #033d8c;
}
.logo{
    position: fixed;
    top:15px;
    right: 0;
    z-index: 300;
}


img{
    max-width: 100%;
    height: auto;
}

.wrapContainer{
    max-width: 97vw;
    margin: 0 auto;
}

/** COVER **/

.coverContainer{
    margin: 30px 0 0 0;

}

.cover{
    text-align: center;
    font-size: 1.5rem;
}

.cover span{
    display: block;
}
.cover a{
    margin: 30px 0;
    /* font-size: .875rem; */
}


.cover .btn-start{
    /* background-color: #ff2233; */
    background-color: #EC0133;
    opacity: 0;
    will-change: opacity;
}
.loaded .cover .btn-start{
    opacity: 1;
    transition: opacity .15s ease-in;
}
h1{
    font-size: 4rem;
    margin: 1.75rem 0 .5rem 0;
}
.font-loaded h1{
    font-size: 4.5rem;
}

span.to{
    display: block;
}

span.to + img{
    margin-top: 10px;}

/** INTRO **/


#introContainer{
    background-color: #90ADC6;
    z-index: 2;
}
#maurice{
    width:100%;
    /*height: 60vh;*/
    height:318px;
    display: flex;
    justify-content: flex-start;
    position: relative;
}
#maurice img{
    position: relative;
}
#maurice #piano{
    position: absolute;
    max-height: 250px;
    left: 10px;
    bottom: -2px;
}
#maurice.fixed{
    position: fixed;
    right: 0;
    /* bottom: 0 !important;
    top: auto !important;
    transform: translateY(0vh) !important;*/
}

.textIntro{
    font-size: calc(26px + (30 - 26)* ((100vw - 320px)/(1400 - 320)));
    line-height: 1.15;
    padding: 0 5vw;
    color: #181D48;
    z-index: 200;
}

.font-loaded .textIntro{
    font-size: calc(20px + (28 - 20)* ((100vw - 320px)/(1400 - 320)));
    line-height: 1.3;
}



/*.textIntro p span.big{
font-size: 1.5em;
margin: 0 10px;
display: inline-block;
line-height: .7;
}*/


.author svg, .dancer svg{
    display: none;
}

#ida{
    width: 100%;
    height: 349px;
    display: flex;
    justify-content: flex-end;
    /*background: #90ADC6 url(../img/ida.jpg) no-repeat left bottom;
    background-blend-mode: luminosity;
    background-size: contain;*/
}
#ida img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#ida #shoes{
    position: absolute;
    max-width: 140px;
    height: auto;
    left: calc(100vw - 320px);
    bottom: -10px;
}
.bars:after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: repeating-linear-gradient(
        to right,
        #EC0133,
        #EC0133 10px,
        transparent 10px,
        transparent 14px
    );
}


.intro{
    display: flex;
    flex-direction: column;
    align-items: center;
}

h3{
    font-size: 1.875rem;
    font-weight: normal;
    max-width: 45ch;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 0;
    color: #033d8c;
}


.musicRow {
    height: 60px;
    color:#181D48;
    display: flex;
    align-items: center;
}

.musicRow .wrapContainer,
.rowZero .wrapContainer{
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
}



.musicRow .wrapContainer{
    height: 100%;
}

.rowZero .introFlow{
    width: 87vw;
    flex-grow: 1;
    height: calc(100% - 8px); /* 4px sopra e 4px sotto di box-shadow del bordo giallo active */
    display: flex;
    align-items: center;
    margin-left: -1.5vw;
    padding-left: 1.5vw;
    font-size: calc(14px + (24 - 14)* ((100vw - 320px)/(1400 - 320)));
}
.rowZero .flow{
    position: relative;
    width: 11vw;
    flex-grow: 0;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-right: -1.5vw;
    padding: 0;
    opacity: 1;
}
.rowZero .flow > span, .rowNineteen .finalFlow > span{
    font-size: .75rem;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    padding: .25em .15em;
    border: 1px solid #181D48;
}



.finalFlow > span{
    position: relative;
}


.finalFlow {
    position: relative;
}


.rowZero .flow > span{
    transform:scale(-1);
    margin-left: 2vw;
}

.number{
    flex-shrink: 0;
    width: 10vw;
    height: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #181D48;
    border-radius: 2px;
    position: relative;
    font-weight: bold;
}

.number span:not(.theme){
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: .45em;
}



.flow, .rowNineteen p {
    font-weight: 200;
    font-size: calc(14px + (24 - 14)* ((100vw - 320px)/(1400 - 320)));
    display: flex;
    flex-grow: 1;
    color: #1D1814;
}

.flow{
    padding: 0 2vw;
}
.rowNineteen p{
    padding: 0 1.5vw;
}

.flow,
.introFlow,
.rowNineteen p{
    opacity: 0;
    transition: opacity .15s ease-out;
}

.musicRow.active .flow,
.musicRow.active .introFlow,
.musicRow.active.rowNineteen p{
    opacity: 1;
    transition: opacity .15s ease-in;
    /*transition: opacity .3s ease-in .15s;*/
}

.musicRow.active{
    -webkit-box-shadow: 0px 0px 8px 4px rgba(24,29,72,.65);
    -moz-box-shadow: 0px 0px 8px 4px rgba(24,29,72,.65);
    box-shadow: 0px 0px 8px 4px rgba(24,29,72,.65);
    border-bottom: none;
    position: relative;
    transition: all .15s linear;
}

.musicRow.rowZero.active,
.musicRow.rowNineteen.active{
    box-shadow: none;
}

.musicRow.rowZero.active .flow{
    -webkit-box-shadow: 8px 0px 8px 4px rgba(24,29,72,.65);
    -moz-box-shadow: 8px 0px 8px 4px rgba(24,29,72,.65);
    box-shadow: 8px 0px 8px 4px rgba(24,29,72,.65);
    border-bottom: none;
    position: relative;
    transition: all .15s linear;
}


.musicRow.rowNineteen.active .finalFlow{
    -webkit-box-shadow: -8px 0px 8px 4px rgba(24,29,72,.65);
    -moz-box-shadow: -8px 0px 8px 4px rgba(24,29,72,.65);
    box-shadow: -8px 0px 8px 4px rgba(24,29,72,.65);
    border-bottom: none;
    position: relative;
    transition: all .15s linear;
}

.musicRow.rowZero.active .flow span,
.musicRow.active .number,
.rowNineteen.active .finalFlow > span{
    background-color: #FAD02C;
    border-color: #FAD02C;
    transition: all .15s linear;
}

.musicRowIndicator{
    position: fixed;
    top: 403px; 
    left: 0;

    width: 0px;
    height: 0px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid #FAD02C;
    opacity: 0;
}

.musicRow.active.inPause .musicRowIndicator{
    top: 404px;
    left: -4px;
    width: 13px;
    height: 13px;
    border-top: 0px solid transparent;
    border-bottom: 0px solid transparent;
    border-right: 0px solid transparent;
    border-left: 9px double #FAD02C;
    margin-left: 4px;
    opacity: 1;
}

.musicRowIndicator.is-visible{
    opacity: 1;
}

svg{
    max-width: 100%;
}

.stickyContainer{
    position: relative;
}

.orchestraRow{
    background-color: #FAD02C;
    /*background-color: #181D48;*/
    background: #ffffff;
    width: 100%;
    height: 380px;
    display: flex;
    align-items: center;
    overflow: hidden;
    z-index: 10;
    /*  position: sticky;
    top: 0;*/
}
.orchestraRow .wrapContainer{
    display: flex;
    align-items: center;
}

.orchestraRow h2{
    color: #ffffff;
    font-size: .875rem;
    position: absolute;
    top: -.85em;
    text-align: center;
    line-height: 1;
    z-index: 1;
    text-transform: uppercase;
    padding: .15em .5em;


    /*
    padding: .15em 1.5em .15em .5em;
    background: #181D48 url(../img/icon-info.svg) no-repeat 92px 1px;
    background-size: 14px;*/
}



.instruments{
    flex-grow: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    overflow: hidden;
}

.instrument{
    position: relative;
    display: inline-block;
    height: 77px;
    margin: 4px 4.75px 12px 4.75px;
    display: flex;
    align-items: center;
    background-color: #ffffff; /* trick per risolvere conflitto mix-blend-mode e transform */
    z-index: 0;
}
.instrument img{
    max-height: 64px;
    width: auto;
}



/*.instrument.rotate{
transform: rotate(22deg);
}*/

.instrument:before{
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    background-color: transparent;
    transition: all .15s ease-out;
    mix-blend-mode: overlay;
}
.filterSolista:before{
    background-color: #b70033;
    transition: all .15s ease-in;
}
.filterAccompagnamento:before{
    background-color: #033d8c;
    transition: all .15s ease-in;
}
.filterRitmo:before{
    background-color: #A78500;
    mix-blend-mode: color;
    transition: all .15s ease-in;
}


.legend{
    position: relative;
}
.legend:after{
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    bottom: -3px;
}

.legend.filterSolista:after {
    border-bottom: 5px solid #b70033;
}
.legend.filterAccompagnamento:after {
    border-bottom: 5px solid #033d8c;
}

.legend.filterRitmo:after {
    border-bottom: 5px solid #A78500;
}

.instrumentLegend{
    position: relative;
    margin-top: 7vh;
    padding: 10px 10px 35px 10px;
    font-size: .75rem;
    line-height: 1.2rem;
    background-color: #ffffff;
    border-radius: 16px;
}

.instrumentLegendWrap{
    display: flex;
}

.instrumentLegend > h2{
    flex-basis: 100%;
    text-align: center;
    margin: 0 0 .75em 0;
    font-size: 1.25em;
    font-weight: bold;
    text-transform: uppercase;
}

.instrumentLegend__dynamics{
    position: relative;
    margin-left: 15px;
    flex-shrink: 0;
}
.instrumentLegend__dynamics p{
    text-transform: uppercase;
    margin-bottom: 10px;
}

.instrumentLegend__dynamics li{
    position: relative;
}

.instrumentLegend__dynamics .svgWrap{
    display: none;
    width: 16px;
    height: 18px;
    position: absolute;
    top: 0px;
    left: -20px;
}

.instrumentLegend__dynamics svg{
    max-width: 100%;
    height: auto;
}
.instrumentLegend__dynamics:after{
    content:"";
    width: 60px;
    height: 60px;
    position: absolute;
    bottom: -45px;
    left: 32%;
    background: url(../img/arrow-d.png) no-repeat 0 0;
}

.instrumentLegend ul{
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 1;
}

.instrumentLegend li{
    list-style: none;
    /* margin: 5px 0; */
    cursor: pointer;
}


.instrumentLegend__img{
    flex-basis: 34%;
    max-width: 34%;
    flex-basis: 45%;
    max-width: 45%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    max-height: 150px;
    position: relative;
    background: url(../img/strumenti/arpa.png) no-repeat center top;
    background-size: contain;
}

.instrumentLegend__img > img{
    max-height: 98%;
    width: auto;
}

.instrumentLegend__img:before{
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    background-color: transparent;
    transition: all .15s ease-out;
    mix-blend-mode: overlay;
}


.instrumentLegend__img svg{
    max-width: 30px;
    height: auto;
}
.instrumentLegend__img .dynamics{
    margin: 0 0 -35px -30px;
}
.instrumentLegend__structure{
    position: relative;
}
.instrumentLegend__dynamics a, .instrumentLegend__structure a{
    text-decoration: none;
    color: #181d48;
    cursor: default;
}

.instrumentLegend__structure p{
    margin: 0 0 5px 0;
    text-transform: uppercase;
}

.instrumentLegend__structure span{
    position: relative;
    padding-left: 15px;
    display: block;
    margin: 5px 0;
    cursor: pointer;
}

.instrumentLegend__structure:before{
    content:"";
    width: 35px;
    height: 100%;
    position: absolute;
    top: -5px;
    left: -45px;
    background: url(../img/arrow.png) no-repeat 0 0;
}

.instrumentLegend__structure span:before{
    content:'';
    width: 8px;
    height: 8px;
    position: absolute;
    top:.2em;
    left: 0;
    border-radius: 50%;
    transition: background-color .15s ease-in;
}

.instrumentLegend .instrumentLegend__img ul{
    width: 40px;
    height: 38px;
    overflow: hidden;
}
.instrumentLegend .instrumentLegend__img ul li{
    display: none;
}
.instrumentLegend.has-highlight .instrumentLegend__img ul li:first-child,
.instrumentLegend.has-highlight-ritmo .instrumentLegend__img ul li:first-child,
.instrumentLegend.has-highlight-accompagnamento .instrumentLegend__img ul li:first-child{
    display: block;
}

/* solista - default */

.instrumentLegend.has-highlight .instrumentLegend__img svg g{
    fill:#b70033;
}

.instrumentLegend.has-highlight .instrumentLegend__structure span.tema:before,
.instrumentLegend.has-highlight .instrumentLegend__img:before{
    background-color: #b70033;
    transition: background-color .15s linear;
}

.instrumentLegend.has-highlight .instrumentLegend__dynamics li:first-child .svgWrap,
.instrumentLegend.has-highlight-ritmo .instrumentLegend__dynamics li:first-child .svgWrap,
.instrumentLegend.has-highlight-accompagnamento .instrumentLegend__dynamics li:first-child .svgWrap{
    display: block;
}

/* ritmo */

.instrumentLegend.has-highlight-ritmo .instrumentLegend__img svg g{
    fill:#A78500;
    transition: fill .15s ease-out;
}
.instrumentLegend.has-highlight-ritmo .instrumentLegend__structure span.ritmo:before,
.instrumentLegend.has-highlight-ritmo .instrumentLegend__img:before{
    background-color: #A78500;
    transition: background-color .15s ease-out;
}


/* accompagnamento */

.instrumentLegend.has-highlight-accompagnamento .instrumentLegend__img svg g{
    fill:#033D8C;
    transition: fill .15s ease-out;
}
.instrumentLegend.has-highlight-accompagnamento .instrumentLegend__structure span.accompagnamento:before,
.instrumentLegend.has-highlight-accompagnamento .instrumentLegend__img:before{
    background-color: #033d8c;
    transition: background-color .15s ease-out;
}



.instrument:after{
    content: '';
    position: absolute;
    top: 96%;
    left: calc(50% - 8px);
    width: 16px;
    height: 14px;
}

/*.instrument.rotate:after{
top: calc(100% + 6px);
}*/



.filterSolista.pianissimo:after{
    background: url(../img/dinamica/pianissimo-solista.svg) no-repeat 0 bottom;    
    background-size: cover;
}
.filterSolista.piano:after{
    background: url(../img/dinamica/piano-solista.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterSolista.mezzopiano:after{
    background: url(../img/dinamica/mezzopiano-solista.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterSolista.mezzoforte:after{
    background: url(../img/dinamica/mezzoforte-solista.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterSolista.forte:after{
    background: url(../img/dinamica/forte-solista.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterSolista.fortissimo:after{
    background: url(../img/dinamica/fortissimo-solista.svg) no-repeat 0 bottom;
    background-size: cover;
}


/*.filterSolista.rotate:after{
top: calc(100% + 5px);
}*/

.filterAccompagnamento.pianissimo:after{
    /*background-color: #033d8c;
    border-radius: 50%;*/
    background-size: contain;
    background: url(../img/dinamica/pianissimo-accompagnamento.svg) no-repeat 0 bottom;    
    background-size: cover;
}
.filterAccompagnamento.piano:after{
    background: url(../img/dinamica/piano-accompagnamento.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterAccompagnamento.mezzopiano:after{
    background: url(../img/dinamica/mezzopiano-accompagnamento.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterAccompagnamento.mezzoforte:after{
    background: url(../img/dinamica/mezzoforte-accompagnamento.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterAccompagnamento.forte:after{
    background: url(../img/dinamica/forte-accompagnamento.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterAccompagnamento.fortissimo:after{
    background: url(../img/dinamica/fortissimo-accompagnamento.svg) no-repeat 0 bottom;
    background-size: cover;
}


.filterRitmo.pianissimo:after{
    /*background-color: #296F17;*/
    /*background-color: #FAD02C;*/
    background: url(../img/dinamica/pianissimo-ritmo.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterRitmo.piano:after{
    background: url(../img/dinamica/piano-ritmo.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterRitmo.mezzopiano:after{
    background: url(../img/dinamica/mezzopiano-ritmo.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterRitmo.mezzoforte:after{
    background: url(../img/dinamica/mezzoforte-ritmo.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterRitmo.forte:after{
    background: url(../img/dinamica/forte-ritmo.svg) no-repeat 0 bottom;
    background-size: cover;
}
.filterRitmo.fortissimo:after{
    background: url(../img/dinamica/fortissimo-ritmo.svg) no-repeat 0 bottom;
    background-size: cover;
}

/*.instruments .filterSolista:after{
filter: drop-shadow(0px 0px 0px rgba(183, 0, 51, 1));
animation: pulseSolista 2s infinite;
}

.instruments .filterAccompagnamento:after{
box-shadow: 0 0 0 0 rgba(3, 61, 140, 1);
animation: pulseAccompagnamento 2s infinite;
}

.instruments .filterRitmo:after{
box-shadow: 0 0 0 0 rgba(250, 208, 54, 1);
animation: pulseRitmo 2s infinite;
}

@keyframes pulseSolista {
0% {
filter: drop-shadow(0px 0px 0px rgba(183, 0, 51, .85));
}

70% {
filter: drop-shadow(0px 0px 4px rgba(183, 0, 51, .3));
}

100% {
filter: drop-shadow(0px 0px 0px rgba(183, 0, 51, 0));
}
}
@keyframes pulseAccompagnamento {
0% {
box-shadow: 0 0 0 0 rgba(3, 61, 140, 0.85);
}

70% {
box-shadow: 0 0 0 4px rgba(3, 61, 140, 0);
}

100% {
box-shadow: 0 0 0 0 rgba(3, 61, 140, 0);
}
}

@keyframes pulseRitmo {
0% {
box-shadow: 0 0 0 0 rgba(250, 208, 54, 0.85);
}

70% {
box-shadow: 0 0 0 4px rgba(250, 208, 54, 0);
}

100% {
box-shadow: 0 0 0 0 rgba(250, 208, 54, 0);
}
}*/



/*.instrument.rotate:after{
transform: rotate(-22deg);
}*/



/*.musicInstrument{
margin-left: 20px;
max-width: 75px;
max-height: 75px;
}
.musicInstrument g{
fill: #ffffff;
fill:#E9EAEC;
}

.musicInstrument.has-highlight g{
fill: #FAD02C;
}


.musicInstrument.has-theme-highlight g{
fill: #FAD02C;
}*/



.rows{
    background-color: #E9EAEC;
    position: relative;
}

.btn{
    display: inline-block;
    padding: 0.45em 0.75em;
    background-color: #181D48;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    border-radius: 8px;
    transition: background-color .15s linear;
}

.btn:hover{
    /*background-color: #FAD02C;
    color: #181D48;*/
    background-color: #033d8c;
    transition: background-color .15s linear;
}
.btn-start{
    position: relative;
    cursor: default;
}
.btn-start span{
    visibility: hidden;
}

.loaded .btn-start{
    background-color: #EC0133;
    cursor: pointer;
}

.loaded .btn-start:hover{
    background-color: #181D48;
}

.loaded .btn-start span{
    visibility: visible;
}

.spinner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.spinner > div {
    width: 18px;
    height: 18px;
    margin: 0 5px;
    background-color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    -webkit-animation: bouncedelay 1.4s infinite ease-in-out both;
    animation: bouncedelay 1.4s infinite ease-in-out both;
}

.cover .spinner > div {
    width: 14px;
    height: 14px;
}

.musicRow .spinner > div {
    width: 5px;
    height: 5px;
    margin: 0 3px;
}

.rowZero .spinner > div,
.rowNineteen .spinner > div{
    margin: 3px 0; /* perché ruotati */
}


.number span, 
.rowZero .flow span span, 
.rowNineteen .finalFlow span span{
    visibility: hidden;
}

.loaded.musicRow .number span,
.loaded.musicRow.rowZero .flow span span,
.loaded.musicRow.rowNineteen .finalFlow span span
{
    visibility: visible;
}

.loaded.musicRow .spinner
{
    display: none;
}

/* OVERLAY ORCHESTRA
.orchestraOverlay{
background-color: #ffffff;
padding: 40px 30px;
width: 320px;
position: fixed;
height: 67vh;
top: 5vh;
border-radius: 24px;
z-index: 10;
visibility: hidden;
border: 8px solid #EC0133;
}

.orchestraOverlay h3{
font-size: 1.25rem;
text-align: left;
font-weight: bold;
margin-top: 0;
}

.orchestraOverlay > div{
height: 100%;
overflow-y: scroll;
}

.orchestraOverlay.is-open{
visibility: visible;
transition: all .3s ease-out;
}

.orchestraOverlay ul{
padding: 0;
}
.orchestraOverlay li{
display: flex;
align-items: center;
padding: 5px 0;
list-style: none;
}
.orchestraOverlay li > div{
width: 50px;
flex-shrink: 0;
margin-right: 10px;
text-align: center;
}

.orchestraOverlay .btn-close{    
width: 24px;
height: 24px;
border-radius: 50%;
position: absolute;
top: 15px;
right: 15px;
font-size: 18px;
line-height: 18px;
padding: 3px;
cursor: pointer;
outline: none;
background:#EC0133;
color: #ffffff;
}

.orchestraOverlay .btn-close:hover{
background: rgba(255, 34, 51, .95);
}
*/

/* Hide scrollbar for Chrome, Safari and Opera */
.orchestraOverlay > div::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.orchestraOverlay > div {
    -ms-overflow-style: none;  
    scrollbar-width: none;  
}

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

.instrumentLegend a[href="#trackZero"]:focus {
    clip: auto;
    height: auto;
    width: auto;
    z-index: 100;

    left: 50%;
    transform: translateX(-50%);
    top: -2em;
    border-radius: 7px;
    padding: 0.15em 0.75em;
    font-size: 1em;
    background-color: #EC0133;
    color: #ffffff;
    text-decoration: none;
}

@media(min-width:768px){
    .musicRow .spinner > div {
        width: 10px;
        height: 10px;
    }
}

.spinner .bounce1 {
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.spinner .bounce2 {
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

@-webkit-keyframes bouncedelay {
    0%, 80%, 100% { -webkit-transform: scale(0) }
    40% { -webkit-transform: scale(1.0) }
}

@keyframes bouncedelay {
    0%, 80%, 100% { 
        -webkit-transform: scale(0);
        transform: scale(0);
    } 40% { 
        -webkit-transform: scale(1.0);
        transform: scale(1.0);
    }
}

.loaded .btn .spinner{
    display: none;
}



.muteBtn{
    opacity: 0;
    cursor: pointer;    
    width: 18px;
    height: 18px;
    transform: translateY(12px);
}
.muteIcon {
    width: 48px;
    height: 48px;
    background: url(../img/unmute.svg) no-repeat center;
    cursor: pointer;
    background-size: 20px;
}

.mute-on {
    background-image: url(../img/mute.svg);
    background-size: 20px;
}


.rowZero{
    background:#8bb7e3;
    background: -moz-linear-gradient(left, #E9EAEC 0%, #E9EAEC 89%, #E9EAEC 89%, #8bb7e3 89%, #8bb7e3 100%);
    background: -webkit-linear-gradient(left, #E9EAEC 0%,#E9EAEC 89%,#E9EAEC 89%,#8bb7e3 89%,#8bb7e3 100%);
    background: linear-gradient(to right, #E9EAEC 0%,#E9EAEC 89%,#E9EAEC 89%,#8bb7e3 89%,#8bb7e3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E9EAEC', endColorstr='#8bb7e3',GradientType=1 );  
}


.rowOne, .rowFive,.rowNine, .rowThirteen, .rowSeventeen,
.rowTwo, .rowSix, .rowTen, .rowFourteen{
    background: #61A0DD;
}

.rowOne, .rowFive,.rowNine, .rowThirteen{
    border-bottom: 1px dashed #2B85D4; 
}

.themeA{
    background: #61A0DD;
    padding: 0 10px;
}

.noBorderColor{
    border-bottom: 1px dashed transparent;
}

.rowThree, .rowSeven, .rowEleven, .rowFifteen,
.rowFour, .rowHeight,  .rowTwelve, .rowSixteen,.rowHeighteen{
    background: #388CD6;
}

.rowThree, .rowSeven, .rowEleven, .rowFifteen{
    border-bottom: 1px dashed #61A0DD; 
}

.themeB{
    background: #2B85D4;
    padding: 0 10px;
}

.rowHeighteen{
    z-index: 1;
}

.rowNineteen{
    background-color: #90ADC6;
}

/*.rowNineteen .wrapContainer{
height: 100%;
}*/

.rowNineteen .finalFlow{
    margin-left: -1.5vw;
    padding-left: 1.5vw;
    height: 100%;
    width: 76vw;
    /*width: 74.97vw;*/
    background-color: #8bb7e3;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 0;
}

.rowNineteen .finalFlow > span{
    margin-right: 2vw;
    text-transform: uppercase;
}

.rowNineteen.active .finalFlow{
    -webkit-box-shadow: -8px 0px 8px 4px rgba(24,29,72,.65);
    -moz-box-shadow: -8px 0px 8px 4px rgba(24,29,72,.65);
    box-shadow: -8px 0px 8px 4px rgba(24,29,72,.65);
    border-bottom: none;
    position: relative;
}


.progress {
    width: 0%;
    height: 5px;
    position: absolute;
    bottom: 0;
    background: #EC0133;
}

.progress.full {
    /*animation: progressFull 41.907s linear infinite;*/
    overflow: hidden;
}

.progress.partial {
    /*animation: progressPartial 5.2s linear infinite;*/ /*versione def*/
    /*animation-delay:  -36.7s; versione con barra completa fino alla battuta 16*/
    overflow: hidden;
    left: 89%;
}

.progress:after {
    content: '';
    width: 100vw;
    height: 5px;
    position: absolute;
    left: 0;
    top: 0;

    background-image: linear-gradient(90deg, #ffffff 5.57%, transparent 5.57%, transparent 100%, #ffffff 100%, #ffffff 55.57%, transparent 55.57%, transparent 100%);
    background-size: 5.57% 5px;
    background-position:  5.55% 0;
}


/*@keyframes progressFull {
0% {
width: 0%;
}

100% {
width: 100%;
}
}

@keyframes progressPartial {
0% {
width: 0;
}


100% {
width: 11%;
}
}
*/


.bars{
    display: inline-block;
    padding: 0 5px;
    position: relative;
}


.highlight{
    position: fixed;
    right: 0;
    bottom: 0;
}



.highlight img{
    max-height: 25vh;
    opacity: 0;
}

.highlight.is-visible img{
    opacity: 1;
    transition: opacity .3s linear 1s;
}

#curveSvg{
    position: fixed;
    bottom: -10%;
    height: 100%;
    z-index: -1;
    left: 50%;
    transform: translateX(-50%);
    max-height: 35vh;
}


footer{
    display: flex;
    align-items: center;
    padding: 15vh 0 0 0;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
}

footer figure{
    max-width: 46ch;
}

.threeCols{
    display: grid;
    -moz-column-gap: 2em;
    column-gap: 2em;
    row-gap: 1em;
    text-align: left;
    font-size: 1em;
    padding: 0 5vw 3.5vh 5vw;
}
.threeCols .title {
    display: block;
    margin-top: .75em;
    margin-bottom: .15em;
    text-transform: uppercase;
    font-weight: bold;
}
.threeCols p{
    max-width: 50ch;
    margin-bottom: .35em;
}

.threeCols p svg {
    transform: translateX(0.1em);
}

.threeCols a{
    display: inline-block;
    color: #181D48;
}

footer button[popovertarget=popoverCookies] {
    margin-top: .25em;
    background: none;
    color: #181D48;
    font-family: 'Quattrocento', serif;
    font-size: 1em;
    text-decoration: underline;
    padding: 0;
    cursor: pointer;
}
footer button[popovertarget=popoverCookies]:focus-visible, #popoverCookies button[popovertargetaction]:focus-visible, .logo:focus-visible {
outline: 2px solid #181D48;
    outline-offset: 2px;
}

.bottom{
    flex-basis: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 15vh 0 20px 0;
}
.bottom p{
    margin-top: 5px;
    margin-bottom: 0;
}

.bottom a{
    color: #181D48;
}
.popover {
    padding: 15px;
    background-color: #90ADC6;
    border-radius: 10px;
    position: fixed;
    top: 0;
    width: calc(100% - 30px);
    max-height: 96vh;
    overflow-y: scroll;
    margin: auto;
    max-width: 400px;
    text-align: left;
}

popover button[type=submit]{
    margin-top:.75em;
    padding:.5em 1.5em;
    background-color:#181D48;
    color: #ffffff;
    transition:all .15s linear;
}
    .popover button[type=submit]:hover{
        background-color:rgba(0,2,4,.75);
        transition:all .15s linear
    }

    .popover p.small{
        display:block;font-size:.75em;
        text-align:right;
    }

    .popover::-webkit-scrollbar{
        display:none}
        .popover::backdrop{background-color:rgba(0,2,4,.75)}
 
    #popoverCookies p{
        font-size:1em
}
#popoverCookies button[popovertargetaction]{
    background: none;
    font-family: 'Quattrocento', serif;
    font-size: 1em;
    text-decoration:underline;
    cursor: pointer;}

.quote{
    max-width: 20ch;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.2;
    position: relative;

}

blockquote{
    /*font-family: 'Sacramento', cursive;*/
    margin: 0;
}


figcaption{
    display: inline-block;
    position: relative;
    transform: rotate(-5deg);
    margin-top: 1em;
    padding: 5px 15px;
    background-color: #ffffff;
}

figcaption span{
    font-size: 24px;
    color: #EC0133;
}



.buttonBar{
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    display: flex;
    opacity: 0;
}

.buttonBar.is-visible{
    position: fixed;
    z-index: 10;
    opacity: 1;
    transition: opacity .15s ease-out .2s;
}

.buttonBar.is-scrolling {
    position: absolute;
    top: 20px;
    bottom: auto;
}

.buttonBar .btn{
    border-radius: 50%;
    margin: 0 5px;
    padding: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: rgba(24, 0, 0, .75);
}

.buttonBar button{
    padding: 0;
    margin: 0;
    border: none;
}


.buttonBar .btn.js-btn-pp{
    width: 64px;
    height: 64px;
    position: relative;
}

.js-btn-pp button.play{
    width: 0px;
    height: 0px;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-left: 27px solid #ffffff;
    visibility: hidden;
    margin-left: 8px; 
}

.js-btn-pp .spinner > div {
    width: 12px;
    height: 12px;
    margin: 0 2px;
}

.loaded .js-btn-pp button.play{
    visibility: visible;
}

.js-btn-pp button{
    cursor: pointer;
    background-color: transparent;
}

.js-btn-pp button.pause{
    width: 25px;
    height: 25px;
    border-style: double;
    border-width: 0px 0px 0px 24px;
    border-color: #ffffff;
}

.js-btn-stop button{ 
    width: 18px;
    height: 18px;
    background-color: #ffffff;
    cursor: pointer;
}

.js-btn-stop:focus-visible, .js-btn-pp:focus-visible, .js-btn-visible:focus-within, .is-focused, a:focus-visible{
    outline: 2px solid #181D48;
    outline-offset: 2px;
}
.btn-close:focus-visible{
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.gramophone button{
    background: transparent;
}

.gramophone button:focus{
   outline: none;
}


.gramophone button:focus-visible:after{
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.js-btn-pp button:focus,
.js-btn-stop button:focus{
    outline: none;
} 

button{
    appearence: none;
    -moz-appearance: none;
    border: none;
    background: rgba(0,0,0,85);
}

.gramophone{
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: -1;
    opacity: 0;
    transform: translateX(100%);
    transition: all .3s ease-in;
    cursor: pointer;
    will-change: transform, opacity, z-index;
}

.gramophone button:after{
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    right: 2px;
    bottom: 40px;
    background: url(../img/icon-info.svg) no-repeat 0 0;
    background-size: contain;
}

.gramophone img{
    max-width: 100%;
    height: auto;
}
.gramophone.is-visible{
    z-index: 10;
    opacity: 1;
    transform: translateX(0);
    transition: all .3s ease-out .15s;
    /*animation: translation .6s linear forwards;*/
}


.overlay {
    width: 100vw;
    height: 100vh;
    position: fixed;
    bottom: 12px;
    right: 10px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    z-index: 11;
    visibility: hidden;
    /*transform: scale(0);*/
    transform-origin: right bottom;
    transition: all .3s ease-in .1s;
    will-change: visibility;
}

.overlay.is-open{
    bottom: 0;
    right: 0;
    visibility: visible;
    /*transform: scale(1);*/
    transform-origin: right bottom;
    transition: all .3s ease-out;
}

.overlay__content{
    position: absolute;
    padding: 0 22vw;
    right: 0;
    bottom: 125px;
    opacity: 0;
    transition: opacity .1s ease-out;
}

.overlay img{
    width: 20vw;
    height: auto;
    visibility: hidden;
    transform:  translateX(10%) translateY(10%);
    transition: all .3s ease-in .1s;
}



.overlay.is-open  .overlay__content{
    opacity: 1;
    transition: opacity .1s ease-in .2s;
}
.overlay.is-open img{
    width: 100%;
    visibility: visible;
    transform:  translateX(10%) translateY(10%);
    transition: all .2s ease-out;
}


.overlay__content span{
    display: block;
    margin: 10px 0;
    color: #ffffff;
}

.overlay .btn-close{    
    width: 24px;
    height: 24px;
    background: #ffffff;
    border-radius: 50%;
    float: right;
    margin: -15px 0 0 0;
    font-size: 18px;
    line-height: 18px;
    padding: 3px;
    cursor: pointer;
}

.overlay .btn-close:hover{
    background: rgba(255, 255, 255, .95);
}

.overlay .title{
    padding: 0 0 15px 0;
    font-size: .875em;
    display: inline-block;
    background: url(../img/separatore-bianco.png) no-repeat center bottom;
    background-size: contain;
}

/*@keyframes translation {
0% {
width: 0%;
}

100% {
width: 100%;
}*/


@media(min-width: 360px) {
    .instrument img{
        max-height: 76px;
    }
}
@media(max-width: 639px) {
    #ida, #maurice{
        position: relative;
    }

    /* #ida img{
    margin-right: -60px;
} */
    #ida #shoes{
        margin-right: 0px;
    }
    .wrapIntroSecond{
        order: 3;
    }
}


@media(min-width: 640px) {
    .instrument{
        height: 100px;
    }
    .instrument img{
        max-height: 100px;
    }

    #shoes, #piano{
        display: none;
    }









    #introContainer{
        position: relative;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: space-between;
    }


    #introContainer .wrapIntroSecond{
        order: 3;
    }

    #maurice{
        /*width:30vw;
        height: 50vh;*/
        width: 230px;
        height: 368px;
    }


    #maurice img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    #ida {
        width: 230px;
        height: 349px;
        order: 2;
    }


    .wrapIntro{
        width:60vw;
        display: flex;
        justify-content: flex-end;
    }

    .textIntro{
        padding: 32px 5vw;
        position: relative;
    }

    .textIntro > div{
        max-width: 46.5ch;
        transform: rotate(-2deg);
    }

    .font-loaded .textIntro > div{
        max-width: 45ch;
    }


    .wrapIntroSecond{
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
    }
    .wrapIntroSecond .textIntro{
        width: 50vw;
    }

    .wrapIntroSecond .textAlone{
        width: 75vw;
        padding: 0 10vw;
    }

    .wrapIntroSecond .textIntro > div{
        transform:  rotate(-2deg);
        max-width: 33ch;
    }

    /*.wrapIntroSecond .textIntro > div:first-of-type,
    .wrapIntroSecond .textIntro > div:last-of-type{
    transform:  rotate(2deg);
}*/
    .wrapIntroSecond .textIntro > div:first-of-type{

    }
    /*.wrapIntroSecond .textIntro > div:last-of-type{
    margin-bottom: 5vh;
}*/



    .flex{
        display: flex;
    }
    .instrumentLegend{
        margin-left: -30px;
        margin-right: -20px;
    }
}


@media (max-width: 767px) {
    .bSx, .bDx{
        display: none;
    }
    .balloons{
        position: relative;
        font-weight: bold;
        text-align: center;
        margin: 0 auto 5vh auto;
        width: 317px
    }
    .balloons p{
        position: absolute;
        font-size: 1.25rem;
    }

    .balloons span{
        display: block;
        font-size: 1.75rem;
    }

    .balloons p:nth-child(1){
       top: 45px;
        left: 65px;
    }

    .balloons p:nth-child(2){
        top: 85px;
         left: 150px;
     }

    .balloons{
       display: flex;
       justify-content: center;;
    }

    nav ul{
        margin: 5px 0 0 10px;
        padding: 0;
    }


    .instruments{
        padding-bottom: 15px;
    }


    .orchestraRow h2{
        background-color: #181d48;
    }

    .orchestraRow .wrapContainer{
        margin: 0 5vw 0 1vw;
    }

    .logo{
        height: 75px;
        max-width: 20px;
        top:0;
    }



    .instrumentLegend{
        margin:20px -10px 20px -10px;
        padding: 10px 10px 35px 10px;
        max-width: 360px;
    }

    .number{
        width: 40px;
        height: 40px;
        font-size: 22px;
        margin-left: 5px;
    }
    .rowZero .introFlow {
        margin-left: calc(-1.5vw + 5px);
    }


    .btn-start{
        margin-bottom: 5vh;
    }

    .rowNineteen {
        font-size: .875rem;
    }

    .musicRow.rowZero .flow{
        display: flex;
        /*margin-left: 87vw;*/
    }

    .introFlow, .flow p, .rowNineteen p{
        line-height: .97;
    }

}


@media (min-width:375px) and (max-width:767px){
    .orchestraRow .wrapContainer {
        margin: 0 5vw 0 3vw;
    }
}


@media(min-width:768px){
    .coverContainer{
        position: sticky;
        /*height: 100vh;*/
        height: 60vmin;
        margin:10vh 0 30vh 0;

        display: grid;
        grid-template-columns: 200px 350px 200px;
        justify-content: center;
    }

    .balloons{
        display: none;
    }

    .coverContainer .bSx{
        grid-column: 1;
        grid-row: 1;
    }


    .coverContainer .cover{
        grid-column: 2;
        grid-row: 1;
    }


    .coverContainer .bDx{
        grid-column: 3;
        grid-row: 1;
    }

    .bSx, .bDx {
        position: relative;
        font-weight: bold;
        text-align: center;
    }

    .bSx p, .bDx p{
        position: absolute;
        font-size: 1.25rem;
    }

    .bSx span, .bDx span{
        display: block;
        font-size: 1.75rem;
    }

    .bSx p{
       top: 40px;
        left: 30px;
    }

    .bDx p{
        top: 40px;
         left: 70px;
     }
     .logo{
        height: 122px;
     }

    .threeCols {
        grid-template-columns: 1.5fr 1.5fr 1fr;
        justify-items: center;
    }
    /*.author{
    display: inline-block;
    position: relative;
    transition: all 0.2s ease-in-out;

}

    .author:after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0px;
    height: 5px;
    margin: 5px 0 0;
    transition: all 0.3s ease-in-out;
    opacity: 0;
    background: url(../img/underline.svg) repeat-x left bottom;
    transform: rotate(2deg);
}

    .author.underline:after{
    width: 100%;
    opacity: 1;

}
    */
    /* .dancer, .author{
    display: inline-block;
    position: relative;
    padding: 0 5px;
}*/

    /*  .author svg, .dancer svg{
    display: inline-block;
    position: absolute;
    transform: translateY(-37%);
    top: 0;
    left: 0;
    stroke-dasharray: 636;
    stroke-dashoffset: 636;
}
    */



    /*  .hoop svg {
    animation: dash .6s linear forwards;
}

    @keyframes dash {
    to {
    stroke-dashoffset: 0;
}
}*/



    #maurice{
        /*width:30vw;
        height: 50vh;*/
        width: 230px;
        height: 368px;
    }


    #maurice img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    #ida {
        transform: translateY(-30vh);
    }



    .wrapIntro .textIntro{
        /* transform: translateY(-10vh);*/
        transform: translateY(-20vh);
    }


    .wrapIntroSecond{
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
    }
    .wrapIntroSecond .textIntro{
        width: 35vw;
    }

    /*.wrapIntroSecond .textIntro > div:first-of-type,
    .wrapIntroSecond .textIntro > div:last-of-type{
    transform:  rotate(2deg);
}*/
    .wrapIntroSecond .textIntro > div:first-of-type{

    }
    /*.wrapIntroSecond .textIntro > div:last-of-type{
    margin-bottom: 5vh;
}*/



    .flex{
        display: flex;
    }
    .instrumentLegend{
        margin-left: -30px;
        margin-right: -20px;
    }


    .musicRow {
        height: 120px;
    }


    .orchestraRow h2{
        font-size: .875rem;
        left: -.5px;
        padding: .25em 7vw;
        top: -3vw;
        left: -6vw;
        transform: rotate(-15deg);
        min-width: 30vw;
        text-align: left;
        background: #181D48;
        /*background: #181D48 url(../img/icon-info.svg) no-repeat calc(7.5vw + 83px) 2px;
        background-size: 16px;
        cursor: pointer;*/
    }


    .number{
        width: 72px;
        height: 72px;
        font-size: 2.5rem;
    }
    .theme{
    font-size: 2.5rem;
}
    .rowNineteen{
        font-size: 1.35vw;
    }

    .rowNineteen p{
        margin-left: 74px;
    }
    .flow{
        padding: 0 5vw;
    }

    .flow p, .rowNineteen p{
        max-width: 60vw;
    }


    .number span:not(.theme){
        bottom: .1em;
    }

    .instrument img{
        max-height: 100px;
    }
    .instrument {
        height: 100px;
    }

    .rowZero .introFlow{
        padding-left: calc(6.5vw + 74px);
        width: auto;
    }

    .gramophone button:after{
        width: 25px;
        height: 25px;
        right: 20px;
        bottom: 20px;
    }

    .musicRowIndicator{
        top: 400px; 
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 12px solid #FAD02C;
    }

    .musicRow.active.inPause .musicRowIndicator{
        top: 401px;
        left: -4px;
        width: 18px;
        height: 18px;
        border-top: 0px solid transparent;
        border-bottom: 0px solid transparent;
        border-right: 0px solid transparent;
        border-left: 12px double #FAD02C;
    }

    /*
    blockquote, figcaption{
    opacity: 0;
}*/


    .rowZero .flow span span, .rowNineteen .finalFlow span span{
        font-size: 1rem;
        padding: 1em 0;
    }



    .overlay{
        width: 50vw;
    }

    .overlay__content {
        padding: 0px 10vw;
    }
}

@media (min-width:768px) and (max-width:1023px){
    .orchestraRow{
        height: 360px;
    }

    .musicRowIndicator{
        top: 409px; 
    }

    .musicRow.active.inPause .musicRowIndicator{
        top: 411px;
    }

    .textIntro{
        padding: 32px 4vw;
    }

    .wrapIntro .textIntro {
        padding-left: 8vw;
    }

    .wrapIntroSecond .textIntro {
        transform: translateY(0vh);
        margin-bottom: 0;
        width: 35vw;
    }

    .wrapIntroSecond .textIntro > div {
        margin-bottom: 5vh;
    }

    .wrapIntroSecond .textIntro.textAlone{
        margin:  -10vh 0;
        width: 50vw;
        transform: translateY(-15vh);
    }
}


@media(max-width:1023px){
    .textIntro{
        font-size: 1.125rem;
    }

    .font-loaded .textIntro{
        font-size: 1rem;
    }

    .gramophone{
        max-width: 20vw;
    }
}

@media(min-width:1024px){

    .wrapIntro{
        width:70vw;
        display: flex;
        justify-content: flex-end;
    }
    .textIntro {
        padding-left: 10vw;
        padding-right: 5vw;
    }
    .wrapIntro .textIntro{
        transform: translateY(-30vh);
    }

    .wrapIntroSecond .textIntro {
        transform: translateY(0vh);
        margin-bottom: 5vh;
    }


    .wrapIntroSecond .textIntro.textAlone{
        margin: -10vh 0 0 5vw;
        width: 50vw;

    }

    .instrumentLegend{
        margin-left: -45px;
        margin-right: 0;
    }

    .instrumentLegendWrap{
        align-items: center;
    }
    .instrumentLegend__dynamics{
        flex-basis: 24%;    
    }
    .instrumentLegend__dynamics .svgWrap {
        width: 20px;
        height: 18px;
        left: -24px;
    }
    .instrumentLegend .instrumentLegend__img{
        min-height: 200px;
    }

    .instrumentLegend__structure{
        margin-top: -100px;
    }

    .instrumentLegend__structure:before{
        top:10px;
    }

    .instrumentLegend__structure span:before{
        width: 10px;
        height: 10px;
        top:4px;
    }

    .orchestraRow{
        height: 260px; 
    }

    .instrument{
        margin: 8px;
    }


    .instrument:after {
        left: calc(50% - 10px);
        width: 20px;
        height: 16px;
    }

    .musicRowIndicator{
        top: 310px; 
    }

    .musicRow.active.inPause .musicRowIndicator{
        top: 311px;
    }

    .overlay{
        width: 45vw;
    }

    .overlay__content{
        bottom: 30vh;
    }

    .overlay img{
        width: 200px;
    }

    .buttonBar .btn:hover{
        background: rgba(3, 61, 140, .75);
    }
}


@media (max-width:1199px){
    .instrumentLegendWrap{
        justify-content: space-between;
    }
}

@media (min-width:1024px) and (max-width:1439px){
    .instruments{
        max-width: 995px;
    }
}


@media(min-width:1200px){
    .instrumentLegend{
        padding: 20px 20px 50px 20px;
    }
    .instrumentLegend__dynamics{
        margin-left: 25px;
    }
    .instrumentLegend__dynamics:after{
        left: 50%;
    }

    .instrumentLegend__img .dynamics{
        margin:0 0 -50px -50px;
    }

    .coverContainer{
        grid-template-columns: 200px 600px 200px;
    }

    #maurice{
        width: 277px;
        height: 445px;
    }

    #ida{
        width: 360px;
        height: 549px;
    }


    .wrapIntro{
        width:60vw;
    }

    .textIntro {
        padding-left: 10vw;
    }
    .wrapIntroSecond{
        margin-top: -10vh;
    }

    .wrapIntroSecond .textIntro.textAlone{
        transform: translateY(-30vh);
        margin: 0 0 0vh 10vh;
        width: 50vw;
    }
}


@media(min-width:1440px){

    .orchestraRow{
        height: 360px;
    }

    .musicRowIndicator{
        top: 409px; 
    }

    .musicRow.active.inPause .musicRowIndicator{
        top: 411px;
    }



    .textIntro{
        font-size: 1.875rem;
        padding-left: 5vw;
    }


    .font-loaded .textIntro{
        font-size: 1.75rem;
    }

    /* .wrapIntro .textIntro p{
    max-width: 40ch;
}*/

    .instrumentLegend{
        font-size: .675em;
        margin-left: -20px;
        margin-right: -20px;
        max-width: 520px;
    line-height: 1.2em;
    }

    .instrumentLegend .instrumentLegend__img{
        min-height: 240px;

    }

    #maurice{
        width:350px;
        height: 561px;
    }

    #ida{
        width:440px;
        height: 671px;
        margin-top: -10vh;
    }

    .btn-start{
        padding: .5em 1em;
        font-size: 1.15em;
        background-color: #EC0133;
    }
    .instruments{
        max-width: 1300px;
    }
    .instrument {
        height: 150px;
    }
    .instrument img{
        max-height: 150px;
    }


    .instrument:after {
        left: calc(50% - 11px);
        width: 22px;
        height: 18px;
    }

    .overlay__content{
        font-size: 28px;
    }

}


@media(min-width:1600px){
    .textIntro {
        padding-left: 10vw;
    }
}

@media(min-width:1920px){
    .rowNineteen  {
        font-size: 1.4rem;
    }
}


/*@media (min-width:1024px) and (min-height: 768px){
.wrapIntroSecond{
margin-top: -15vh;
}
}*/



/*
@media(min-width: 1440px){
.wrapIntroSecond{
margin-top: -30vh;
}
}
*/
