*, *:before, *:after {
	--disc: 68px;
	--disc-cell: 86px;
	--disc-spin: 50px;
/* 	--disc: calc(100px * sqrt(2)); */
	--number: 24px;
	--operator: 30px;
	--operator-font: 14px;
	--radius: calc( ((var(--disc-spin) / 2) + (var(--number) / 2)) *-1 );
	--grid-col: calc( (sqrt(3)/4 * var(--disc)) *2);
	--grid-row: calc(var(--disc) / 2);
	--anim-dur: 500ms;
	--spinner: var(--ch-blue);
}
.game-title h1 a {
    font-size: 54px;
    line-height: 54px;
}
.game-title span.icon::before {
    color: var(--ch-coral);
}
p.pageSubhead {
    line-height: 1.3;
}
p.moves {
    margin: 0 0 10px;
    text-align: center;
	font-size: 16px;
}
p.moves span {
    font-weight: bold;
}
.board {
    margin: 2%;
	margin: 0 15px;
	display: grid;
    justify-self: center;
    grid-template-columns: repeat(5, var(--grid-col));
    grid-template-rows: repeat(12, var(--grid-row));
}
.disc {
	position: relative;
	width: var(--disc);
	height: var(--disc);
	border-radius: 50%;
	transform: rotate(0deg);
    justify-self: center;
    align-self: center;
    z-index: 0;
    transition: transform 0.5s ease-in-out;
}
.disc.empty {
	background: unset;
}
.disc.cell {
	width: var(--disc-cell);
	height: var(--disc-cell);
    z-index: 1;
}
.disc.cell.col-1,
.disc.cell.col-2 {
	box-shadow: -3px 3px 6px 0px rgba(0, 0, 0, 0.5);
}
.disc.cell.col-3,
.disc.cell.col-4,
.disc.cell.col-5 {
	box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
}
.disc.spin {
	width: var(--disc-spin);
	height: var(--disc-spin);
	background-color: var(--spinner);
	transition-duration: var(--anim-dur);
    z-index: 2;
}
.disc.spin.icon::after {
	content: '\f2f9';
    font-size: 38px;
    font-weight: 300;
    color: white;
	color: lightblue;
    position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); 
}
.disc.rot-180 {
	transform: rotate(180deg);
}
.disc.cell.correct {
    position:relative;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-name: pop2;
}
.disc.one-odd .number.odd {
	color: white;
}
.disc.two-odd .number:not(.odd) {
	color: white;
}

.number,
.operator {
	width: var(--number); 
	height: var(--number);
	background-color: var(--spinner); 
	border-radius: 50%; 
	position: absolute; 
	color: black;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); 
}
.number span,
.operator span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
	font-family: sans-serif;
    font-weight: bold;
}
.number[data-pos="1"] {
	transform: translate(-50%, -50%) translateY(var(--radius)); 
}
.number[data-pos="2"] {
	transform: translate(-50%, -50%) rotate(240deg) translateY(var(--radius));
}
.number[data-pos="3"] {
	transform: translate(-50%, -50%) rotate(120deg) translateY(var(--radius));
}


.operator {
    background-color: var(--ch-coral);
	color: white;
    background: white;
	color: black;
	width: var(--operator); 
	height: var(--operator);
}
.operator span {
    font-size: var(--operator-font);
	letter-spacing: 1px;
}



#disc-1 {
	grid-row: 2;
}
#disc-2 {
	grid-row: 4;
}
#disc-3 {
	grid-row: 6;
}
#disc-4 {
	grid-row: 8;
}
#disc-5 {
	grid-row: 10;
}
#disc-6 {
	grid-row: 3;
}
#disc-7 {
	grid-row: 5;
}
#disc-8 {
	grid-row: 7;
}
#disc-9 {
	grid-row: 9;
}
#disc-10 {
	grid-row: 11;
}
#disc-11 {
	grid-row: 2;
}
#disc-12 {
	grid-row: 4;
}
#disc-13 {
	grid-row: 6;
}
#disc-14 {
	grid-row: 8;
}
#disc-15 {
	grid-row: 10;
}
#disc-16 {
	grid-row: 3;
}
#disc-17 {
	grid-row: 5;
}
#disc-18 {
	grid-row: 7;
}
#disc-19 {
	grid-row: 9;
}
#disc-20 {
	grid-row: 11;
}
#disc-21 {
	grid-row: 2;
}
#disc-22 {
	grid-row: 4;
}
#disc-23 {
	grid-row: 6;
}
#disc-24 {
	grid-row: 8;
}
#disc-25 {
	grid-row: 10;
}


.col-1 {
	grid-column: 1 ;
}
.col-2 {
	grid-column: 2 ;
}
.col-3 {
	grid-column: 3 ;
}
.col-4 {
	grid-column: 4 ;
}
.col-5 {
	grid-column: 5 ;
}

.number.movein {
	color: white;
	-webkit-animation-duration: var(--anim-dur);
	-moz-animation-duration: var(--anim-dur);
	-ms-animation-duration: var(--anim-dur);
	-o-animation-duration: var(--anim-dur);
	animation-duration: var(--anim-dur);
	-webkit-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-o-animation-timing-function: linear;
	animation-timing-function: linear;
/* 	animation-delay: 500ms; */
	-webkit-animation-name: movein;
	-moz-animation-name: movein;
	-ms-animation-name: movein;
	-o-animation-name: movein;
	animation-name: movein;
	-webkit-animation-fill-mode: forwards;
	-moz-animation-fill-mode: forwards;
	-ms-animation-fill-mode: forwards;
	-o-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}
.number.moveout {
	color: black;
	-webkit-animation-duration: var(--anim-dur);
	-moz-animation-duration: var(--anim-dur);;
	-ms-animation-duration: var(--anim-dur);
	-o-animation-duration: var(--anim-dur);
	animation-duration: var(--anim-dur);
	-webkit-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-o-animation-timing-function: linear;
	animation-timing-function: linear;
/* 	animation-delay: 500ms; */
	-webkit-animation-name: moveout;
	-moz-animation-name: moveout;
	-ms-animation-name: moveout;
	-o-animation-name: moveout;
	animation-name: moveout;
	-webkit-animation-fill-mode: forwards;
	-moz-animation-fill-mode: forwards;
	-ms-animation-fill-mode: forwards;
	-o-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.number.moveoutin {
	color: black;
	-webkit-animation-duration: var(--anim-dur);
	-moz-animation-duration: var(--anim-dur);;
	-ms-animation-duration: var(--anim-dur);
	-o-animation-duration: var(--anim-dur);
	animation-duration: var(--anim-dur);
	-webkit-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-o-animation-timing-function: linear;
	animation-timing-function: linear;
/* 	animation-delay: 500ms; */
	-webkit-animation-name: moveoutin;
	-moz-animation-name: moveoutin;
	-ms-animation-name: moveoutin;
	-o-animation-name: moveoutin;
	animation-name: moveoutin;
	-webkit-animation-fill-mode: forwards;
	-moz-animation-fill-mode: forwards;
	-ms-animation-fill-mode: forwards;
	-o-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}


/* modal */
.modal-content .content .unlock::after {
	content: "\f3c1";
	font-weight: 700;
    color: var(--ch-coral);
	font-size: 56px;
    text-align: center;
    display: block;
    margin-bottom: 15px;
}
.modal-content .content ul.conditions {
}
li.no-list {
	list-style-type: none;
}
.condition {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 10px;
    margin-bottom: 10px;
}
.condition .image img {
    max-width: 64px;
}
span.bold {
    font-weight: bold;
}

@media only screen and ((max-width: 380px) or (max-height: 640px)) {
*, *:before, *:after {
    --disc: 44px;
    --disc-cell: 60px;
    --disc-spin: 28px;
    --number: 16px;
    --operator: 24px;
	--operator-font: 12px;
    }
    .game-title h1 a {
		font-size: 40px;
		line-height: 40px;
	}
/* 
    .game-title span.icon::after {
        font-size: 24px;
    }
 */
    p.pageSubhead {
	    line-height: 1.1;
	    font-size: 16px;
	    margin-bottom: 15px;
	}
	p.moves {
		font-size: 14px;
	}
	.disc.spin.icon::after {
		content: "";
	}
}

@-webkit-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}
@-moz-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}
@-ms-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}
@-o-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}


@-webkit-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}
@-mox-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}
@-ms-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}
@-o-keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}
@keyframes movein {
	0% {color: white;}
	60% {color: white;}
	65% {color: black;}	
	100% {color: black;}
}


@-webkit-keyframes moveout {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	100% {color: white;}
}
@-moz-keyframes moveout {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	100% {color: white;}
}
@-ms-keyframes moveout {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	100% {color: white;}
}
@-o-keyframes moveout {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	100% {color: white;}
}
@keyframes moveout {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	100% {color: white;}
}


@-webkit-keyframes moveoutin {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	60% {color: white;}	
	65% {color: black;}	
	100% {color: black;}
}
@-moz-keyframes moveoutin {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	60% {color: white;}	
	65% {color: black;}	
	100% {color: black;}
}
@-ms-keyframes moveoutin {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	60% {color: white;}	
	65% {color: black;}	
	100% {color: black;}
}
@-o-keyframes moveoutin {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	60% {color: white;}	
	65% {color: black;}	
	100% {color: black;}
}
@keyframes moveoutin {
	0% {color: black;}
	25% {color: black;}
	30% {color: white;}	
	60% {color: white;}	
	65% {color: black;}	
	100% {color: black;}
}


@-webkit-keyframes pop2 {
	0% {transform: scale(1);}
	25% {transform: scale(.7);}
	50% {transform: scale(1.2);}
	75% {transform: scale(0.9);}
	100% {transform: scale(1);}
}
@-moz-keyframes pop2 {
	0% {transform: scale(1);}
	25% {transform: scale(.7);}
	50% {transform: scale(1.2);}
	75% {transform: scale(0.9);}
	100% {transform: scale(1);}
}
@-ms-keyframes pop2 {
	0% {transform: scale(1);}
	25% {transform: scale(.7);}
	50% {transform: scale(1.2);}
	75% {transform: scale(0.9);}
	100% {transform: scale(1);}
}
@-o-keyframes pop2 {
	0% {transform: scale(1);}
	25% {transform: scale(.7);}
	50% {transform: scale(1.2);}
	75% {transform: scale(0.9);}
	100% {transform: scale(1);}
}
@keyframes pop2 {
	0% {transform: scale(1);}
	25% {transform: scale(.7);}
	50% {transform: scale(1.2);}
	75% {transform: scale(0.9);}
	100% {transform: scale(1);}
}


/* testing */
.link-1 {
    background: var(--ch-pink);
}
.link-2 {
    background: var(--ch-blue);
}
.link-3 {
    background: var(--ch-salmon);
}
.link-4 {
    background: var(--ch-dkblue);
}
.link-5 {
    background: var(--ch-coral);
}

