body { display: flex; flex-direction: column; align-items: center; background-color: rgb(0,0,0); height: 100vh; overflow: hidden; } object { margin-bottom: 10px; } html { overflow-x: visible; } * { box-sizing: border-box; } #main-content { position: absolute; width: 100%; max-width: 800px; height: 100%; display: none; flex-direction: column; justify-content: center; align-items: center; opacity: 0; transition: opacity 2s ease; overflow: visible; } #about-content { position: relative; flex-direction: column; display: none; width: 80vw; max-width: 700px; padding-right: 10px; height: 100%; color: #fff; /* justify-content: center; */ align-items: center; font-family: 'Courier'; font-size: clamp(8pt, 3vw, 12pt); line-height: 1.2; margin: 20px; opacity: 0; transition: opacity 2s ease; } #loading-screen { position: absolute; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; transition: opacity 1s ease; } #buttons { display: none; opacity: 0; transition: opacity 1s ease; } .event-canvas { position: absolute; top: 0; left: -10px; height: 12vh; width: 102%; /* Matches JS padding */ display: block; pointer-events: none; overflow: visible; z-index: 9999; } .stave-wrapper { position: relative; display: block; width: 100%; height: 12vh; background-color: rgb(0,0,0); padding-top: 30px; padding-bottom: 20px; overflow: visible; z-index: 9995; } .logo { color: #fff; width: 20%; height: 20%; animation: rotate360 10s linear infinite; } .loading { font-family: Helvetica; font-size: 10pt; margin: 20px; } .instruments-key { position: relative; display: flex; margin: 8px; padding-top: 8% ; padding-bottom: 8% ; flex-direction: row; align-content: center; justify-content: space-around; } .instrument-key { display: flex; flex-direction: column; vertical-align: baseline; align-items: center; text-align: center; justify-content: space-between; width: clamp(10px,5rem,24px); font-size: clamp(8px, 1vw, 12px); } .sheet-music-window { position: relative; width: 80vw; max-width: 700px; height: 70%; margin: 0; background-color: rgb(0,0,0); margin-bottom: 100px; overflow: visible; } .conductor-title{ width: 40%; } .menu { position: fixed; padding: 40px; width: 21px; top: 0; left: 0; flex: 0 0 auto; z-index: 99; } .audio{ position: fixed; padding: 40px; width: 20px; top: 0; right: 0; flex: 0 0 auto; z-index: 10; } .about-title { top: 30px; width: 50%; } #logo-main{ width: 80px; height: 80px; margin-top: 60px; display: flex; opacity: 0.1; /* animation: rotate360 10s linear infinite; */ } .title{ top: 30px; width: 100%; margin-top: 40px; margin-bottom: 50px; text-align: center; color: white; background-color: rgb(0,0,0); /* height: 20vh; */ font-family: Helvetica; font-size: clamp(12px,1.1vw, 18px); opacity: 0.1; } .title-title { font-family: Helvetica; color: #fff; margin-top: 40px; font-size: clamp(18px,1.5vw, 24px); } .production-credits { font-size: smaller; } .tab-space::before { content: '\00a0\00a0\00a0\00a0\00a0\00a0'; /* 6 non-breaking spaces */ } .stave-svg { position: relative; z-index: 1; opacity: 0.3; } #time-indicator { position: absolute; top: 0; bottom: 0; width: 2px; height: 92%; background-color: rgb(0, 0, 0); z-index: 0; animation: moveRight 10s linear infinite; will-change: transform; } .fade-in { opacity: 1; } .fade-out { opacity: 0; transition: opacity 1s ease; } @keyframes rotate360 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @keyframes moveRight { 0% { left: 0; opacity: 1; } 95% { /* left: 95%; Move to the right edge minus any margins */ opacity: 1; } 100% { left: 100%; opacity: 0; } }