

.pp-bg2 {
    pointer-events: none;
}
.pp-bg3 {
    pointer-events: none;
}
.pp-container {
    width: 100%;
    box-sizing: border-box;
    min-height: 200px;
    /* border: 1px solid rgba(0, 0, 0, 0.2); */
    background: rgba(0,0,0,0.9); 
    background: rgba(0, 0, 0, 0.6);
    position: relative;
    outline: 0px solid rgba(255, 255, 255, 0);
    transition: outline 0.1s ease;
    border: 3px solid rgba(255, 255, 255, 0.2);
    background-clip: content-box;
    box-shadow: 0 4px 0 0 rgba(255,255,255,0.4);
}
.pp-active {
    outline: 6px solid rgba(223, 182, 255, 0.5);
        outline: 5px solid rgba(253, 208, 255, 0.2);
    box-shadow: none;
}

.pp-container2 {
    /* height: 100%;*/
    width: 100%;
    padding-top: 40px;
}
.pp-container3 {
    
}
.pp-lanes {
    /* position: absolute; */
    width: 100%;
    /* left: 0; */
    /* top: 0; */
    /* overflow: hidden; */
    /* height: 100%;*/
}
.pp-notes2,
.pp-lane {
    width: 100%;
    height: 44px;
    position: relative;
    top: 33px;
    left: 0;
}
.pp-lane {
    transform: translateZ(0);
}
.pp-key {
    color: #fff;
    opacity: 1;
    background: rgba(255, 255, 255, 0.04);
    background: rgba(0, 0, 0, 0.4);
    width: 26px;
    height: 22px;
    box-sizing: border-box;
    padding: 0;
    padding-top: 4px;
    padding-left: 1px;
    font-size: 15px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-bottom: 0;
    box-shadow: inset 0 0 25px #ffffff00, 0 0px 3px -1px rgb(255, 255, 255), 0 3px 0 rgba(255, 255, 255, 0.5), 0 2px 2px rgba(255, 255, 255, 0.2);border-radius: 6px;
    margin-top: -12px;
    top: 0;
    left: 15px;
    z-index: 2;
    transform: rotateZ(360deg);

}
.pp-line {
    position: absolute;
    height: 0px;
    background: #fff;
    opacity: 0.4;
    border-top: 1px solid #fff;
    box-shadow: 0 0 3px 0px rgba(255, 255, 255, 0.5);
    transition: 0.05s ease transform; 
    transform: scaleY(1) translateZ(0);
}
.pp-line1 {
    width: calc(50% - 33px - 18px - 15px);
    width: calc(50% - 33px - 2% - 4px - 15px);
    top: 0px;
    left: 48px;
}
.pp-line2 {
    width: calc(50% - 2% - 4px);
    top: 0px;
    right: 0;
}
.pp-square {
    width: 24px;
    width: 4%;
    height: 22px;
    position: absolute;
    border: 1px solid rgba(255, 255, 255);
    opacity: 0.4;
    box-sizing: border-box;
    border-radius: 6px;
    top: -10px;
    left: calc(50% - 12px);
    left: calc(50% - 2%);
    box-shadow: 0 0 3px 0px rgba(255, 255, 255, 0.5);
}
.pp-lane-click {
    
}
.pp-lane-click .pp-square {
    transform: scale(1.2);
    opacity: 0.9;
}
.pp-lane-click .pp-line {
    transform2: scaleY(2);
    opacity: 0.7;
}
.pp-lane-click .pp-key {
    box-shadow: inset 0 0 25px #1d1b2900, 0 1px 0 rgba(255, 255, 255, 0.5), 0 0px 3px -1px rgb(255, 255, 255);
    top: 3px;
}

.pp-lane2 {
    height: 100%;
}
.pp-lane-hit {
    animation: huerotate2 0.2s linear infinite; 
    animation: huerotate2 0.2s linear infinite; 
    opacity: 1; 
} 
.pp-lane-hit .pp-lane22 {
    filter: brightness(1000%) invert(50%) sepia(100%) saturate(300%) brightness(200%) hue-rotate(150deg);    
}
.pp-lane-hit2 .pp-line ,
.pp-lane-hit2 .pp-key ,
.pp-lane-hit2 .pp-square {
    filter: brightness(1000%) invert(50%) sepia(100%) saturate(300%) brightness(200%) hue-rotate(150deg);
}
.pp-lane-hit .pp-key {
    background: rgba(255, 255, 255, 0.5);
    box-shadow: inset 0 0 25px #1d1b2900, 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 8px -1px rgb(255, 227, 227);
    border: 1px solid rgb(255, 255, 255);
    animation: keyhit 0.2s ease 1;
}
.pp-lane-hit .pp-square {
    box-shadow: 0 0px 6px -1px rgb(255, 255, 255);
    transform: scale(1.3) translateZ(0);
    opacity: 1;
}
.pp-lane-hit .pp-line {
    box-shadow2: 0 0px 4px 0px rgb(255, 255, 255);
    transform: scaleY(6) translateZ(0);
    opacity: 1;
}

.pp-lane:nth-child(1){
    
}
.pp-lane:nth-child(2){
    
}
.pp-lane:nth-child(3){
    
}
.pp-lane:nth-child(4){
    
}


.pp-timeline-container {
    position: relative;
    width: 100%;
    bottom: 0;
    color: #fff;
    overflow: hidden;
    height: 35px;
    font-size: 13px;
    /* margin-bottom: 5px;  */
}
.pp-timeline {
    position: absolute;
    margin-left: 50%;
    left: 0;
    top: 0;
    height: 100%;
    color: #ddb0e3;
    width: 100%;
    pointer-events: none;
    will-change: transform;
}
.pp-timeline-line {
    /* width: 100%;*/
    height: 1px;
    background: currentColor;
    position: absolute;
    bottom: 7px;
    /* border-top: 1px dashed currentColor;*/
}
.pp-timeline-tags {
    
}
.pp-timeline-tag-container {
    position: absolute;
    bottom: 0;
}
.pp-timeline-tag {    
transform: translateX(-50%);
    margin-bottom: 11px;
}
.pp-timeline-vline {
    width: 1px;
    height: 8px;
    background: currentColor;
    position: absolute;
    bottom: 3px;
}
.pp-timeline-vline2 {
    height: 6px;
    bottom: 4px;
    /* opacity: 0.8;*/
}

.pp-notes-container {
    position: absolute;
    width: 100%;
    overflow: hidden;
    height: 100%;
    top: 0;
    left: 0;
    margin-top: 40px;
}
.pp-notes {
    position: absolute;
    margin-left: 50%;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    pointer-events: none;
    will-change: transform;
}
.pp-note t {
    /* color: #fff; */
    filter: brightness(1.5);
    text-shadow: 0 0 2px rgba(255, 255, 255, 0.5);
    pointer-events: none;
}
.pp-note {
    position: absolute;
    text-transform: uppercase;
    width: calc(4% + 6px);
    text-align: center;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: -1px;
    margin-top: -13px;
    height: 28px;
    border-radius: 9px;
    margin-left: calc(-2% - 3px);
    border: 3px double #fff;
    border: 3.2px double #fff;
    background-clip: padding-box;
    transition: opacity 0.5s ease;
    transition-delay: 0.5s;
    box-sizing: border-box;
    top: 0;
    left: 0;
    border-color: currentColor;
    background-color: currentColor;
    box-shadow: 0 0 6px -1px currentColor;
}
.pp-notes2:nth-child(1) .pp-note{
    color: #ff7272;
    background-color: rgba(255, 114, 114, 0.2);
}
.pp-notes2:nth-child(2) .pp-note{
    color: #44f0ff;
    /* color: #5cdce7; */
    background-color: rgba(68, 240, 255, 0.2);
}
.pp-notes2:nth-child(3) .pp-note{
    color: #5aff44;
    /* color: #7aff69; */
    background-color: rgba(90, 255, 68, 0.2);
}
.pp-notes2:nth-child(4) .pp-note{
    color: #fff744;
    /* color: #fff96d; */
    background-color: rgba(255, 247, 68, 0.2);
}
.pp-note-hit2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
}
.pp-note-hit {
   color: #44f0ff !important;
   background-color: rgba(255, 114, 114, 0.9) !important;
   opacity: 0;
   animation: huerotate2 0.2s linear infinite, notehit 0.25s ease 1; 
}
.pp-note-new {
   animation: notehit 0.2s ease 1; 
}

.pp-noteextended {
    text-align: left;
    padding-left: 1%;
}
.pp-noteextended t{
    width: 10px;
    display: inline-block;
    text-align: center;
}
.pp-noteextended:after {
    content: "";
    width: calc(100% - 20px);
    height: 1px;
    background: currentColor;
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
}
.pp-noteextended-hitting {
   animation: huerotate2 0.2s linear infinite;     
   background-color: rgba(255, 114, 114, 0.4) !important;
}


.pp-scores {
    display: none;
    pointer-events: none;
    color: #fff;
    position: absolute;
    top: 10px;
    left: 15px;
    font-size: 20px;
    z-index: 11;
    transform: translateZ(0px);
}
.pp-score:before {
    content: "SCORE: ";
}
.pp-score {
    font-size: 28px;
    color: #ffc5c5;
    display: table;
    transition: transform 0.08s ease;
}
.pp-score2:before {
    content: "ACCURACY: ";
}
.pp-score2 {
    font-size: 16px;
    margin-top: -2px;
    color: #fff;
    opacity: 0.7;
}
.pp-fps:before {
    content: "FPS: ";
}
.pp-fps {
    font-size: 16px;
    margin-top: -2px;
    color: #fff;
    opacity: 0.4;
}
.pp-ping:before {
    content: "PING: ";
}
.pp-ping {
    font-size: 16px;
    margin-top: 4px;
    color: #fff;
    opacity: 0.4;
    display:none;
}
.pp-longest:before {
    content: "BEST STREAK: ";
}
.pp-longest {
    font-size: 16px;
    margin-top: -4px;
    color: #fff;
    opacity: 0.7;
}
.pp-stats {
    display: none;
    pointer-events: none;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 20px;
    z-index: 9;
}
.pp-streak:not(:empty):before {
    content: "STREAK";
    display: block;
    font-size: 24px;
    line-height: 0.4;
}
.pp-streak {
    color: #ffffff;
    transition: transform 0.08s ease;
    position: absolute;
    top: calc(75%);
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 60px;
    opacity: 0.15;
    opacity: 0.25;
    text-align: center;
}
.pp-durationbar-c {
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    left: 0;
}
.pp-durationbar {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(177, 255, 147, 0.8);
    left: 0;
}

.pp-info {
    pointer-events: none;
    color: #fff;
    position: absolute;
    top: 10px;
    right: 15px;
    z-index: 11;
    text-align: right;
    width: 50%;
}
.pp-info-level {
    color: #ffc5c5;
    display: block;
    font-size: 16px;
    animation: huerotate 2s linear infinite;
    white-space: nowrap;
    display: none;
}
.pp-info-level-title {
    background: rgba(255, 215, 215, 0.25);
    padding: 0 10px;
    min-width: 10vh;
    display: inline-block;
    text-align: center;
}
.pp-info-level-author:before {
    content: " Level created by ";
}
.pp-info-level-author {
    /* font-size: 16px; */
    /* white-space: nowrap; */
    opacity: 0.25;
    color: #fff;
    font-size: 15px;
}
.pp-info-title:before {
    content: "Now playing: ";
}
.pp-info-title {
    color: #ffc5c5;
    display: block;
    font-size: 15px;
    animation: huerotate 2s linear infinite;
    /* max-width: 60%; */
    text-overflow: ellipsis;
    /* white-space: nowrap; */
    overflow: hidden;
    /* max-height: 30px; */
    min-width: 100px;
    margin-right: 0;
    margin-left: auto;
}
.pp-info-author:after {
    content: " - ";
}
.pp-info-author {
    /* color: #ffc5c5; */
    display: block;
    font-size: 15px;
    opacity: 0.5;
    /* animation: huerotate 2s linear infinite; */
    float: right;
    margin-right: 5px;
}
.pp-info-timenow {
}
.pp-info-timetotal:before {
    content:" / ";
}
.pp-info-timetotal {
    
}
.pp-info-timestamp {
    opacity: 0.5;
    /* margin-top: -2px; */
    font-size: 14px;
    float: right;
}

.pp-overlay {
    display: none;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.48);
    background: rgba(80, 80, 80, 0.5);
    width: 100%;
    height: 100%;
    text-align: center;
    color: rgba(255, 227, 227, 0.84);
    color: rgba(247, 247, 247, 0.84);
    font-size: 36px;
    z-index: 11;
    padding: 20px;
    box-sizing: border-box;
}
.pp-overlay div {
    position: relative;
    top: 42%;
}
.pp-overlay-load:before {
    content: "Waiting for Video to Play...";
}
.pp-overlay-load:after {
    content: "(Click play video if the level is not starting)";
    display: block;
    font-size: 17px;
    opacity: 0.75;
}
.pp-overlay-load {
    
}
.pp-overlay-play:before {
    content: "Click [SPACE] to Start";
}
.pp-overlay-play {
    
}
.pp-overlay-restart:before {
    content: "Click [R] to Restart";
}
.pp-overlay-restart {
    
}


.pp-lanes-right, 
.pp-lanes-left {
    position: relative;
    display: inline-block;
    width: 0;
    height: 100%;
    pointer-events: none;
}

.pp-ratings {
    display: none;
    pointer-events: none;
    position: absolute;
    top: calc(53% + 3px);
    font-size: 18px;
    left: 0;
    width: 100%;
    text-align: center; 
}
.pp-rating {
    letter-spacing: 0.5px;
    opacity: 0;
    position: absolute;
    transform: translateX(-50%);
    transition: transform 0.08s ease;
    left: 50%;
    top: 0;
}
.pp-rating-0:before {
    content: "MISS!";
}
.pp-rating-0 {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 109, 109, 0.7);
}
.pp-rating-1:before {
    content: "OK!";
}
.pp-rating-1 {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.3);
}
.pp-rating-2:before {
    content: "GOOD!";
}
.pp-rating-2 {
    font-size: 15px;
    color: #ffb4b4;
    color: rgba(185, 255, 195, 0.75);
    color: rgba(236, 185, 255, 0.9);
    /* animation: huerotate3 0.4s linear infinite; */
}
.pp-rating-3:before {
    content: "GREAT!";
}
.pp-rating-3 {
    font-size: 18px;
    color: #ffe8c3;
    color: rgb(255, 254, 213);
    /* text-shadow: 0 1px 0px #9ba241; */
    /* animation: huerotate3 0.4s linear infinite; */
}
.pp-rating-4:before {
    content: "PERFECT";
}
.pp-rating-4 {
font-size: 16px;
    color: rgb(255, 197, 197);
    animation: huerotate 0.2s linear infinite;
    /* background: rgba(255, 171, 171, 0.21); */
    /* font-weight: bold; */
    padding: 2px 5px 1px;
    border: 2px dotted;
}
.pp-rating-5:before {
    content: "NICE!";
}
.pp-rating-5 {
    font-size: 12px;
    color: #ffb4b4;
    color: rgba(255, 208, 208, 0.9);
    /* color: rgba(255, 255, 255, 0.75); */
    /* background: rgba(229, 207, 255, 0.5); */
    padding: 1px 3px 0px 4px;
    animation: huerotate 0.2s linear infinite;
    border: 1px solid;
    border-radius: 5px;
    letter-spacing: 1px;
}

.ppeditor {
    /* height: 250px;*/
}

.pp-lanes-left .pp-ratings:nth-child(1) {
    top: 41%;
    left: -30px;
    transform: rotate(-10deg) scale(1.4) translateZ(0);
}
.pp-lanes-left .pp-ratings:nth-child(2) {
    top: 55%;
    left: -25px;
    transform: rotate(-25deg) scale(1.3) translateZ(0);
}
.pp-lanes-left .pp-ratings:nth-child(3) {
    top: 66%;
    left: -22px;
    transform: rotate(-25deg) scale(1.2) translateZ(0);
}
.pp-lanes-right .pp-ratings:nth-child(1) {
    top: 41%;
    left: 30px;
    transform: rotate(10deg) scale(1.4) translateZ(0);
}
.pp-lanes-right .pp-ratings:nth-child(2) {
    top: 55%;
    left: 25px;
    transform: rotate(25deg) scale(1.3) translateZ(0);
}
.pp-lanes-right .pp-ratings:nth-child(3) {
    top: 66%;
    left: 22px;
    transform: rotate(25deg) scale(1.3) translateZ(0);
}



.ppeditor .pp-notes{
    pointer-events: initial;
}
.ppeditor .pp-note t {
    pointer-events: none;
}
.ppeditor .pp-note {
    cursor: pointer;
}
.ppeditor .pp-note:hover {
    color: rgba(0, 0, 0, 0.5);
    filter: saturate(0.2) brightness(1.2);
    /*transform:  scale(1.1);*/
}


.ppeditor .pp-scores {
    display: block;
    animation: huerotate 2s linear infinite;
}
.ppeditor .pp-scores > * {
    display: none;
}
.ppeditor .pp-scores .pp-score {
    font-size: 0;
    display:block;
}
.ppeditor .pp-scores .pp-score:before {
    content: "EDITOR MODE";
    font-size: 26px;
}

.ppplay {
    
}
.ppplay .pp-overlay {
    display: block;
    opacity: 0;
    /*pointer-events: none;*/
    /* transition: opacity 0.2s ease;
}
.ppplay.pp-showoverlay .pp-container3 {
    /*filter: blur(10px) brightness(1.5);*/
}
.ppplay.pp-showoverlay .pp-overlay {
    opacity: 1;
    pointer-events: unset;
}

.ppplay .pp-container2 { 
    margin-top: 45px;
    margin-bottom: 25px;
    position: relative;
    width: auto;
}
.ppplay .pp-container3 { 
    /*transition: filter 0.2s ease;*/
}
.ppplay .pp-scores {
    display: block;
    animation: huerotate 2s linear infinite;
}
.ppplay .pp-stats {
    display: block;
}
.ppplay .pp-durationbar-c {
    animation: huerotate3 0.4s ease infinite;
}

/* ==== Need to switch everything to vertical ==== */
.ppplay  {
    width: auto;
    height: 70vh;
    display: table;
}
.ppplay .pp-container2{
    padding: 0 120px;
    /* padding-top: 55px; */
    margin-bottom: 0;
    position: relative;
    width: auto;
    height: calc(100% - 55px);
    /* display: table; */
    margin-top: 55px;
}
.ppplay .pp-lanes{
    width: auto;
    height: 100%;
    font-size: 0;
    text-align: center;
}
.ppplay .pp-lane{
    width: 44px;
    height: 100%;
    display: inline-block;
    font-size: 16px;
    vertical-align: top;
    top: 0;
}
.ppplay .pp-key{
    top: unset;
    bottom: 15px;
    left: 8px;
    /* margin-left: -12px; */
    margin-top: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.ppplay .pp-lane-hit .pp-key {
    animation: keyhit2 0.2s ease 1;
}
.ppplay .pp-line {
    width: 0;
    border: 0;
    border-left: 1px solid #fff;
    left: 20.5px;
}
.ppplay .pp-line1{
    height: calc(50% - 33px - 2% - 4px - 15px);
    top: unset;
    bottom: 48px;
}
.ppplay .pp-line2{
    height: calc(50% - 2% - 4px);
    top: 0;
}
.ppplay .pp-square{
    height: 4%;
    width: 22px;
    left: 10px;    
    top: unset;
    bottom: calc(50% - 2%);
}
.ppplay .pp-lane-click .pp-line{
    transform: scaleX(2);
}
.ppplay .pp-lane-click .pp-key{
    bottom: 12px;
}
.ppplay .pp-lane-hit .pp-line {
    transform: scaleX(6);
}

.ppplay .pp-timeline-container{
    width: 60px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
}
.ppplay .pp-timeline{
    bottom: 50%;
    right: 0;
    top: unset;
    left: unset;
    margin-left: 0;
    margin-bottom: 0;
}
.ppplay .pp-timeline-line{
    width: 1px;
    height: unset;
    bottom: 0;
    right: 15px;
}
.ppplay .pp-timeline-tag-container{
    right: 0;
}
.ppplay .pp-timeline-vline{
    bottom: 0;
    width: 8px;
    height: 1px;
    right: 11.5px;
}
.ppplay .pp-timeline-tag{
    margin-bottom: 0;
    position: relative;
    top: 0;
    right: 20px;
    transform: translateY(50%);
}
.ppplay .pp-notes-container{
    width: auto;
    height: 100%;
    display: inline-block;
    font-size: 16px;
    width: auto;
    height: 100%;
    font-size: 0;
    text-align: center;
    left: unset;
    top: 0;
    margin-top: 0;
}
.ppplay .pp-notes {
    bottom: 50%;
    right: 0;
    top: unset;
    left: unset;
    margin-left: 0;
    margin-bottom: 0;
    position: relative;
    font-size: 0;
}
.ppplay .pp-notes2 {
    height: 100%;
    width: 44px;
    left: -1px;
    top: 0;
    display: inline-block;
    font-size: 16px;
    vertical-align: bottom;
    text-align: center;
}
.ppplay .pp-note {
    top: unset;
    height: calc(4% + 6px);
    width: 28px;
    margin-top: 0px;
    /* margin-left: -13px; */
    line-height: unset;
    left: 0;
    right: 0;
    left: 8px;
    right: unset;
    margin-left: auto;
    margin-right: auto;
    min-height: 24px;
    display: inline-table;
    text-align: center;
    /* transform: translateY(50%);*/
}
.ppplay .pp-note-hit {
   animation: huerotate2 0.2s linear infinite, notehit 0.25s ease 1; 
}
.ppplay .pp-note t {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    top: 1px;
}


.ppplay .pp-noteextended {
    text-align: center;
    padding-left: 0;
}
.ppplay .pp-noteextended t{    
    height: 20px;
    display: block;
    width: auto;
    top: 7px;
}
.ppplay .pp-noteextended:before {
    content: "";
    height: calc(100% - 26px);
    width: 1px;
    background: currentColor;
    display: block;
    margin-left: 50%;
    position: relative;
    top: 5px;
}
.ppplay .pp-noteextended:after {
    content: none;
}
.ppplay2 .pp-note-hit.pp-noteextended {
   background: transparent;
   animation: none;
   opacity: 1;
}
.ppplay2 .pp-note-hit.pp-noteextended-hit {
   animation: huerotate2 0.2s linear infinite, notehit 0.25s ease 1; 
   transition-delay: 0.5s;
   opacity: 0;
}


.ppplay .pp-lanes22,
.ppplay .pp-notes-container22 {
    -webkit-mask-image: -webkit-linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0,0,0,1) 10%);
    -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0,0,0,1) 10%);
    mask-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0,0,0,1) 10%);
}

.ppplay .pp-container2 {
    -webkit-mask-image: -webkit-linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0,0,0,1) 10%);
    -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0,0,0,1) 10%);
    mask-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0,0,0,1) 10%);
}

.ppplay .pp-ratings {
    display: block;
}

.ppnolag .pp-lane-hit {
    animation: none;
}
.ppnolag .pp-line {
    transition: none !important;
}
.ppnolag .pp-note {
    box-shadow: none !important;
    border-radius: 30px;
}
.ppnolag .pp-square {
    border-radius: 30px;
}
.ppnolag .pp-key {
    border-radius: 30px;
}
.ppnolag .pp-note-hit {
    animation: notehit 0.25s ease 1 !important;
    background: rgba(243, 165, 255, 0.7) !important;
    color: #fff !important;
}
.ppnolag .pp-noteextended-hitting {
    animation: none !important;
    background: rgba(243, 165, 255, 0.2) !important;
    color: rgba(255, 255, 255, 0.8) !important;
}
.ppnolag .pp-note-hit.pp-noteextended-hit {
   animation: notehit 0.25s ease 1; 
   transition-delay: 0.5s;
   opacity: 0;
}


@keyframes keyhit {
    0%  {transform:  scale(1);}
    50%  {transform:  scale(1.15);}
    100%  {transform:  scale(1);}
}
@keyframes keyhit2 {
    0%  {transform:  translateX(-50%) scale(1);}
    50%  {transform:  translateX(-50%) scale(1.15);}
    100%  {transform:  translateX(-50%) scale(1);}
}
@keyframes notehit {
    0%  {transform:  scale(1);}
    50%  {transform:  scale(1.4);}
    100%  {transform:  scale(1);}
}
@keyframes notehitv {
    0%  {transform:  translateY(50%) scale(1);}
    50%  {transform:  translateY(50%) scale(1.4);}
    100%  {transform: translateY(50%) scale(1);}
}
@keyframes scorehit {
    0%  {transform:  scale(1);}
    50%  {transform:  scale(1.05);}
    100%  {transform:  scale(1);}
}
@keyframes huerotate {
    0%  {filter:  hue-rotate(0deg);}
    50%  {filter:  hue-rotate(180deg);}
    100%  {filter:  hue-rotate(360deg);}
}
@keyframes huerotate2 {
    0%  {filter: brightness(1000%) invert(50%) sepia(100%) saturate(300%) brightness(200%) hue-rotate(0deg);}
    50%  {filter: brightness(1000%) invert(50%) sepia(100%) saturate(300%) brightness(200%) hue-rotate(180deg);}
    100%  {filter:  brightness(1000%) invert(50%) sepia(100%) saturate(300%) brightness(200%) hue-rotate(360deg);}
}
@keyframes huerotate3 {
    0%  {filter:  hue-rotate(0deg);}
    50%  {filter:  hue-rotate(30deg);}
    100%  {filter:  hue-rotate(0deg);}
}
@keyframes huerotate4 {
    0%  {filter:  hue-rotate(0deg);}
    50%  {filter:  hue-rotate(-10deg);}
    100%  {filter:  hue-rotate(0deg);}
}


@-moz-document url-prefix() {
    .pp-line {
        box-shadow: none;
    }
    .pp-lane-hit .pp-square {
        box-shadow: none;
    }
}




