remote-party-finder/server/assets/listings.css

284 lines
5.4 KiB
CSS

:root {
--background: #2C2F34;
--text: #A0A0A0;
--local-duty-text: #E6A73A;
--cross-duty-text: #79C7EC;
--gold-text: #FFC240;
--light-blue-text: #5BE2FF;
--green-text: #37DE99;
--meta-text: #D3EEE9;
--ui-text: #EEE1C5;
--text-bright: #FFF;
--row-background: #2C2F34;
--row-background-alternate: #373A3E;
--slot-background: #868180;
--slot-empty: #AAA3A2;
--tank-blue: #455CCB;
--healer-green: #487B39;
--dps-red: #813B3C;
--icon-gold: #ECB7A2;
/*--slot-empty: #ADA99C;*/
/*--tank-blue: #4A5DC6;*/
/*--healer-green: #4A7939;*/
/*--dps-red: #7E3938;*/
}
body {
display: flex;
flex-direction: column;
margin: 0;
font-family: sans-serif;
background-color: var(--background);
color: var(--text);
}
.js body {
margin: 1em 0 0;
}
.no-js .requires-js {
display: none;
visibility: hidden;
}
details {
margin-top: .5em;
}
details > summary {
cursor: pointer;
}
#container {
margin: 0 1em;
}
.filter-controls > div {
display: flex;
flex-flow: row wrap;
}
.filter-controls .control {
width: max-content;
flex: 0 1 auto;
margin-left: 1em;
}
.filter-controls .control > label {
display: flex;
flex-direction: column;
}
.filter-controls .control > label > * {
flex: 0 1 auto;
margin-top: .5em;
}
.js #listings {
border-top: 2px dashed var(--text);
margin-top: 1em;
}
#listings > .no-listings {
margin-top: 1em;
}
#listings > .listing {
display: grid;
grid-template-columns: 3fr auto 2fr;
gap: 1em;
margin: 0 -1em;
padding: 1em;
background-color: var(--row-background);
}
#listings > .listing:nth-child(2n) {
background-color: var(--row-background-alternate);
}
#listings > .listing .description {
white-space: pre-wrap;
word-break: break-word;
}
#listings > .listing .description .desc-green {
color: var(--green-text);
}
#listings > .listing .description .desc-blue {
color: var(--light-blue-text);
}
#listings > .listing .description .desc-yellow {
color: var(--gold-text);
}
#listings > .listing .stat {
color: var(--meta-text);
}
#listings > .listing .duty {
font-size: 1.2em;
}
#listings > .listing .duty.cross {
color: var(--cross-duty-text);
}
#listings > .listing .duty.local {
color: var(--local-duty-text);
}
#listings > .listing .meta {
display: flex;
flex-direction: column;
margin-left: 1em;
color: var(--meta-text);
text-align: right;
}
#listings > .listing .meta > .item {
display: flex;
flex-flow: row nowrap;
align-self: flex-end;
}
#listings > .listing .meta > .item .icon {
height: 1em;
width: 1em;
fill: var(--text);
margin-left: .5em;
align-self: center;
justify-self: center;
}
#listings > .listing .party {
margin-top: .5em;
display: grid;
grid-template-columns: repeat(auto-fit, 2em);
gap: .5em;
}
#listings > .listing .party > .total {
align-self: center;
justify-self: center;
}
#listings > .listing .party > .slot {
width: 2em;
height: 2em;
border: 1px solid currentColor;
margin-right: .5em;
}
#listings > .listing .party > .slot:not(.filled).dps.tank {
background: linear-gradient(
to bottom,
var(--tank-blue) 0%,
var(--tank-blue) 50%,
var(--dps-red) 50%
);
}
#listings > .listing .party > .slot:not(.filled).dps.healer {
background: linear-gradient(
to bottom,
var(--healer-green) 0%,
var(--healer-green) 50%,
var(--dps-red) 50%
);
}
#listings > .listing .party > .slot:not(.filled).tank.healer {
background: linear-gradient(
to bottom,
var(--tank-blue) 0%,
var(--tank-blue) 50%,
var(--healer-green) 50%
);
}
#listings > .listing .party > .slot:not(.filled).tank.healer.dps {
background: linear-gradient(
to bottom,
var(--tank-blue) 0%,
var(--tank-blue) 33%,
var(--healer-green) 33%,
var(--healer-green) 66%,
var(--dps-red) 66%
);
}
#listings > .listing .party > .slot:not(.filled).dps {
background-color: var(--dps-red);
}
#listings > .listing .party > .slot.filled {
background-color: var(--slot-background);
border-color: var(--icon-gold);
}
#listings > .listing .party > .slot.empty {
background-color: var(--slot-empty);
}
#listings > .listing .party > .slot.dps {
background-color: var(--dps-red);
}
#listings > .listing .party > .slot.healer {
background-color: var(--healer-green);
}
#listings > .listing .party > .slot.tank {
background-color: var(--tank-blue);
}
#listings > .listing .party > .slot > svg {
width: 100%;
height: 100%;
fill: var(--icon-gold);
}
#listings > .listing .party > .slot.filled:not(.dps):not(.healer):not(.tank) > svg {
fill: #C6C6C6;
}
@media (max-width: 50em) {
#listings > .listing {
grid-template-columns: repeat(auto-fit, 100%);
}
#listings > .listing > :not(:first-child) {
margin: 0;
}
#listings > .listing .meta {
text-align: unset;
}
#listings > .listing .meta > .item {
align-self: unset;
}
#listings > .listing .meta > .item .icon {
order: 1;
margin-left: 0;
margin-right: .5em;
}
#listings > .listing .meta > .item .text {
order: 2;
}
}