.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 { position: absolute; background-position-y: 0px; background-size: cover; transform: translate(-50%, -50%) rotate(-30deg); } .Border { position: absolute; transform-origin: 0 0; background-size: cover; } .Pip { 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 5px rgba(255, 255, 0, 0.9)); } .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: 10; position: absolute; display: flex; align-items: center; justify-items: center; box-sizing: border-box; width: 1.5em; height: 1.5em; transform: translate(-50%, -50%); z-index: 5; pointer-events: none; } .Corner-Shape { display: flex; position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; } .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: 0; 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%); } .Option { pointer-events: all; } .Option .Corner-Shape, .Option .Road-Shape { background-color: rgba(255, 255, 255, 0.5); } .Corner-Shape:hover, .Road-Shape:hover { background-color: white; } .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: rgba(255, 196, 0, 1); } [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); }