missionboardmenu.cs.scss
MissionBoardMenu {
position: absolute;
width: 100%;
height: 100%;
font-family: Poppins;
color: white;
// The root stays present so the pending popup can show while the
// board itself is closed; the board chrome hides independently.
pointer-events: none;
&.interactive {
pointer-events: all;
}
// Full-screen box that centres the board. Same trick as the mission
// result text: a flex container does the centring, the children just
// stack inside it.
.board {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
flex-direction: column;
align-items: center;
justify-content: center;
display: none;
&.show {
display: flex;
}
}
// Bottom-right nudge for players who haven't opened the board.
.pending {
position: absolute;
right: 32px;
bottom: 120px;
flex-direction: column;
align-items: flex-end;
padding: 14px 18px;
background-color: rgba( black, 0.72 );
border-radius: 4px;
display: none;
&.show {
display: flex;
}
.proposer {
font-size: 14px;
color: rgba( white, 0.6 );
text-transform: uppercase;
}
.mission {
font-size: 22px;
font-weight: bold;
color: white;
}
.prompt {
font-size: 16px;
font-weight: bold;
color: #4fc3f7;
margin-top: 4px;
}
&.ready .prompt {
color: #7ed957;
}
}
.header {
flex-direction: row;
align-items: center;
justify-content: space-between;
width: 760px;
padding: 16px 24px;
background-color: rgba( black, 0.75 );
border-radius: 4px 4px 0px 0px;
.title {
font-size: 28px;
font-weight: bold;
text-transform: uppercase;
}
.cash {
font-size: 28px;
font-weight: bold;
color: #7ed957;
flex-grow: 1;
text-align: right;
margin-right: 20px;
}
.close {
font-size: 26px;
color: rgba( white, 0.55 );
padding: 0px 8px;
cursor: pointer;
transition: color 0.1s ease-out;
&:hover {
color: #e53935;
}
}
}
.list {
flex-direction: column;
width: 760px;
padding: 16px;
background-color: rgba( black, 0.6 );
backdrop-filter: blur( 16px );
border-radius: 0px 0px 4px 4px;
.empty {
font-size: 16px;
color: rgba( white, 0.5 );
padding: 12px;
}
}
.entry {
flex-direction: row;
align-items: center;
padding: 14px 16px;
margin-bottom: 8px;
background-color: rgba( white, 0.07 );
border-radius: 3px;
transition: background-color 0.1s ease-out;
&:hover {
background-color: rgba( white, 0.16 );
}
.text {
flex-direction: column;
flex-grow: 1;
}
.titleRow {
flex-direction: row;
align-items: center;
}
.name {
font-size: 20px;
font-weight: bold;
}
.difficulty {
font-size: 12px;
font-weight: bold;
text-transform: uppercase;
color: #ffb300;
background-color: rgba( #ffb300, 0.15 );
border-radius: 3px;
padding: 2px 8px;
margin-left: 10px;
}
.description {
font-size: 14px;
color: rgba( white, 0.55 );
}
.payout {
font-size: 20px;
color: #7ed957;
}
.status {
font-size: 15px;
font-weight: bold;
color: #4fc3f7;
margin-left: 16px;
min-width: 90px;
text-align: right;
}
// The job this player has voted for.
&.ready {
background-color: rgba( #4fc3f7, 0.18 );
}
&.unavailable {
opacity: 0.35;
.payout {
color: rgba( white, 0.4 );
}
}
}
}