h1, h2, h3, h4, h5, h6, div, button{ margin:0; padding:0; } address{ font-style:normal; } body{ margin:0; padding: 0; color:#222; background-color:#bcbcbc; min-height:100vh; display: flex; flex-direction: column; } header{ background-color:#333333; height: 50px; display: flex; justify-content: center; } #home-link{ align-self: center; margin-left:10px; color: #ffffff; } #site-search{ max-width: 600px; margin-left:10px; display: flex; flex-grow: 1; } #site-search .search-box{ align-self:center; height:25px; border:0; flex-grow: 1; } #site-search .search-button{ align-self:center; height:25px; border-style:solid; border-width:1px; } #site-search .dropdown{ margin-left:5px; align-self:center; height:25px; } #site-search .dropdown button{ align-self:center; height:25px; border-style:solid; border-width:1px; } #site-search .css-sucks{ width:0px; height:0px; } #site-search .dropdown-content{ grid-template-columns: auto auto; white-space: nowrap; } #site-search .dropdown-content h3{ grid-column:1 / span 2; } #playlist-edit{ margin-left: 10px; align-self: center; } #local-playlists{ margin-right:5px; color: #ffffff; } #playlist-name-selection{ } #playlist-add-button{ padding-left: 10px; padding-right: 10px; } #item-selection-reset{ padding-left: 10px; padding-right: 10px; } main{ flex-grow: 1; padding-bottom: 20px; } .dropdown{ z-index:1; } .dropdown-content{ display:none; background-color: #e9e9e9; } .dropdown:hover .dropdown-content{ /* For some reason, if this is just grid, it will insist on being 0px wide just like its 0px by 0px parent */ /* making it inline-grid happened to fix it */ display:inline-grid; } .item-list{ display: grid; grid-row-gap: 10px; } .item-grid{ display: flex; flex-wrap: wrap; } .item-grid > .playlist-item-box{ margin-right: 10px; } .item-grid > * { margin-bottom: 10px; } .item-grid .horizontal-item-box .item{ width:370px; } .item-grid .vertical-item-box .item{ } .item-box{ display: inline-flex; flex-direction: row; } .vertical-item-box{ } .horizontal-item-box{ } .item{ background-color:#dadada; text-decoration:none; font-size: 12px; color: #767676; } .horizontal-item-box .item { flex-grow: 1; display: grid; align-content: start; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto auto 1fr; } .vertical-item-box .item{ width: 168px; } .thumbnail-box{ font-size: 0px; /* prevent newlines and blank space from creating gaps */ position: relative; display: block; } .horizontal-item-box .thumbnail-box{ grid-row: 1 / span 5; } .no-description .thumbnail-box{ width: 168px; height:94px; } .has-description .thumbnail-box{ width: 246px; height:138px; } .video-item .thumbnail-info{ position: absolute; bottom: 2px; right: 2px; opacity: .8; color: #ffffff; font-size: 12px; background-color: #000000; } .playlist-item .thumbnail-info{ position: absolute; right: 0px; bottom: 0px; height: 100%; width: 50%; text-align:center; white-space: pre-line; opacity: .8; color: #cfcfcf; font-size: 12px; background-color: #000000; } .playlist-item .thumbnail-info span{ /* trick to vertically center the text */ position: absolute; top: 50%; transform: translate(-50%, -50%); } .thumbnail-img{ /* center it */ margin: auto; display: block; max-height: 100%; } .horizontal-item-box .thumbnail-img{ height: 100%; } .item .title{ min-width: 0; max-height:3.6em; overflow:hidden; color: #333; font-size: 16px; font-weight: 500; text-decoration:initial; } .stats{ list-style: none; padding: 0px; margin: 0px; } .horizontal-stats{ max-height:2.4em; overflow:hidden; } .horizontal-stats > li{ display: inline; } .horizontal-stats > li::after{ content: " | "; } .horizontal-stats > li:last-child::after{ content: ""; } .vertical-stats{ display: flex; flex-direction: column; } .stats address{ display: inline; } .vertical-stats li{ max-height: 1.3em; overflow: hidden; } .item-checkbox{ justify-self:start; align-self:center; height:30px; width:30px; margin: 0px; } .page-button-row{ margin-top: 10px; margin-bottom: 10px; justify-self:center; justify-content: center; display: grid; grid-auto-columns: 40px; grid-auto-flow: column; height: 40px; } .page-button{ background-color: #e9e9e9; border-style: outset; border-width: 2px; font-weight: bold; text-align: center; } .sort-button{ background-color: #dadada; padding: 2px; justify-self: start; }