/*! 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;
    font-family: "Phoenica", sans-serif;
}

#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;
}


#gameArea{
    /*top: 0;*/
    left:160px !important;
    width: 640px !important;
    height: 640px;
    overflow:hidden;
}

.gem{
    position: absolute;
    cursor: pointer;
}

.gemBg, .gem{
    width:80px;
    height: 80px;
    background-size: 640px 480px;
}


.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;
}

.bigBold .smaller{
    font-size: 20pt;
}

.bigSub, .pointsPlaceWeek {
    color: #ef790b;
    font-size: 22pt;
}

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

#scoreCopy, .pointsPlace {
    color:#9f0094;
    text-shadow: none;
}


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

#layerPoints #pointsText {
    padding-top: 18px;
    font-size: 20pt;
    text-align: left;
    width:420px;
    margin-left: auto;
    margin-right: auto;
}

#pointsPoints, #pointsLevel {
    color: #84be12;
    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:#1d4695;
    background-color: #1d4695;
    height: 2px;
    border: 0;
    width: 100%;
    margin-top: -30px;
}

#layerPoints #pointsResultText {
    text-align: left;
    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-size: 18pt;
    width: 550px;
    height: 52px;
    padding-left: 15px;
    padding-top: 4px;

}

#layerPoints #pointsBottom {
    padding-right: 50px;
}

.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;
}


.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 {
    background-repeat: no-repeat;
    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(25, 0, 24, 0.75);
    color: #fff;

    font-family: "PhoenicaLt";
    font-size: 16pt;
    line-height: 22pt;
    min-height: 800px;
    padding: 20px;
    padding-right: 40px;
}

#layerHelp #helpScrollText h1 {
    color: #f4ad1f;
    font-family: "PhoenicaBd";
    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(25, 0, 24, 0.75);

}

.scoreTableContent div:nth-child(even) {
    background-color: rgba(25, 0, 24, 0.66);
}

.scoreTableContent div span:nth-child(n+2):nth-child(-n+3) {
    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(3) {
    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-size: 18pt;
}

.pointsPlaceDaily,
.greenShadow,
.tableHeader li:nth-child(1),
#scoreTableGeneral .tableHeader li:nth-child(3) {
    color: #f0780c;
}

.pointsPlaceWeek,
.lightGreenShadow,
#scoreTableGeneral .tableHeader li:nth-child(5) {
    color: #1f9ef6;
}

.pointsPlace,
.redShadow,
#scoreTableGeneral .tableHeader li:nth-child(7) {
    color: #9f0094;
}

.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: 21pt;
    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: #b40085 !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,
#layerSelect .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-size: 20pt;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 450px;
    height: 100px;
    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 2px 1px rgba(0,0,0,0.25);
}

#layerScore span {
    display: block;
}

.scoreTitle {
    font-size: 20pt;
    color:#3096de;
}

.scoreValue {
    margin-top: -8px;
    margin-bottom: 8px;
    font-size: 28pt;
    color:#9f0094;
}

#bonusTime .scoreTitle {
    color: #f5dd7e;
}

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


@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;

}