/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-family: "Phoenica", sans-serif;
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* Remove margins and HTML scrollbars */
body, html {
    margin: 0;
    padding: 0;
    overflow: hidden;

    height: 100%;
    width: 100%;
}

body {
    background-color: black;
}

#layerGame {
    position: absolute;
    left: 50%;
    background-size: 960px 640px;
}

#layerGame > div,
#layerGame > span > div,
#layerGame > div > div {
    position: absolute;
}

html {
    -webkit-tap-highlight-color: transparent;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

::selection {
    background: none; /* Safari */
}

::-moz-selection {
    background: none; /* Firefox */
}

#layerGame > div {
    top: 0;
    width: 960px;
    height: 640px;
    background-size: 960px 640px;
}

#layerGameBg {
    position: absolute;
    height: 100%;
    width: 100%;
}

#layerPieces{
   overflow:hidden;
    z-index: -500;
}

.piece .pieceIcon{
    width: 81px;
    height: 100px;
}

.piece{
    position: absolute;
    cursor: pointer;
    background-size: 324px 100px;
}

.pieceIcon{
    background-size: 729px 500px;
}

.bigBold {
    color: white;
    font-family: "PhoenicaBd", sans-serif;
    font-weight: bold;
    font-size: 26pt;
    position: absolute;
    width: 960px;
    text-align: center;
    text-shadow: 0 2px 1px #000;
}

.bigRed {
    color: #a61439;
    font-family: "Fenix", serif;
    font-size: 22pt;
}

#buttonWelcomeImpressum {
    left: 915px;
    top: 85px;
}

#layerPoints #pointsContent {
    text-align: center;
    top: 110px;
    position: relative;
    width: 55%;
    margin-left: auto;
    margin-right: auto;
}

#layerPoints #pointsText {
    padding-top: 18px;
    font-family: "Fenix", serif;
    font-size: 21pt;
}

#pointsPoints, #pointsLevel {
    color: #3c3770;
    font-family: "PhoenicaBd", sans-serif;
    font-weight: bold;
    font-size: 26pt;
    margin: 10px;
}

#pointsPoints {
    font-size: 70pt;
    width: 440px;
}

#layerPoints .bigBold {
    top: 70px;
}

#layerPoints hr {
    color: #000;
    background-color: #000;
    height: 2px;
    border: 0;
    width: 80%;
    margin-top: -30px;
}

#layerPoints #pointsResultText {
    text-align: left;
    margin-left: -12px;
    width: 110px;
    display: inline-block;
}

#layerPoints #pointsResultNumbers {
    display: inline-block;
    float: right;
    text-align: left;
    font-size: 18pt;
    line-height: 34pt;
}

#layerPoints #pointsInputBg {
    position: absolute;
    left: 112px;
    top: 440px;
}

#layerPoints #inputName {
    background: none;
    border: none;
    color: white;
    font-family: "Fenix", serif;
    font-size: 18pt;
    width: 550px;
    height: 52px;
    padding-left: 15px;
    padding-top: 4px;

}

#layerPoints #pointsBottom {
    padding-right: 75px;
    padding-left: 30px;
}

.pointsPlaceWeek,
.pointsPlace,
.pointsPlaceDaily {
    font-family: "PhoenicaBd", sans-serif;
    font-weight: bold;
    font-size: 30pt;
    width:125px;
    display:inline-block;
    text-align: right;
    padding-right:10px;
}


.pointsPlaceDaily{
    color: #186d3d;
}

.pointsPlaceWeek {    
    color: #80b41c;
}

.pointsPlace {
    color: #a61439;
}

.buttonRow {
    width: 960px;
    text-align: center;
}

.buttonRow div {
    display: inline-block;
    position: relative;
    margin: 10px;
}

.messageScreen {
    background-color: rgba(0, 0, 0, 0.7);
}

.messageScreen span {
    top: 250px;
}

.messageScreen div {
    top: 323px;
    left: 353px;
}


#scoreTableUser,
#scoreTableGeneral {
    width: 800px;
    top: 45px;
    left: 80px;
}

#layerHelp .logoSmall {

    margin-left: 253px;
}

#layerHelp #helpScrollMask {
    width: 800px;
    position: absolute;
    left: 80px;
    height: 640px;
    overflow: hidden;
    min-height: 640px;
}

#helpScrollContent {
    height: 100%;
    width: 820px;
}

.scrollable {
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

#layerHelp #helpScrollText {
    background-color: rgba(44, 32, 18, 0.9);
    color: #fff;
    font-family: "Fenix", serif;
    font-size: 17pt;
    line-height: 22pt;
    min-height: 800px;
    padding: 20px;
    padding-right: 40px;
}

#layerHelp #helpScrollText h1 {
    color: #74a614;
    font-family: "Phoenica", sans-serif;
    font-weight: bold;
    font-size: 21pt;
    margin-bottom: 8px;
    margin-top: 50px;
}

#layerHelp #helpScrollText h1:first-of-type {
    margin-top: 0;
}

#layerHelp #helpScrollText ul {
    margin: 0;
}

.scoreTableMask {
    width: 100%;
    overflow: hidden;
}

.scoreTableMask {
    height: 440px;
}

.scoreTableBg {
    /*background-repeat: repeat;*/
    /*background-attachment: local;*/
    height: 100%;
    color: white;
    font-family: "Phoenica", sans-serif;
    font-size: 21pt;
    width: 820px;
}

.scoreTableContent {
    width: 800px;
}

.scoreTableContent div {
    position: relative;
    height: 37px;
    padding-top: 3px;
    padding-left: 20px;
}

.scoreTableContent div:nth-child(odd) {
    background-color: rgba(42, 30, 17, 0.99);
}

.scoreTableContent div:nth-child(even) {
    background-color: rgba(49, 38, 24, 0.91);
}

.scoreTableContent div span:nth-child(n+2):nth-child(-n+3) {
    font-family: "Fenix", serif;
    font-size: 18pt;
}

.scoreTableContent div span:nth-child(1) {
    width: 80px;
    float: left;
}

.scoreTableContent div span:nth-child(2) {
    width: 540px;
    float: left;
}

.scoreTableContent div span:nth-child(4) {
    float: right;
    text-align: right;
    padding-right: 25px;
}

.tableHeader {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
    display: table;
    height: 63px;
    width: 100%;
    margin-bottom: -5px;
    font-family: "Fenix", serif;
    font-size: 19pt;
}

.greenShadow {
    color: #186d3d;
    text-shadow: 0 -1px 0 #1f4a2a;
}

.lightGreenShadow {
    color: #80b41c;
    text-shadow: 0 -1px 0 #678f16;
}

.redShadow {
    color: #a61439;
    text-shadow: 0 -1px 0 #7c0e28;
}

.link1, .link2, .link3 {
    cursor: pointer;
}

.tableHeader li {
    margin: 0;
    padding: 0;
    padding-top: 8px;
    background-repeat: repeat-x;
    display: table-cell;
    white-space: nowrap;
}

.tableHeader li:nth-child(1){
    width: 190px;
    font-size: 23pt;
    color:white;
    text-align: left;
    padding-left: 20px;
}


/**** left tab active *******/
.tableHeader1 li:nth-child(2) {
    background-position: 0 -63px;
    width: 40px;
}

.tableHeader1 li:nth-child(3) {
    background-position: 0 -126px;
}

.tableHeader1 li:nth-child(4) {
    background-position: 0 -189px;
    width: 40px;
}

.tableHeader1 li:nth-child(5) {
    background-position: 0 -252px;
}

.tableHeader1 li:nth-child(6) {
    background-position: 0 -567px;
    width: 40px;
}

.tableHeader1 li:nth-child(7) {
    background-position: 0 -252px;
}

.tableHeader1 li:nth-child(8) {
    background-position: 0 -315px;
    width: 40px;
}


/**** middle tab active *******/
.tableHeader2 li:nth-child(2) {
    background-position: 0 -378px;
    width: 40px;
}

.tableHeader2 li:nth-child(3) {
    background-position: 0 -252px;
}

.tableHeader2 li:nth-child(4) {
    background-position: 0 -441px;
    width: 40px;
}

.tableHeader2 li:nth-child(5) {
    background-position: 0 -126px;
}

.tableHeader2 li:nth-child(6) {
    background-position: 0 -189px;
    width: 40px;
}

.tableHeader2 li:nth-child(7) {
    background-position: 0 -252px;
}

.tableHeader2 li:nth-child(8) {
    background-position: 0 -315px;
    width: 40px;
}

/**** right tab active  *******/
.tableHeader3 li:nth-child(2) {
    background-position: 0 -378px;
    width: 40px;
}

.tableHeader3 li:nth-child(3) {
    background-position: 0 -252px;
}

.tableHeader3 li:nth-child(4) {
    background-position: 0 -630px;
    width: 40px;
}

.tableHeader3 li:nth-child(5) {
    background-position: 0 -252px;
}

.tableHeader3 li:nth-child(6) {
    background-position: 0 -441px;
    width: 40px;
}

.tableHeader3 li:nth-child(7) {
    background-position: 0 -126px;
}

.tableHeader3 li:nth-child(8) {
    background-position: 0 -504px;
    width: 40px;
}


#scoreTableUser .numbers {
    font-family: "PhoenicaBd", sans-serif;
    font-size: 17pt;
}

.userHighScore {
    background-color: #186d3d !important;
}

#layerPoints .buttonRow,
#layerScoreGeneral .buttonRow,
#layerScoreUser .buttonRow {
    top: 550px;
}

#layerScoreUser .logoSmall {
    left: 333px;
}

#layerScoreUser .bigRed {
    position: absolute;
    width: 960px;
    text-align: center;
    top: 148px;
}

#buttonPauseResume {
    left: 350px;
    top: 480px;
}

#layerButtons {
    width: auto !important;
    height: auto !important;
    top: 72px !important;
    left: -5px !important;
}


#buttonHelpClose,
#buttonGameClose,
.buttonScreenClose {
    top: 72px;
    left: -5px;
}

#buttonFb{
    top: 560px;
    left:825px;
}

#buttonClose{

    /*top: 77px;*/
}
/******* buttons *********/

#layerButtons div,
#buttonHelpClose,
#buttonGameClose,
.buttonScreenClose {
    /*make button hitarea bigger*/
    padding: 15px;
    padding-bottom: 5px;
    background-clip: content-box !important;
    background-origin: content-box !important;
}

#buttonPause {
    top: 80px;
}

#buttonShuffle {
    top: 195px;
}

#buttonHint {
    top: 290px;
}

#buttonAudio {
    top: 415px;
}

#layerWelcome .buttonRow {
    top: 470px;
}

#layerError {
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
}

#layerError div {
    margin: auto;
    background-color: rgba(50, 50, 50, 0.8);
    color: white;
    font-family: "Fenix", serif;
    font-size: 20pt;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 420px;
    height: 80px;
    padding: 20px;
    border-radius: 15px;
}

#layerLoading {
    position: absolute;
    background: black;
    width: 100%;
    height: 640px;
}

.center {
    margin: -80px 0 0 -80px;
    position: absolute;
    top: 50%;
    left: 50%;
}

.spinner {
    animation: spin 1s steps(48, end) infinite;
    -webkit-animation: spin 1s steps(48, end) infinite;
    -moz-animation: spin 1s steps(48, end) infinite;
    position: absolute;
}

@-moz-keyframes spin {
    to {
        -moz-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

#layerScore {
    position: absolute;
    top: 10px;
    left: 860px;
    color: white;
    text-shadow: 0 3px 2px #000;
    /*rgba(0,0,0,0.004);*/
}

#layerScore span {
    display: block;
}

.scoreTitle {
    font-family: "Fenix", serif;
    font-size: 20pt;
}

.scoreValue {
    margin-top: -8px;
    margin-bottom: 8px;
    font-family: "Phoenica", sans-serif;
    font-size: 28pt;
}

#bonusTime .scoreTitle {
    color: #f5dd7e;
}

.bonusSub {
    font-size: 14pt;
    margin-top: -4px;
    margin-bottom: 4px;
}

@font-face {
    font-family: "Fenix";
    src: url("Fenix-Regular.ttf");
}


@font-face {
    font-family: 'PhoenicaBd';
    src: url('phoenica_75-webfont.eot');
    src: url('phoenica_75-webfont.eot?#iefix') format('embedded-opentype'),
         url('phoenica_75-webfont.woff2') format('woff2'),
         url('phoenica_75-webfont.woff') format('woff'),
         url('phoenica_75-webfont.ttf') format('truetype'),
         url('phoenica_75-webfont.svg#phoenicabold') format('svg');
    font-weight: bold;
    font-style: normal;

}




@font-face {
    font-family: 'PhoenicaLt';
    src: url('phoenica_45-webfont.eot');
    src: url('phoenica_45-webfont.eot?#iefix') format('embedded-opentype'),
         url('phoenica_45-webfont.woff2') format('woff2'),
         url('phoenica_45-webfont.woff') format('woff'),
         url('phoenica_45-webfont.ttf') format('truetype'),
         url('phoenica_45-webfont.svg#phoenicalight') format('svg');
    font-weight: normal;
    font-style: normal;

}



@font-face {
    font-family: 'Phoenica';
    src: url('phoenica_65-webfont.eot');
    src: url('phoenica_65-webfont.eot?#iefix') format('embedded-opentype'),
         url('phoenica_65-webfont.woff2') format('woff2'),
         url('phoenica_65-webfont.woff') format('woff'),
         url('phoenica_65-webfont.ttf') format('truetype'),
         url('phoenica_65-webfont.svg#phoenicamedium') format('svg');
    font-weight: normal;
    font-style: normal;

}