htm,body {
    padding: 0;
    margin: 0;
    height: 100%;
}
* {
    font-family: Helvetica, Arial, sans-serif;
    color: #ffffff;
    letter-spacing: 1px;
}
body {
    background-color: 181818;
    font-size: 14px;
    min-width: 720px;
}
#nowPlayingBarContainer {
    width: 100%;
    background-color: #282828;
    bottom: 0;
    position: fixed;
    min-width: 620px;
}
#nowPlayingBar {
    display: flex;
    height: 90px;
    padding: 16px;
    box-sizing: border-box;
}
#nowPlayingLeft, 
#nowPlayingRight {
    width: 30%;
    min-width: 180px;
}
#nowPlayingRight {
    position: relative;
    margin-top: 16px
}
#nowPlayingCenter {
    width: 40%;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#nowPlayingBar .content {
    width: 100%;
    height: 57px;
}
.playerControls .buttons {
    margin: 0 auto;
    display: table;
}
.controlButton {
    background-color: transparent;
    border: none;
    vertical-align: middle;
}
.controlButton img {
    width: 20px;
    height: 20px;
}
.controlButton.play img, .controlButton.pause img {
    width: 32px;
    height: 32px;
}
.controlButton:hover {
    cursor: pointer;
}
.progressTime {
    color: #a0a0a0;
    font-size: 11px;
    min-width: 40px;
    text-align: center;
}
.playbackBar {
    display: flex;
}
.progressBar {
    width: 100%;
    height: 12px;
    display: inline-flex;
    cursor: pointer;
}
.progressBarBg {
    background-color: #404040;
    height: 4px;
    width: 100%;
    border-radius: 2px;
}
.progress {
    background-color: #a0a0a0;
    height: 4px;
    width: 0px;
    border-radius: 2px;
}
.playbackBar .progressBar {
    margin-top: 3px;
}
#nowPlayingLeft .albumArtwork {
    height: 100%;
    max-width: 57px;
    margin-right: 15px;
    float: left;
    background-size: cover;
}
.trackInfo {
    display: table;
}
#nowPlayingLeft .trackInfo .trackName {
    margin: 6px 0;
    display: inline-block;
    width: 100%;
}
#nowPlayingLeft .trackInfo .artistName span {
    color: #a0a0a0;
    font-size: 12px;
}
.volumeBar {
    width: 180px;
    position: absolute;
    right: 0;
}
.volumeBar .progressBar {
    width: 125px;
}
#topContainer {
    min-height: 100%;
    width: 100%;
}
#navBarContainer {    
    background-color: #000;
    width: 220px;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
}
.navBar {
    padding: 35px;
    display: flex;
    flex-direction: column;
    -ms-flex-direction: column;
}
.logo{
    margin-bottom: 15px;
    padding-left: 32px;
}
.logo img {
    width: 70px;
}
.navBar .group {
    border-top: 1px solid #a0a0a0;
    padding: 10px 0;
}
.navItem {
    padding: 10px 0;
    font-size: 20px;
    font-weight: 700;
    display: block;
    letter-spacing: 1px;
    position: relative;
}
.navItemLink {
    color: #a0a0a0;
    text-decoration: none;
}
.navItemLink:hover {
    color: #fff;
}
.navItemLink .icon {
    position: absolute;
    right: 0;
    top: 9px;
    width: 25px;
}
#mainViewContainer {
    margin-left: 220px;
    padding-bottom: 90px;
    width: calc(100% - 220px);
}
#mainContent {
    padding: 0 20px;
}
.pageHeadingBig {
    padding: 20px;
    text-align: center;
}
.gridViewItem {
    display: inline-block;
    margin-right: 20px;
    width: 29%;
    max-width: 200px;
    min-width: 150px;
    margin-bottom: 20px;
}
.gridViewItem img {
    width: 100%;
}
.gridViewInfo {
    font-weight: 300;
    text-align: center;
    padding: 5px 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.gridViewItem a {
    text-decoration: none;
}
.entityInfo {
    padding: 40px 0 10px 0;
    display: inline-block;
    width: 100%;
}
.entityInfo .leftSection {
    width: 30%;
    float: left;
    max-width: 250px;
}
.entityInfo .leftSection img {
    width: 100%;
}
.entityInfo .rightSection {
    width: 70%;
    float: left;
    padding-left: 30px;
    box-sizing: border-box;
}
.entityInfo .rightSection h2 {
    margin-top: 0px;
}
.entityInfo .rightSection p {
    font-weight: 300px;
    color: 939393;
}
.trackList {
    padding: 0%;
}
.trackListRow {
    height: 40px;
    padding: 15px 10px;
    list-style: none;
}
.trackListRow:hover {
    background-color: #404040;
}
.trackListRow .trackCount {
    width: 10%;
    float: left;
}
.trackListRow .trackCount span {
    visibility: visible;
}
.trackListRow:hover .trackCount span {
    visibility: hidden;
}
.trackListRow .trackCount img {
    width: 20px;
    visibility: hidden;
    position: absolute;
    margin-top: 3px;
    cursor: pointer;
}
.trackListRow:hover .trackCount img {
    visibility: visible;
}
.trackListRow .trackInfo {
    width: 75%;
    float: left;
}
.trackListRow .trackInfo span {
    display: block;
    font-size: 13px;
    color: #a0a0a0;
}
.trackListRow .trackOptions {
    width: 5%;
    float: left;
    padding-top: 13px;
}
.trackListRow .trackOptions img {
    width: 15px;
    float: right;
    cursor: pointer;
    visibility: hidden;
}
.trackListRow:hover .trackOptions img {
    visibility: visible;
}
.trackListRow .trackDuration {
    width: 12%;
    float: left;
    text-align: right;
}
.trackListRow .trackDuration span {
    display: block;
    font-size: 13px;
    color: #a0a0a0;
}
.trackList .trackListRow:last-child {
    border-bottom: 1px solid #282828;
}
.trackListRow .trackInfo .trackName {
    color: #fff;
    font-size: 18px;
    margin-bottom: 7px;
}
.trackListRow .trackInfo .artistName span {
    font-size: 13px;
    color: #a0a0a0;
}
.artistInfo {
    text-align: center;
    padding: 40px;
}
.button {
    color: #fff;
    cursor: pointer;
    margin-bottom: 10px;
    background-color: transparent;
    font-weight: 500;
    letter-spacing: 1px;
    border: 1px solid #fff;
    border-radius: 23px;
    padding: 10px 20px;
    text-decoration: none;
    display: inline-block;
    min-width: 120px;
}
.button.yellow {
    background-color: #ffe100;
    border-color: #000;
    color: #000;
    font-weight: 1000;
}
.borderBottom {
    border-bottom: 1px solid #404040;
    margin-bottom: 20px;
}
.tracklistContainer h2 {
    padding: 20px;
    font-size: 24px;
}
.gridViewContainer h2 {
    padding: 20px;
    font-size: 24px;
}
.ArtistContainer h2 {
    padding: 20px;
    font-size: 24px;
}
[role ="link"] {
    cursor: pointer;
}
.searchContainer {
    width: 100%;
    height: 150px;
    background-color: #282828;
    padding: 20px 40px;
    box-sizing: border-box;
}
.searchContainer input {
    background-color: transparent;
    border: 0;
    color: #fff;
    font-size: 50px;
    width: 50%;
    letter-spacing: 1px;
}
input:focus {
    outline: none;
}
.searchContainer h4 {
    color: #ffff;
    margin-bottom: 7px;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 400;
}
.searchResultRow {
    padding: 15px 20px;
    border-bottom: 1px solid #404040;
    display: flex;
    align-items: center;
}
.searchResultRow:hover {
    background-color: #404040;
    cursor: pointer;
}
.searchResultRow .searchResultRowTrack {
    flex: 3;
}
.searchResultRow .searchResultRowArtist {
    flex: 1;
    text-align: right;
}
.searchResultRow .searchResultRowAlbum {
    flex: 1;
    text-align: right;
}
.searchResultRow .searchResultRowDuration {
    flex: 1;
    text-align: right;
}
.noResults {
    padding: 20px;
    font-size: 13px;
}
.buttonItems .button {
    display: block;
    margin: 20px auto;
}
.playlistContainer {
    padding: 10px 0;
}
.playlistImage {
    border: 3px solid;
    border-color: ffffff;
}