Compare commits

..

2 Commits

Author SHA1 Message Date
Jérémi N ‘EndMove’
c59a35cf62 Merge pull request 'fixing mobile compatibility' (#3) from dev into master
Reviewed-on: #3
2022-10-23 20:16:20 +00:00
30c70b597b
fixing mobile compatibility 2022-10-23 22:14:15 +02:00
4 changed files with 137 additions and 133 deletions

View File

@ -10,4 +10,6 @@ The production version is available at [https://2048.g.endmove.eu](https://2048.
## To contribut ## To contribut
Run `npm install` in the repository directory. To build SCSS run `npm run build`. **<!> WARN <!>**: don't edit ``.css`` file but only ``.scss``. ~~Run `npm install` in the repository directory. To build SCSS run `npm run build`. **<!> WARN <!>**: don't edit ``.css`` file but only ``.scss``.~~
> Warning: The SCSS is old and needs to be rebuilt from scratch, please do not build it with npm run build, it destroys the mobile compatibility.

View File

@ -3,7 +3,7 @@ html, body {
margin: 0; margin: 0;
padding: 0; padding: 0;
background: #faf8ef; background: #faf8ef;
color: #776E65; color: #776e65;
font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif;
font-size: 18px; } font-size: 18px; }
@ -22,30 +22,30 @@ h1.title {
display: block; display: block;
float: left; } float: left; }
@-webkit-keyframes $animation-name { @-webkit-keyframes move-up {
0% { 0% {
top: 25px; top: 25px;
opacity: 1; } opacity: 1; }
100% { 100% {
top: -50px; top: -50px;
opacity: 0; } } opacity: 0; } }
@-moz-keyframes move-up {
@-moz-keyframes $animation-name {
0% { 0% {
top: 25px; top: 25px;
opacity: 1; } opacity: 1; }
100% { 100% {
top: -50px; top: -50px;
opacity: 0; } } opacity: 0; } }
@keyframes move-up {
@keyframes $animation-name {
0% { 0% {
top: 25px; top: 25px;
opacity: 1; } opacity: 1; }
100% { 100% {
top: -50px; top: -50px;
opacity: 0; } } opacity: 0; } }
.scores-container { .scores-container {
float: right; float: right;
text-align: right; } text-align: right; }
@ -101,7 +101,7 @@ p {
line-height: 1.65; } line-height: 1.65; }
a { a {
color: #776E65; color: #776e65;
font-weight: bold; font-weight: bold;
text-decoration: underline; text-decoration: underline;
cursor: pointer; } cursor: pointer; }
@ -119,24 +119,24 @@ hr {
width: 500px; width: 500px;
margin: 0 auto; } margin: 0 auto; }
@-webkit-keyframes $animation-name { @-webkit-keyframes fade-in {
0% { 0% {
opacity: 0; } opacity: 0; }
100% { 100% {
opacity: 1; } } opacity: 1; } }
@-moz-keyframes fade-in {
@-moz-keyframes $animation-name {
0% { 0% {
opacity: 0; } opacity: 0; }
100% { 100% {
opacity: 1; } } opacity: 1; } }
@keyframes fade-in {
@keyframes $animation-name {
0% { 0% {
opacity: 0; } opacity: 0; }
100% { 100% {
opacity: 1; } } opacity: 1; } }
.game-container { .game-container {
margin-top: 40px; margin-top: 40px;
position: relative; position: relative;
@ -232,97 +232,81 @@ hr {
width: 107px; width: 107px;
height: 107px; height: 107px;
line-height: 107px; } line-height: 107px; }
.tile.tile-position-1-1 { .tile.tile-position-1-1 {
-webkit-transform: translate(0px, 0px); -webkit-transform: translate(0px, 0px);
-moz-transform: translate(0px, 0px); -moz-transform: translate(0px, 0px);
-ms-transform: translate(0px, 0px); -ms-transform: translate(0px, 0px);
transform: translate(0px, 0px); } transform: translate(0px, 0px); }
.tile.tile-position-1-2 { .tile.tile-position-1-2 {
-webkit-transform: translate(0px, 121px); -webkit-transform: translate(0px, 121px);
-moz-transform: translate(0px, 121px); -moz-transform: translate(0px, 121px);
-ms-transform: translate(0px, 121px); -ms-transform: translate(0px, 121px);
transform: translate(0px, 121px); } transform: translate(0px, 121px); }
.tile.tile-position-1-3 { .tile.tile-position-1-3 {
-webkit-transform: translate(0px, 242px); -webkit-transform: translate(0px, 242px);
-moz-transform: translate(0px, 242px); -moz-transform: translate(0px, 242px);
-ms-transform: translate(0px, 242px); -ms-transform: translate(0px, 242px);
transform: translate(0px, 242px); } transform: translate(0px, 242px); }
.tile.tile-position-1-4 { .tile.tile-position-1-4 {
-webkit-transform: translate(0px, 363px); -webkit-transform: translate(0px, 363px);
-moz-transform: translate(0px, 363px); -moz-transform: translate(0px, 363px);
-ms-transform: translate(0px, 363px); -ms-transform: translate(0px, 363px);
transform: translate(0px, 363px); } transform: translate(0px, 363px); }
.tile.tile-position-2-1 { .tile.tile-position-2-1 {
-webkit-transform: translate(121px, 0px); -webkit-transform: translate(121px, 0px);
-moz-transform: translate(121px, 0px); -moz-transform: translate(121px, 0px);
-ms-transform: translate(121px, 0px); -ms-transform: translate(121px, 0px);
transform: translate(121px, 0px); } transform: translate(121px, 0px); }
.tile.tile-position-2-2 { .tile.tile-position-2-2 {
-webkit-transform: translate(121px, 121px); -webkit-transform: translate(121px, 121px);
-moz-transform: translate(121px, 121px); -moz-transform: translate(121px, 121px);
-ms-transform: translate(121px, 121px); -ms-transform: translate(121px, 121px);
transform: translate(121px, 121px); } transform: translate(121px, 121px); }
.tile.tile-position-2-3 { .tile.tile-position-2-3 {
-webkit-transform: translate(121px, 242px); -webkit-transform: translate(121px, 242px);
-moz-transform: translate(121px, 242px); -moz-transform: translate(121px, 242px);
-ms-transform: translate(121px, 242px); -ms-transform: translate(121px, 242px);
transform: translate(121px, 242px); } transform: translate(121px, 242px); }
.tile.tile-position-2-4 { .tile.tile-position-2-4 {
-webkit-transform: translate(121px, 363px); -webkit-transform: translate(121px, 363px);
-moz-transform: translate(121px, 363px); -moz-transform: translate(121px, 363px);
-ms-transform: translate(121px, 363px); -ms-transform: translate(121px, 363px);
transform: translate(121px, 363px); } transform: translate(121px, 363px); }
.tile.tile-position-3-1 { .tile.tile-position-3-1 {
-webkit-transform: translate(242px, 0px); -webkit-transform: translate(242px, 0px);
-moz-transform: translate(242px, 0px); -moz-transform: translate(242px, 0px);
-ms-transform: translate(242px, 0px); -ms-transform: translate(242px, 0px);
transform: translate(242px, 0px); } transform: translate(242px, 0px); }
.tile.tile-position-3-2 { .tile.tile-position-3-2 {
-webkit-transform: translate(242px, 121px); -webkit-transform: translate(242px, 121px);
-moz-transform: translate(242px, 121px); -moz-transform: translate(242px, 121px);
-ms-transform: translate(242px, 121px); -ms-transform: translate(242px, 121px);
transform: translate(242px, 121px); } transform: translate(242px, 121px); }
.tile.tile-position-3-3 { .tile.tile-position-3-3 {
-webkit-transform: translate(242px, 242px); -webkit-transform: translate(242px, 242px);
-moz-transform: translate(242px, 242px); -moz-transform: translate(242px, 242px);
-ms-transform: translate(242px, 242px); -ms-transform: translate(242px, 242px);
transform: translate(242px, 242px); } transform: translate(242px, 242px); }
.tile.tile-position-3-4 { .tile.tile-position-3-4 {
-webkit-transform: translate(242px, 363px); -webkit-transform: translate(242px, 363px);
-moz-transform: translate(242px, 363px); -moz-transform: translate(242px, 363px);
-ms-transform: translate(242px, 363px); -ms-transform: translate(242px, 363px);
transform: translate(242px, 363px); } transform: translate(242px, 363px); }
.tile.tile-position-4-1 { .tile.tile-position-4-1 {
-webkit-transform: translate(363px, 0px); -webkit-transform: translate(363px, 0px);
-moz-transform: translate(363px, 0px); -moz-transform: translate(363px, 0px);
-ms-transform: translate(363px, 0px); -ms-transform: translate(363px, 0px);
transform: translate(363px, 0px); } transform: translate(363px, 0px); }
.tile.tile-position-4-2 { .tile.tile-position-4-2 {
-webkit-transform: translate(363px, 121px); -webkit-transform: translate(363px, 121px);
-moz-transform: translate(363px, 121px); -moz-transform: translate(363px, 121px);
-ms-transform: translate(363px, 121px); -ms-transform: translate(363px, 121px);
transform: translate(363px, 121px); } transform: translate(363px, 121px); }
.tile.tile-position-4-3 { .tile.tile-position-4-3 {
-webkit-transform: translate(363px, 242px); -webkit-transform: translate(363px, 242px);
-moz-transform: translate(363px, 242px); -moz-transform: translate(363px, 242px);
-ms-transform: translate(363px, 242px); -ms-transform: translate(363px, 242px);
transform: translate(363px, 242px); } transform: translate(363px, 242px); }
.tile.tile-position-4-4 { .tile.tile-position-4-4 {
-webkit-transform: translate(363px, 363px); -webkit-transform: translate(363px, 363px);
-moz-transform: translate(363px, 363px); -moz-transform: translate(363px, 363px);
@ -348,40 +332,40 @@ hr {
background: #eee4da; background: #eee4da;
box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); }
.tile.tile-4 .tile-inner { .tile.tile-4 .tile-inner {
background: #eee1c9; background: #ede0c8;
box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); }
.tile.tile-8 .tile-inner { .tile.tile-8 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #f3b27a; } background: #f2b179; }
.tile.tile-16 .tile-inner { .tile.tile-16 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #f69664; } background: #f59563; }
.tile.tile-32 .tile-inner { .tile.tile-32 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #f77c5f; } background: #f67c5f; }
.tile.tile-64 .tile-inner { .tile.tile-64 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #f75f3b; } background: #f65e3b; }
.tile.tile-128 .tile-inner { .tile.tile-128 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #edd073; background: #edcf72;
box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.238095), inset 0 0 0 1px rgba(255, 255, 255, 0.142857); box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.2381), inset 0 0 0 1px rgba(255, 255, 255, 0.14286);
font-size: 45px; } font-size: 45px; }
@media screen and (max-width: 520px) { @media screen and (max-width: 520px) {
.tile.tile-128 .tile-inner { .tile.tile-128 .tile-inner {
font-size: 25px; } } font-size: 25px; } }
.tile.tile-256 .tile-inner { .tile.tile-256 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #edcc62; background: #edcc61;
box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.31746), inset 0 0 0 1px rgba(255, 255, 255, 0.190476); box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.31746), inset 0 0 0 1px rgba(255, 255, 255, 0.19048);
font-size: 45px; } font-size: 45px; }
@media screen and (max-width: 520px) { @media screen and (max-width: 520px) {
.tile.tile-256 .tile-inner { .tile.tile-256 .tile-inner {
font-size: 25px; } } font-size: 25px; } }
.tile.tile-512 .tile-inner { .tile.tile-512 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #edc950; background: #edc850;
box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.396825), inset 0 0 0 1px rgba(255, 255, 255, 0.238095); box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.39683), inset 0 0 0 1px rgba(255, 255, 255, 0.2381);
font-size: 45px; } font-size: 45px; }
@media screen and (max-width: 520px) { @media screen and (max-width: 520px) {
.tile.tile-512 .tile-inner { .tile.tile-512 .tile-inner {
@ -389,7 +373,7 @@ hr {
.tile.tile-1024 .tile-inner { .tile.tile-1024 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #edc53f; background: #edc53f;
box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.47619), inset 0 0 0 1px rgba(255, 255, 255, 0.285714); box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.47619), inset 0 0 0 1px rgba(255, 255, 255, 0.28571);
font-size: 35px; } font-size: 35px; }
@media screen and (max-width: 520px) { @media screen and (max-width: 520px) {
.tile.tile-1024 .tile-inner { .tile.tile-1024 .tile-inner {
@ -397,61 +381,61 @@ hr {
.tile.tile-2048 .tile-inner { .tile.tile-2048 .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #edc22e; background: #edc22e;
box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.555556), inset 0 0 0 1px rgba(255, 255, 255, 0.333333); box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333);
font-size: 35px; } font-size: 35px; }
@media screen and (max-width: 520px) { @media screen and (max-width: 520px) {
.tile.tile-2048 .tile-inner { .tile.tile-2048 .tile-inner {
font-size: 15px; } } font-size: 15px; } }
.tile.tile-super .tile-inner { .tile.tile-super .tile-inner {
color: #f9f6f2; color: #f9f6f2;
background: #3c3a33; background: #3c3a32;
font-size: 30px; } font-size: 30px; }
@media screen and (max-width: 520px) { @media screen and (max-width: 520px) {
.tile.tile-super .tile-inner { .tile.tile-super .tile-inner {
font-size: 10px; } } font-size: 10px; } }
@-webkit-keyframes $animation-name { @-webkit-keyframes appear {
0% { 0% {
opacity: 0; opacity: 0;
-webkit-transform: scale(0); -webkit-transform: scale(0);
-moz-transform: scale(0); -moz-transform: scale(0);
-ms-transform: scale(0); -ms-transform: scale(0);
transform: scale(0); } transform: scale(0); }
100% { 100% {
opacity: 1; opacity: 1;
-webkit-transform: scale(1); -webkit-transform: scale(1);
-moz-transform: scale(1); -moz-transform: scale(1);
-ms-transform: scale(1); -ms-transform: scale(1);
transform: scale(1); } } transform: scale(1); } }
@-moz-keyframes appear {
@-moz-keyframes $animation-name {
0% { 0% {
opacity: 0; opacity: 0;
-webkit-transform: scale(0); -webkit-transform: scale(0);
-moz-transform: scale(0); -moz-transform: scale(0);
-ms-transform: scale(0); -ms-transform: scale(0);
transform: scale(0); } transform: scale(0); }
100% { 100% {
opacity: 1; opacity: 1;
-webkit-transform: scale(1); -webkit-transform: scale(1);
-moz-transform: scale(1); -moz-transform: scale(1);
-ms-transform: scale(1); -ms-transform: scale(1);
transform: scale(1); } } transform: scale(1); } }
@keyframes appear {
@keyframes $animation-name {
0% { 0% {
opacity: 0; opacity: 0;
-webkit-transform: scale(0); -webkit-transform: scale(0);
-moz-transform: scale(0); -moz-transform: scale(0);
-ms-transform: scale(0); -ms-transform: scale(0);
transform: scale(0); } transform: scale(0); }
100% { 100% {
opacity: 1; opacity: 1;
-webkit-transform: scale(1); -webkit-transform: scale(1);
-moz-transform: scale(1); -moz-transform: scale(1);
-ms-transform: scale(1); -ms-transform: scale(1);
transform: scale(1); } } transform: scale(1); } }
.tile-new .tile-inner { .tile-new .tile-inner {
-webkit-animation: appear 200ms ease 100ms; -webkit-animation: appear 200ms ease 100ms;
-moz-animation: appear 200ms ease 100ms; -moz-animation: appear 200ms ease 100ms;
@ -460,57 +444,60 @@ hr {
-moz-animation-fill-mode: backwards; -moz-animation-fill-mode: backwards;
animation-fill-mode: backwards; } animation-fill-mode: backwards; }
@-webkit-keyframes $animation-name { @-webkit-keyframes pop {
0% { 0% {
-webkit-transform: scale(0); -webkit-transform: scale(0);
-moz-transform: scale(0); -moz-transform: scale(0);
-ms-transform: scale(0); -ms-transform: scale(0);
transform: scale(0); } transform: scale(0); }
50% { 50% {
-webkit-transform: scale(1.2); -webkit-transform: scale(1.2);
-moz-transform: scale(1.2); -moz-transform: scale(1.2);
-ms-transform: scale(1.2); -ms-transform: scale(1.2);
transform: scale(1.2); } transform: scale(1.2); }
100% { 100% {
-webkit-transform: scale(1); -webkit-transform: scale(1);
-moz-transform: scale(1); -moz-transform: scale(1);
-ms-transform: scale(1); -ms-transform: scale(1);
transform: scale(1); } } transform: scale(1); } }
@-moz-keyframes pop {
@-moz-keyframes $animation-name {
0% { 0% {
-webkit-transform: scale(0); -webkit-transform: scale(0);
-moz-transform: scale(0); -moz-transform: scale(0);
-ms-transform: scale(0); -ms-transform: scale(0);
transform: scale(0); } transform: scale(0); }
50% { 50% {
-webkit-transform: scale(1.2); -webkit-transform: scale(1.2);
-moz-transform: scale(1.2); -moz-transform: scale(1.2);
-ms-transform: scale(1.2); -ms-transform: scale(1.2);
transform: scale(1.2); } transform: scale(1.2); }
100% { 100% {
-webkit-transform: scale(1); -webkit-transform: scale(1);
-moz-transform: scale(1); -moz-transform: scale(1);
-ms-transform: scale(1); -ms-transform: scale(1);
transform: scale(1); } } transform: scale(1); } }
@keyframes pop {
@keyframes $animation-name {
0% { 0% {
-webkit-transform: scale(0); -webkit-transform: scale(0);
-moz-transform: scale(0); -moz-transform: scale(0);
-ms-transform: scale(0); -ms-transform: scale(0);
transform: scale(0); } transform: scale(0); }
50% { 50% {
-webkit-transform: scale(1.2); -webkit-transform: scale(1.2);
-moz-transform: scale(1.2); -moz-transform: scale(1.2);
-ms-transform: scale(1.2); -ms-transform: scale(1.2);
transform: scale(1.2); } transform: scale(1.2); }
100% { 100% {
-webkit-transform: scale(1); -webkit-transform: scale(1);
-moz-transform: scale(1); -moz-transform: scale(1);
-ms-transform: scale(1); -ms-transform: scale(1);
transform: scale(1); } } transform: scale(1); } }
.tile-merged .tile-inner { .tile-merged .tile-inner {
z-index: 20; z-index: 20;
-webkit-animation: pop 200ms ease 100ms; -webkit-animation: pop 200ms ease 100ms;
@ -549,36 +536,44 @@ hr {
@media screen and (max-width: 520px) { @media screen and (max-width: 520px) {
html, body { html, body {
font-size: 15px; } font-size: 15px; }
body { body {
margin: 20px 0; margin: 20px 0;
padding: 0 20px; } padding: 0 20px; }
h1.title { h1.title {
font-size: 27px; font-size: 27px;
margin-top: 15px; } margin-top: 15px; }
.container { .container {
width: 280px; width: 280px;
margin: 0 auto; } margin: 0 auto; }
.score-container, .best-container { .score-container, .best-container {
margin-top: 0; margin-top: 0;
padding: 15px 10px; padding: 15px 10px;
min-width: 40px; } min-width: 40px; }
.heading { .heading {
margin-bottom: 10px; } margin-bottom: 10px; }
.game-intro { .game-intro {
width: 55%; width: 55%;
display: block; display: block;
box-sizing: border-box; box-sizing: border-box;
line-height: 1.65; } line-height: 1.65; }
.restart-button { .restart-button {
width: 42%; width: 42%;
padding: 0; padding: 0;
display: block; display: block;
box-sizing: border-box; box-sizing: border-box;
margin-top: 2px; } margin-top: 2px; }
.game-container { .game-container {
margin-top: 40px; margin-top: 17px;
position: relative; position: relative;
padding: 15px; padding: 10px;
cursor: default; cursor: default;
-webkit-touch-callout: none; -webkit-touch-callout: none;
-ms-touch-callout: none; -ms-touch-callout: none;
@ -589,8 +584,8 @@ hr {
touch-action: none; touch-action: none;
background: #bbada0; background: #bbada0;
border-radius: 6px; border-radius: 6px;
width: 500px; width: 280px;
height: 500px; height: 280px;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; } box-sizing: border-box; }
@ -638,115 +633,122 @@ hr {
display: inline-block; } display: inline-block; }
.game-container .game-message.game-won, .game-container .game-message.game-over { .game-container .game-message.game-won, .game-container .game-message.game-over {
display: block; } display: block; }
.grid-container { .grid-container {
position: absolute; position: absolute;
z-index: 1; } z-index: 1; }
.grid-row { .grid-row {
margin-bottom: 15px; } margin-bottom: 10px; }
.grid-row:last-child { .grid-row:last-child {
margin-bottom: 0; } margin-bottom: 0; }
.grid-row:after { .grid-row:after {
content: ""; content: "";
display: block; display: block;
clear: both; } clear: both; }
.grid-cell { .grid-cell {
width: 106.25px; width: 57.5px;
height: 106.25px; height: 57.5px;
margin-right: 15px; margin-right: 10px;
float: left; float: left;
border-radius: 3px; border-radius: 3px;
background: rgba(238, 228, 218, 0.35); } background: rgba(238, 228, 218, 0.35); }
.grid-cell:last-child { .grid-cell:last-child {
margin-right: 0; } margin-right: 0; }
.tile-container { .tile-container {
position: absolute; position: absolute;
z-index: 2; } z-index: 2; }
.tile, .tile .tile-inner { .tile, .tile .tile-inner {
width: 107px; width: 58px;
height: 107px; height: 58px;
line-height: 107px; } line-height: 58px; }
.tile.tile-position-1-1 { .tile.tile-position-1-1 {
-webkit-transform: translate(0px, 0px); -webkit-transform: translate(0px, 0px);
-moz-transform: translate(0px, 0px); -moz-transform: translate(0px, 0px);
-ms-transform: translate(0px, 0px); -ms-transform: translate(0px, 0px);
transform: translate(0px, 0px); } transform: translate(0px, 0px); }
.tile.tile-position-1-2 { .tile.tile-position-1-2 {
-webkit-transform: translate(0px, 121px); -webkit-transform: translate(0px, 67px);
-moz-transform: translate(0px, 121px); -moz-transform: translate(0px, 67px);
-ms-transform: translate(0px, 121px); -ms-transform: translate(0px, 67px);
transform: translate(0px, 121px); } transform: translate(0px, 67px); }
.tile.tile-position-1-3 { .tile.tile-position-1-3 {
-webkit-transform: translate(0px, 242px); -webkit-transform: translate(0px, 135px);
-moz-transform: translate(0px, 242px); -moz-transform: translate(0px, 135px);
-ms-transform: translate(0px, 242px); -ms-transform: translate(0px, 135px);
transform: translate(0px, 242px); } transform: translate(0px, 135px); }
.tile.tile-position-1-4 { .tile.tile-position-1-4 {
-webkit-transform: translate(0px, 363px); -webkit-transform: translate(0px, 202px);
-moz-transform: translate(0px, 363px); -moz-transform: translate(0px, 202px);
-ms-transform: translate(0px, 363px); -ms-transform: translate(0px, 202px);
transform: translate(0px, 363px); } transform: translate(0px, 202px); }
.tile.tile-position-2-1 { .tile.tile-position-2-1 {
-webkit-transform: translate(121px, 0px); -webkit-transform: translate(67px, 0px);
-moz-transform: translate(121px, 0px); -moz-transform: translate(67px, 0px);
-ms-transform: translate(121px, 0px); -ms-transform: translate(67px, 0px);
transform: translate(121px, 0px); } transform: translate(67px, 0px); }
.tile.tile-position-2-2 { .tile.tile-position-2-2 {
-webkit-transform: translate(121px, 121px); -webkit-transform: translate(67px, 67px);
-moz-transform: translate(121px, 121px); -moz-transform: translate(67px, 67px);
-ms-transform: translate(121px, 121px); -ms-transform: translate(67px, 67px);
transform: translate(121px, 121px); } transform: translate(67px, 67px); }
.tile.tile-position-2-3 { .tile.tile-position-2-3 {
-webkit-transform: translate(121px, 242px); -webkit-transform: translate(67px, 135px);
-moz-transform: translate(121px, 242px); -moz-transform: translate(67px, 135px);
-ms-transform: translate(121px, 242px); -ms-transform: translate(67px, 135px);
transform: translate(121px, 242px); } transform: translate(67px, 135px); }
.tile.tile-position-2-4 { .tile.tile-position-2-4 {
-webkit-transform: translate(121px, 363px); -webkit-transform: translate(67px, 202px);
-moz-transform: translate(121px, 363px); -moz-transform: translate(67px, 202px);
-ms-transform: translate(121px, 363px); -ms-transform: translate(67px, 202px);
transform: translate(121px, 363px); } transform: translate(67px, 202px); }
.tile.tile-position-3-1 { .tile.tile-position-3-1 {
-webkit-transform: translate(242px, 0px); -webkit-transform: translate(135px, 0px);
-moz-transform: translate(242px, 0px); -moz-transform: translate(135px, 0px);
-ms-transform: translate(242px, 0px); -ms-transform: translate(135px, 0px);
transform: translate(242px, 0px); } transform: translate(135px, 0px); }
.tile.tile-position-3-2 { .tile.tile-position-3-2 {
-webkit-transform: translate(242px, 121px); -webkit-transform: translate(135px, 67px);
-moz-transform: translate(242px, 121px); -moz-transform: translate(135px, 67px);
-ms-transform: translate(242px, 121px); -ms-transform: translate(135px, 67px);
transform: translate(242px, 121px); } transform: translate(135px, 67px); }
.tile.tile-position-3-3 { .tile.tile-position-3-3 {
-webkit-transform: translate(242px, 242px); -webkit-transform: translate(135px, 135px);
-moz-transform: translate(242px, 242px); -moz-transform: translate(135px, 135px);
-ms-transform: translate(242px, 242px); -ms-transform: translate(135px, 135px);
transform: translate(242px, 242px); } transform: translate(135px, 135px); }
.tile.tile-position-3-4 { .tile.tile-position-3-4 {
-webkit-transform: translate(242px, 363px); -webkit-transform: translate(135px, 202px);
-moz-transform: translate(242px, 363px); -moz-transform: translate(135px, 202px);
-ms-transform: translate(242px, 363px); -ms-transform: translate(135px, 202px);
transform: translate(242px, 363px); } transform: translate(135px, 202px); }
.tile.tile-position-4-1 { .tile.tile-position-4-1 {
-webkit-transform: translate(363px, 0px); -webkit-transform: translate(202px, 0px);
-moz-transform: translate(363px, 0px); -moz-transform: translate(202px, 0px);
-ms-transform: translate(363px, 0px); -ms-transform: translate(202px, 0px);
transform: translate(363px, 0px); } transform: translate(202px, 0px); }
.tile.tile-position-4-2 { .tile.tile-position-4-2 {
-webkit-transform: translate(363px, 121px); -webkit-transform: translate(202px, 67px);
-moz-transform: translate(363px, 121px); -moz-transform: translate(202px, 67px);
-ms-transform: translate(363px, 121px); -ms-transform: translate(202px, 67px);
transform: translate(363px, 121px); } transform: translate(202px, 67px); }
.tile.tile-position-4-3 { .tile.tile-position-4-3 {
-webkit-transform: translate(363px, 242px); -webkit-transform: translate(202px, 135px);
-moz-transform: translate(363px, 242px); -moz-transform: translate(202px, 135px);
-ms-transform: translate(363px, 242px); -ms-transform: translate(202px, 135px);
transform: translate(363px, 242px); } transform: translate(202px, 135px); }
.tile.tile-position-4-4 { .tile.tile-position-4-4 {
-webkit-transform: translate(363px, 363px); -webkit-transform: translate(202px, 202px);
-moz-transform: translate(363px, 363px); -moz-transform: translate(202px, 202px);
-ms-transform: translate(363px, 363px); -ms-transform: translate(202px, 202px);
transform: translate(363px, 363px); } transform: translate(202px, 202px); }
.tile .tile-inner { .tile .tile-inner {
font-size: 35px; } font-size: 35px; }
.game-message p { .game-message p {
font-size: 30px !important; font-size: 30px !important;
height: 30px !important; height: 30px !important;

View File

@ -32,7 +32,7 @@ html, body {
} }
body { body {
margin: 40px 0; margin: 80px 0;
} }
.heading { .heading {