e9bf31c3255b62f622fac26f468858a20c8710f5
5 box-sizing: border-box
;
11 vertical-align: baseline
;
21 background-color: #f8f8f8;
22 font-family: Arial
, Verdana
, Tahoma
, sans-serif
;
23 /* https://stackoverflow.com/a/24392249/12660887 */
29 flex-direction: column
;
30 justify-content: center
;
46 @media(max-height: 800px) {
47 #newGameForm, #gameInfos
{
52 @media(max-width: 767px) {
104 #gameInfos > .players-info
{
108 #gameInfos > .options-info
{
118 #gameInfos > .rules
{
122 #gameInfos > .rules
> p
,
123 #gameInfos > .rules
> ul
,
124 #gameInfos > .rules
> ol
{
128 #gameInfos > .rules
> ul
{
129 list-style-type: square
;
132 #gameInfos > .rules
> ol
{
133 list-style-type: numeric
;
137 #gameInfos > .rules
> a
{
139 border-bottom: 1px dotted black
;
146 /* "Sticky footer" */
156 @media(max-height: 399px) {
171 display: inline-block
;
172 transform: translateY
(3px);
176 background-color: #757575;
181 text-decoration: none
;
182 display: inline-block
;
189 button:hover
, button
.block-btn:hover
{
190 background-color: #b11adc;
195 background-color: #01786F;
196 margin: 0 auto
30px auto
; /*TODO: margin-bottom 20px ? */
201 button
.cancel-something
{
202 background-color: darkred
;
216 left: calc
(100% - 25px);
219 #upLeftInfos > svg
, #upRightStop
> svg
{
224 @media(max-width: 767px) {
226 left: calc
(100% - 35px);
228 #upLeftInfos > svg
, #upRightStop
> svg
{
231 #upLeftInfos > svg path
, #upRightStop
> svg path
{
240 /* Options when starting custom game */
251 display: inline-block
;
255 background-color: lightblue
;
262 .option-select, .option-input {
267 display: inline-block
;
271 .option-input input[type=number] {
285 text-decoration: none
;
288 /* Game link div + custom game "button" */
289 #gameLink span
, #gameLink a
, #footer a
{
291 border-bottom: 1px dotted darkgrey
;
304 /* Board container (without reserves) */
316 background-size: cover
;
318 will-change: transform
;
319 pointer-events: none
;
326 /* Drawing of the board */
332 /* Default squares colors (can be overriden or unused) */
341 filter: brightness
(50%);
356 /* Pieces' counter for reserves */
365 /* Choices div after a promotion (TODO: do not hide board) */
372 /* https://moderncss.dev/custom-select-styles-with-pure-css/ */
374 --select-border: #777;
375 --select-focus: #b11adc;
376 --select-arrow: var
(--select-border
);
381 background-color: transparent
;
386 font-family: inherit
;
389 line-height: inherit
;
396 grid-template-areas: "select";
401 border: 1px solid var
(--select-border
);
402 border-radius: 0.25em;
403 padding: 0.25em 0.5em;
407 background-color: #fff;
408 background-image: linear-gradient
(to top
, #f9f9f9, #fff 33%);
413 select
, .select::after
{
422 background-color: var
(--select-arrow
);
423 clip-path: polygon
(100% 0%, 0 0%, 50% 100%);
426 select:focus
+ .focus
{
432 border: 2px solid var
(--select-focus
);
433 border-radius: inherit
;
437 /* https://auralinna.blog/post/2018/how-to-create-material-design-like-form-text-fields/ */
442 .form-field--is-active .form-field__control::after {
443 border-bottom: 2px solid
#b11adc;
444 transform: scaleX
(150);
446 .form-field--is-active .form-field__label {
449 transform: translateY
(-14px);
451 .form-field--is-filled .form-field__label {
453 transform: translateY
(-14px);
461 padding: 18px 12px 0;
464 transition: all
0.4s;
467 .form-field__control {
469 border-radius: 8px 8px 0 0;
474 .form-field__control::after {
475 border-bottom: 2px solid
#b11adc;
483 transform: scaleX
(0);
484 transition: all
0.4s;
489 background: transparent
;
491 border-bottom: 1px solid
#999;
497 padding: 0 12px 10px 12px;
502 /* https://dev.to/kallmanation/styling-a-checkbox-with-only-css-3o3p */
503 label
.checkbox
> input
[type
="checkbox"] {
506 label
.checkbox
> input
[type
="checkbox"] + *::before
{
508 display: inline-block
;
509 vertical-align: bottom
;
515 border-width: 0.1rem;
519 label
.checkbox
> input
[type
="checkbox"]:checked
+ *::before
{
528 label
.checkbox
> input
[type
="checkbox"]:checked
+ * {
535 label
.checkbox
> span
.spacer
{
541 /* https://theanam.github.io/css-only-loaders/ ("hour-glass") */
543 --loader-width: 70px;
544 --loader-height: 70px;
545 --loader-color-primary: #01786F;
546 --loader-color-secondary: #EEE;
548 --animation-duration: 3s;
549 --loader-initial-scale: 0.1;
551 .loader,.loader:before,.loader:after{
552 box-sizing: border-box
;
559 transform: translateY
(0%);
562 transform: translateY
(100%);
565 transform: translateY
(100%);
568 transform: translateY
(0%);
571 transform: translateY
(0%);
577 transform: rotate
(0deg);
580 transform: rotate
(0deg);
583 transform: rotate
(180deg);
586 transform: rotate
(180deg);
589 transform: rotate
(360deg);
595 width: var
(--loader-width
, 100px);
596 height: var
(--loader-height
, 100px);
597 background-color: var
(--loader-color-primary
, #00f);
598 -webkit-clip-path: polygon
(0% 0%, 100% 0%, 50% 50%, 100% 100%, 0% 100%, 50% 50%);
599 clip-path: polygon
(0% 0%, 100% 0%, 50% 50%, 100% 100%, 0% 100%, 50% 50%);
601 animation: spin var
(--animation-duration
, 4s) infinite ease-in-out
;
610 width: var
(--loader-width
, 100px);
612 background-color: var
(--loader-color-secondary
, #eee);
613 animation: slide var
(--animation-duration
, 4s) infinite ease-in-out
;