1
0
James Ketrenos ee3f96dc6f Male and female robbers!
Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
2022-02-19 19:32:50 -08:00

196 lines
3.9 KiB
CSS

.Board {
display: flex;
align-self: stretch;
position: relative;
flex: 1;
align-items: stretch;
margin-right: 40vw;
}
/* Offset 'BorderBox' such that 0,0 is the center
* of 'Board' */
.BoardBox {
position: absolute;
left: 50%;
top: 50%;
}
.Tile {
z-index: 5; /* Below Road and Corner */
position: absolute;
background-position-y: 0px;
background-size: cover;
transform: translate(-50%, -50%) rotate(-30deg);
}
.Tile.Active {
z-index: 10; /* Above non-Active Tile, below Road and Corner */
filter: drop-shadow(8px 8px 12px black);
}
.Border {
position: absolute;
transform-origin: 0 0;
background-size: cover;
}
.Pip {
z-index: 50; /* Above Tile (5,10), Road (12), Corner (20) */
position: absolute;
background-size: 600% auto; /* pip-numbers is a 6x6 grid of pip images */
width: 2em;
height: 2em;
transform: translate(-50%, -50%);
}
.Pip.Active {
filter: drop-shadow(0px 0px 10px rgba(255, 0, 255, 1));
}
.Pip.Active.Option {
filter: brightness(150%) drop-shadow(0px 0px 10px rgba(255, 0, 255, 1));
}
.Pips[disabled],
.Tiles[disabled],
.Roads[disabled],
.Corners[disabled] {
pointer-events: none;
}
.Corner {
filter: drop-shadow(2.5px 2.5px 1.5px rgba(0, 0, 0, 0.75));
z-index: 20; /* Above Tile, below Road */
position: absolute;
display: flex;
align-items: center;
justify-items: center;
box-sizing: border-box;
width: 1.5em;
height: 1.5em;
transform: translate(-50%, -50%);
pointer-events: none;
}
.Corner-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
}
.Corner:not([data-type]) .Corner-Shape,
.Corner[data-type="settlement"] .Corner-Shape {
clip-path: polygon(50% 0%,70% 15%,70% 2%,90% 2%,90% 30%,100% 40%,100% 100%,65% 100%,65% 65%,35% 65%,35% 100%,0% 100%,0% 40%);
}
.Corner[data-type="city"] .Corner-Shape {
clip-path: polygon(15% 0%,39% 23%,39% 52%,100% 56%,100% 74%,100% 100%,80% 100%,63% 100%,62% 75%,46% 75%,47% 100%,0% 100%,0% 24%);
}
.Road {
position: absolute;
display: flex;
align-items: center;
justify-items: center;
box-sizing: border-box;
transform-origin: 50% 0;
width: 0.5em;
height: 2.5em;
z-index: 11; /* Above Tile, below Corner */
pointer-events: none;
}
.Road-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
clip-path: polygon(0% 20%,0% 80%,100% 80%,100% 20%);
}
.Pip-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
clip-path: circle(50%);
}
.Tile-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
clip-path: polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
}
.Option {
cursor: pointer;
pointer-events: all;
filter: brightness(115%);
}
.Option .Pip-Shape,
.Option .Tile-Shape,
.Option .Corner-Shape,
.Option .Road-Shape {
background-color: rgba(255, 255, 255, 0.5);
}
.Robber .Pip-Shape,
.Pip-Shape:hover {
clip-path: circle(45%); /* show through the border */
background-color:#e7c099;
background-size: contain;
background-position: center;
}
.Roberta .Pip-Shape {
background-image:url("./assets/woman-robber.png");
}
.Robert .Pip-Shape {
background-image:url("./assets/man-robber.png");
}
.Tile-Shape:hover,
.Corner-Shape:hover,
.Road-Shape:hover {
background-color: white;
filter: brightness(150%);
}
.Board .Selected {
background-color: rgba(0, 0, 0, 1);
box-shadow: 5px 5px 5px black;
}
[data-color='R'] > .Corner-Shape,
[data-color='R'] > .Road-Shape {
background-color: rgba(255, 0, 0, 1);
}
[data-color='O'] > .Corner-Shape,
[data-color='O'] > .Road-Shape {
background-color: rgb(255, 128, 0);
}
[data-color='W'] > .Corner-Shape,
[data-color='W'] > .Road-Shape {
background-color: rgba(255, 255, 255, 1);
}
[data-color='B'] > .Corner-Shape,
[data-color='B'] > .Road-Shape {
background-color: rgba(0, 0, 255, 1);
}