#ctxMenu, .sub{
    display:none;
    z-index:1000;
    min-width:15px;
    padding:0px;
    margin:0px;
    background:#282c34dd;
    color:lightgrey;
    font-weight:normal;
    white-space:nowrap;
    border-radius:9px;
    border: 1px solid;
    box-shadow: 5px 5px 12px blue;
}
.sub{ box-shadow: 3px 5px 14px red; }
#ctxMenu{
    position:absolute;
    left:0px;
    top:0px;
}
#ctxMenu:hover, #ctxMenu > menu, .sub > menu{
    display:block;
}
#ctxMenu:not([title]):before{ font-size: 18px; }

div > menu{
    padding:5px;
    margin:0;
    display:none;
    position:relative;
    width:130px;
    color: #a9cce3;
    padding-left: 20px;
}

/*menu{
    display:block;
}*/

menu > div{
    padding-left:20px;
    position:absolute;
    right:-157px;
    top:-1px;
    display:none;
    color:grey;
}

menu:hover > div{
    display:block;
}

menu:hover{
    background-image: linear-gradient(#00000099, #fff0, #f7f7f799);
    color:#f7dc6f;
    display:block;
    font-weight:bold;
}
menu:first-child {
  border-radius: 9px 9px 0px 0px;
}
menu:last-child {
  border-radius: 0px 0px 9px 9px;
}
menu[title]:before{
    content:attr(title);
}

input[type="file"] {
    display: none; /* Because the input file is ugly. */
}
.custom-file-upload {
    display: block;
    cursor: pointer;
}