* {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
}

a:link, a:visited, a:hover, a:active {
    text-decoration: none;
}

.ui-widget {
    font-family: 'Roboto', sans-serif;
    font-weight: 100;
}

img:not(.png) {
    width: 100%;
}

body {
    background: url("/javax.faces.resource/pozadie.jpg.xhtml?ln=images") no-repeat center center fixed;
    -moz-background-size: cover;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    margin: 0;
}

/*OVERLAY AT BEGINNING*/
#overlay {
    background-color: rgba(0, 0, 0, 0);
    z-index: 999;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
}

/*BACK TO GAMESTUDIO*/
#ribbon {
    position: relative;
    display: block;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0;
    border: none;
    background-color: rgba(0, 0, 0, 0.7);
}
#backToGamestudio {
    display: block;
    padding-left: 10px;
    padding-top: 9px;
}

.logo {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0 auto;
    vertical-align: middle;
}

.svg {
    display: inline-block;
    width: 100%;
    height: 100%;
    text-align: left;
    background-color: #FFF;
    border-radius: 50%;
}

.svg img {
    width: 60%;
    display: inline-block;
    padding-top: 14%;
    padding-left: 18%;
}

#backLabel {
    vertical-align: middle;
    display: inline-block;
    color: snow;
    font-size: 14px;
    font-weight: 300;
    margin-left: 5px;
}

.fa-arrow-left {
    margin-left: 5px;
    vertical-align: middle;
    font-size: 14px;
    color: snow;
}

.ribbonLoggedUser {
    position: absolute !important;
    display: inline-block;
    right: 0 !important;
    top: 0;
    margin-top: 14px;
    margin-right: 20px;
    color: snow;
    font-size: 14px;
    font-weight: 300;
}

.header {
    display: block;
}

#header-img {
    margin: 0 auto;
    width: 655px;
}

.main {
    margin-top: 30px;
    display: block;
    width: 100%;
}

.content {
    margin: 0 auto;
    margin-bottom: 20px;
    padding-bottom: 20px;
    background-color: rgba(0,0,0, 0.4);
    min-width: 1200px;
    width: 1200px;
    height: auto;
}

/*COLORS*/

.redTile {
    background-color: #E74552;
}

.orangeTile {
    background-color: #F87D3F;
}

.lightGreenTile {
    background-color: #87BF80;
}

.darkGreenTile {
    background-color: #4CA5A4;
}

.blueTile {
    background-color: #4A90E2;
}

.yellowTile {
    background-color: #F9BF48;
}

.brownTile {
    background-color: #9B6553;
}

.blackTile {
    background-color: #3E4853;
}

.purpleTile {
    background-color: #C16DC4;
}

/*COLOR SELECTOR*/
.selector button {
    margin-bottom: 14px;
    border: 1px solid #FFFFFF;
    border-radius: 100px;
    width: 30px;
    height: 30px;
    outline: none;
}

.selector button {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
    -webkit-transition-property: transform;
    transition-property: transform;
}
.selector button:hover, .selector button:focus, selector button:active {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
}

#paletteContainer {
    float: left;
    display: inline-block;
    margin-top: 30px;
    margin-left: 540px;

    width: 50px;
    height: 474px;
    position: relative;
}

#colorSelector, #paletteBg {
    position: absolute;
    top: 0;
    left: 0;
}

#colorSelector {
    width: 30px;
    margin-left: -14px;
    z-index: 10;
}

.clearButton {
    background-color: transparent;
    border-color: transparent !important;
    background-image: url("") !important;
    background-size: 30px 30px;
}

.activeColor {
    -webkit-transform: scale(1.4) !important;
    transform: scale(1.4) !important;
    border-width: 2px !important;
    box-shadow: 0px 0px 7px 3px rgba(255,255,255,0.50);
}

.clearButton.activeColor {
    border-width: 1px !important;
}

/*SUDOKU*/

#sudokuContainer {
    display: inline-block;
    margin-left: 40px;
    width: 1120px;
    /*width: 40%;*/
    position: relative;
}

#sudokuTable, #sudokuFrame {
    float: left;
    display: inline-block;
    width: 486px;
    height: 486px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 auto;
}

#sudokuTable {
    z-index: 10;
}

/*GENERATED TABLE STYLE*/
.sudokuSquare {
    position: relative;
    width: 100%;
    display: table;
}

.sudokuSquare:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.tableRow {
    display: table-row;
}

.tableCell {
    display: table-cell;
    position: absolute;
    width: 8.230452675%;
    height: 8.230452675%;
}

/*TILE STATES*/
.fixedTile {
    box-sizing: border-box;
    border-color: snow;
    border-width: 1px;
    border-style: solid;
}

.fixedTileInvalid {
    box-sizing: border-box;
    border: 2px solid red;
}

.variableTileInvalid {
    box-sizing: border-box;
    border: 1px solid red;
}

/*INFO*/
#infoContainer {
    margin-top: 30px;
    display: inline-block;
    position: relative;
    float: right;
    width: 520px;
}

#stats {
    display: block;
    margin-bottom: 40px;
}

#buttons {
    display: block;
}

.gameButtons {
    color: snow;
    background: none;
    text-shadow: none;
    box-shadow: none;
    border: 1px solid snow !important;
    font-family: 'Roboto', sans-serif;
    width: 150px;
    margin-left: 10px !important;
}

.ui-button {
    margin-right: 10px !important;
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.ui-button:hover{
    outline: none;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.ui-state-focus {
    outline: none;
}

.ui-state-default, .ui-widget-content, .ui-state-default, .ui-widget-header .ui-state-default {
    background: none;
    text-shadow: none;
    box-shadow: none;
    border: 1px solid snow;
}

.ui-corner-all {
    border-style: none;
}

#nameDiv {
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 15px;
    display: inline-block;
}

#diffDiv {
    border-left: 1px solid snow;
    padding-top: 10px;
    padding-left: 20px;
    padding-right: 15px;
    display: inline-block;
}

#timeDiv {
    border-left: 1px solid snow;
    padding-top: 10px;
    padding-left: 20px;
    padding-right: 15px;
    display: inline-block;
}

#scoreDiv {
    border-left: 1px solid snow;
    padding-top: 10px;
    padding-left: 20px;
    display: inline-block;
}

.h2Infos {
    font-size: 22px;
    font-family: 'Roboto', sans-serif;
    font-weight: 100;
    color: snow;
    margin-bottom: 10px;
}

.infoForm {
    margin-bottom: 10px;
}

h3 {
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: snow;
    margin-top: 0;
    margin-bottom: 5px;
}

/*NEW GAME DIALOG*/
.ui-widget-overlay {
    background: black;
    opacity: 0.7;
}

.newGameDialog {
    top: 40% !important;
}

.newGameDialog .ui-dialog-content {
    background: white !important;
    padding: 20px 10px 30px 30px !important;
}

.ui-widget-header {
    background: white
}

.newGameDialog .ui-dialog-title {
    font-size: 20px;
}

.ui-icon {
    overflow: visible !important;
}

.ui-icon.fa {
    margin-top: -8px !important;
    margin-left: 5px;
}

.ui-icon.fa-question {
    margin-left: 2px !important;
}

.ui-dialog .ui-dialog-titlebar {
    padding-left: 30px !important;
    padding-top: 20px !important;
    padding-right: 20px !important;
}

.ui-dialog .ui-dialog-titlebar-close.ui-state-hover {
    border-radius: 0;
    background: none;
    outline: none;
    border: none;
    box-shadow: none;
    color: black;
}

.ui-corner-all {
    -webkit-border-radius:0;
    -moz-border-radius:0;
    border-radius: 0;
}

.ui-dialog-content .ui-state-default, .ui-dialog-content .ui-state-hover {
    background: none;
    text-shadow: none;
    box-shadow: none;
    border: 1px solid black;
    outline: none;
}

.diffButton.ui-button span {
    color: black;
    width: 80px;
}

/*BLOCKS*/
#services {
    margin-top: 70px;
    margin-left: 10px;
}

#ratingAndFavourite {
    display: inline-block;
    vertical-align: top;
    width: 250px;
    border-right: thin snow solid;
}

#rating {
    padding-top: 20px;
    margin-left: 10px;
    display: block;
}

#favourite {
    margin-top: 30px;
    display: block;
}

#score {
    display: inline-block;
    font-size: 14px;
    padding-top: 20px;
    padding-bottom: 10px;
    padding-left: 40px;
}

#comments {
    display: block;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
}

#score li {
    padding-top: 5px;
}

#score ol {
    margin-top: 5px;
    list-style-position: inside;
    padding-left: 0;
}

/*FAVOURITE*/
#favourite {
    display: inline-block;
}

.favToggle {
    padding: 5px 15px 5px 10px;
    color: snow;
    background: none;
    text-shadow: none;
    border: none;
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    outline: none;

    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.favToggle:hover {
    outline: none;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

/*SCORE*/
#scoreList {
    color: snow;
}

/*COMMENT*/
.buttonNoBorder {
    color: white;
    margin-top: 5px;
}

.buttonNoBorder span {
    margin-left: 0 !important;
}

/*WELCOME DIALOG*/
.welcomeDialog {
    top: 15% !important;
}

.welcomeDialog .ui-dialog-title {
    font-size: 30px;
}

.welcomeDialog .ui-dialog-content {
    background: white !important;
    padding: 0 10px 10px 30px !important;
}

.shortcutsGrid .ui-widget-content{
    border-color: #A5A5A5;
    font-size: 14px;
}

.ui-panelgrid-header {
    border-color: #3E4853;
    font-size: 16px;
}

.shortcut {
    text-align: center;
}

.createdBy {
    width: 396px;
    display: block;
    text-align: center;
    font-size: 12px;
    color: #5f5f5f;
}

.createdBy a {
    color: #5f5f5f;
}

.fb-share-button {
    margin-top: 10px;
    margin-left: 155px;
}

/*SERVICES DISABLED DIALOG*/
.loginRegisterButton {
    margin-top: 20px;
}

.servicesOff {
    top: 40% !important;
}

.servicesOff .ui-dialog-content{
    background: white !important;
    padding: 0 20px 25px 30px !important;
}

.servicesOff .ui-dialog-title {
    font-size: 25px;
}

/*COMMENT DIALOG*/
.commentDialog {
    top: 40% !important;
}

#commentText:focus, #commentText:hover {
    -webkit-box-shadow: inset 0 1px 2px #8f8f8f;
    -moz-box-shadow: inset 0 1px 2px #8f8f8f;
    box-shadow: inset 0 1px 2px #8f8f8f;
}

#commentText {
    display: block;
    margin-right: 20px;
    font-size: 16px;
}

.commentDialog .ui-dialog-content {
    background: white !important;
    padding: 0 10px 20px 30px !important;
}

.commentDialog .ui-dialog-title {
    font-size: 25px;
}

#display {
    font-size: 14px;
}

.addCommentButton {
    margin-top: 5px;
    height: 40px;
}

.addCommentButton span {
    color: black;
}

.addCommentButton .ui-icon.fa {
    margin-top: 10px;
}

/*WIN DIALOG*/
.winDialogNewGameButton.ui-button span {
    color: black;
}

.winDialogNewGameButton {
    margin-left: 38px;
}

/*COMMENT TABLE*/
#commentTable {
    font-size: 14px;
}

#favToggleText {
    padding-left: 10px;
}

/*RATING*/
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled {
    opacity: 1 !important;
}

.ui-rating-star a, .ui-rating-cancel a {
    background-image: url("/javax.faces.resource/images/colorsudoku/rating-stars.png.xhtml") !important;
    background-size: 16px 80px !important;
}

/*ANIMATION SVG*/
svg path {
    fill-opacity: 0;
    stroke: snow;
    stroke-width: 2;
    stroke-dasharray: 870;
    stroke-dashoffset: 870;
    animation: draw 3s linear forwards;
    -webkit-animation: draw 3s linear forwards;
}

svg text {
    fill-opacity: 0;
    stroke: snow;
    stroke-width: 2;
    stroke-dasharray: 870;
    stroke-dashoffset: 870;
    animation: draw 4s linear forwards;
    -webkit-animation: draw 4s linear forwards;
}

@keyframes draw {
    to {
        stroke-dashoffset: 0;
        fill-opacity: 1;
    }
}

@-webkit-keyframes draw {
    to {
        stroke-dashoffset: 0;
        fill-opacity: 1;
    }
}

#hruby path {
    fill-opacity: 0;
    stroke: snow;
    stroke-width: 2;
    stroke-dasharray: 870;
    stroke-dashoffset: 870;
    animation: draw 3s linear forwards;
    -webkit-animation: draw 3s linear forwards;
}

#kocka-copy-9 path {
    fill-opacity: 0;
    stroke: snow;
    stroke-width: 1;
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    animation: draw 3s linear forwards;
    -webkit-animation: draw 3s linear forwards;
}

.opacityFull {
    opacity: 1 !important;
}

/*COPYRIGHTS*/
#author {
    font-size: 13px;
    display: block;
}

#year {
    font-size: 14px;
    display: block;
}

#credits {
    margin: 0 auto;
    display: block;
    text-align: center;
    color: snow;
}

#credits a {
    color: snow;
    text-decoration: none;
}

#power {
    display: inline-block;
    vertical-align: middle;
}

#kpi-logo {
    vertical-align: middle;
    background-image: url("/javax.faces.resource/logo-kpi.png.xhtml?ln=images");
    background-size: 60px 60px;
    width: 60px;
    height: 60px;
    display: inline-block;
}