/*
 * Mise en forme des titres
 */

h1, h2{
    background-color: #bca;
    text-align: center;
    border-radius: 2px;
    box-shadow: 1px 1px 3px #897;
    font-size: 2em;
}

h2 {
    font-size: 1.7em !important;
}

h3 {
    font-size: 1.2em !important;
}

/*
 * Mise en forme de la section (div ou est affiché le contenu)
 */
.section
{
    margin: auto;
    max-width: 80em;
    padding-left: 320px;
    padding-right: 20px;
    height :100%;
}

/*
 * Design des drapeaux de langues
 */
.flag
{
    height: 1em;
    width: 2em;
    vertical-align: middle;
}

/*
 * Mise en forme des articles sur la page d'accueil
 */

.article h3
{
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: bold;
}

.article_date
{
    font-size: 0.8em;
    font-style: italic;
    text-align: right;
}

.article
{
    border: 1px solid #E6E6E6;
    margin-bottom: 20px;
    padding: 5px;
    border-radius: 2px;
}

.article img {
    max-width: 500px;
    border-radius: 2px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 100%;
    box-shadow: 1px 1px 3px #999;
    text-align: center;
}

/*
 * Lien du contact (email)
 */
.contact a
{
    display: inline-block;
    width: 100%;
    text-align: center;
}

/* -------------------------
----    For login page  ----
--------------------------*/

.error_loginorsignup
{
    width: 50%;
    margin: auto;
    padding: 15px;
    background-color: #F5A9A9;
    text-align: center;
}

/* -------------------------
----    For trans page  ----
--------------------------*/

.td_45 {
    width: 45%;
}

.info_update
{
    width: 50%;
    margin: auto;
    padding: 15px;
    text-align: center;
}

.info_update_ok
{
    background-color: #9FF781;
}

.info_update_fail
{
    background-color: #F5A9A9;
}



/* -------------------------
----    Materialize ++  ----
--------------------------*/

/*
 * Logo en haut à gauche
 */

ul.side-nav.fixed li.logo {
    text-align: center;
    margin-top: 32px;
    margin-bottom: 32px;
    color: black;
    font-size: 2em;
}

/*
 * Barre invisible (affiché en mode "responsive")
 */
.navigation {
    background-color: #86955c;
    height: 0px;
}

ul.side-nav.fixed  {
    background-color: #86955c;
}

/*
 * Passage en mode responsive
 */
@media (max-width : 992px) {
    .section {
        padding-left: 20px;
    }

    footer
    {
        padding-left: 20px;
    }

    .navigation
    {
        height: 60px;
    }

    .dlogo
    {
        display: block !important;
    }
}

/*
 * Aligne le bouton déconnexion
 */

#slide-out li form {
    padding-left: 32px;
}

/*
 * Barre invisible du haut
 */
.dlogo {
    margin: auto;
    font-size: 1.5em;
    display: none;
}

/*
 * Overlay image and goban in kifusnap preview
 */
.overlay-div {
    position: relative;
    width:100%;
}

.overlay-div .overlayed-goban {
    display: block;
}

.overlay-div .hover .overlay-center{
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    visibility:hidden;
    transition:.0s ease;
}

/*
 * Show image button
 */
.unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}

/*
 * Pour le graphe dans une partie
 */

.graph .labels.x-labels {
    text-anchor: middle;
}

.graph .labels.y-labels {
    text-anchor: end;
}

.graph .grid {
    stroke: #ccc;
    stroke-dasharray: 0;
    stroke-width: 1;
}

#svg-data {
    fill: none;
    stroke: black;
    stroke-width: 1;
}

#svg-path {
    stroke: #66f;
    stroke-width: 2;
}

#svg-delta {
    fill: none;
    stroke: #FE642E;
    stroke-width: 1;
}

#svg-click {
    cursor: pointer;
}

.data {
    fill: red;
    stroke-width: 1;
}

.point-line {
    visibility: hidden;
    pointer-events:all;
    fill: #ccc;
    stroke: #ccc;
    opacity: 0.5;

    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.point-line-choosen {
    fill: #888;
    stroke: #888;
}

@media only screen and (min-width:1025px) {
    .point-line:hover {
        visibility: visible;
    }
}

.svg-container {
    width: 100%;
    background: #fff;
    margin: 0 auto;
}

/* Pour l'histo */

#histo-graph {
    background-color: #888;
}

.line-black {
    fill: black;
}

.line-white {
    fill: white;
}

.line-red {
    fill: red;
}

.delta-rect {
    fill: #ff776f;
}

/* Pour les choix d'affichage dans une game analysis */

#send_form, #send_form p {
    text-align: center;
}

.explain-text {
    position: relative;
    padding: 5px;
}

#btn-close-help {
    position: absolute;
    top: 5px;
    right: 5px;
    text-align: center;
}

#help-title {
    margin-top: 10px;
    text-align: center;
}

/**************************************************************
***************************************************************
*********************      OLD RULES       ********************
***************************************************************
**************************************************************/

table
{
    margin-left: auto;
    margin-right: auto;
    width: auto;
}

td,th
{
    border-bottom: none;
}

/* Rules */

.go-photo
{
    border-radius:2px;
    margin-left:auto;
    margin-right:auto;
    display:block;
    width:100%;
    box-shadow: 1px 1px 3px #999;
}

.arrow_hidden
{
    visibility: hidden;
}

.translation
{
    display: none;
}

.center
{
    text-align: center !important;
    float: none !important;
}

.margin-button
{
    margin-top:5px;
}

.next
{
    text-align: right;
}

.previous
{
    text-align: left;
}

/****************************************************************
 * Permet d'avoir l'animation lors de la phase de chargement
 * des boards
 ****************************************************************/

.loader {
    border: 8px solid #f3f3f3;
    border-radius: 50%;
    border-top: 8px solid black;
    width: 20px;
    height: 20px;
    margin: 0 auto;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/****************************************************************
 * Style de l'affichage du message si javascript est désactivé
 ****************************************************************/

noscript
{
    display: block;
    text-align: center;
    padding: 10px;
    background-color: #FF8F8F;
    border-radius: 10px;
}

.cPositionBoard, .cBasicBoard, .cIABoard, .cExercicePlayBoard, .cExerciceBoard, .cEditableBoard
{
    display: none;
    position: relative;
}

.translation
{
    display: none;
}

/*
 * Div contenant tout les boutons
 */

.divButtons
{
    position: relative;
    margin: auto;
}

/*
 * Bouton des menus
 */

.buttons
{
    min-height: 25px;
    min-width: 10%;
    font: bold 16px Arial;
    border-radius: 2px;
    border: none;
    box-shadow: 1px 1px 3px #999;
    margin: 5px;
    background-color: #CDCCE0;
}

select
{
    color:black;
    background-color:white;
}

.buttons:disabled , .buttonsBot:disabled , .btn:disabled
{
    color: #73718F;
    background-color: #9D9BB1;
}

/*
 * Boutons du menu du bas
 */

.buttonsBot
{
    font: bold 16px Arial;
    border-radius: 2px;
    border: none;
    box-shadow: 1px 1px 3px #999;
    margin: 3px;
}

/*
 * Boutons du menu du bas
 */

.buttonsBotBot
{
    font: bold 16px Arial;
    border-radius: 2px;
    border: none;
    box-shadow: 1px 1px 3px #999;
    margin: 5px;
}

.analyzeMenu
{
    width: 100%;
    top:0px;
}

/*
 * Case pour afficher l'arbre et les commentaires
 */

.displayComTree
{
    text-align: left;
    font: 12px Arial;
}

/*
 * Div des menus droit/gauche/bas
 */

.menuButtons
{
    padding: 10px;
    position: absolute;
    bottom: 0;
    text-align: center;
}

/*
 * Div des bouton du bas
 */

.botMenu
{
    width: 100%;
    height: 50px;
    bottom: 50px;
}

/*
 * Div des bouton du bas bas
 */

.botbotMenu
{
    width: 100%;
    height: 50px;
    bottom: 0;
}

/*
 * Champ de commentaire
 */

.commentaryField
{
    height: 100%;
    width: 50%;
    box-sizing: border-box;
    resize: none;
}

/*
 * Canvas pour l'arbre
 */

.treeCanvas
{
    position: relative;
    height: 95%;
    width: 1000px;
    box-sizing: border-box;
}

/* canvas next move */

.nextCanvas {
    position: absolute;
    left: 0;
    z-index: 5;
    pointer-events:none;
}

/*
 * Div score & param
 */

.divHiddenStyle
{
    height: auto;
    display: none;
    text-align: center;
    font-size: 12px;
    position: absolute;
    box-sizing: border-box;
    margin-top: auto;
    margin-bottom: auto;
}

.divHiddenDisplay
{
    font-size: large;
    background-color: white;
    z-index: 10;
    width: 100%!important;
    border: 1px solid black;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

/*
 * Div contenant commentaire et arbre
 */

.divHidden
{
    height: 100px;
    width: 100%;
    position: absolute;
    display: none;
}

/*
 * Div contenant le score d'un joueur
 */

.divScorePlayer
{
    width: 45%;
    display: inline-block;
    margin: 3px;
    margin-top: 10px;
    border-radius: 5px;
    z-index: 10;
}

.divScorePlayer h4
{
    margin: 0;
}

.divScorePlayer ul
{
    padding: 0;
    list-style: none;
}

/*
 * Div contenant l'arbre
 */

.divTree
{
    width: 50%;
    height: 100%;
    display: inline-block;
    overflow: scroll;
}

/*
 * Canvas board
 */

.boardCanvas
{
    z-index: 0;
    border-radius: 10px;
    box-shadow: 1px 1px 3px #999;
    max-width: 100%;
}

/*
 * Canvas transparent, policy, territory, owner
 */

.playerCanvas, .territoryCanvas, .policyCanvas, .ownerCanvas
{
    position: absolute;
    left: 0;
    z-index: 2;
}


.canvasDiv {
    position: relative;
    /*max-height: 100%!important;*/
    margin: auto;
    width: 100%;
}
.b_score
{
    min-width: 70px;
}

.ui-overlay {
    position: fixed !important;
    top: 0px;
    left: 0px;
    background-color: black;
    width: 100% !important;
    height: 100% !important;
    z-index: 20;
}

.rightMenu {
    border: 1px solid black;
    width: 200px;
    z-index: 20;
    position: absolute;
    right: 0;
}



/**********************************************************************
***********************************************************************
**********************************************************************/

/**********************************************************************
******************                              ***********************
******************            BOUTONS           ***********************
******************                              ***********************
**********************************************************************/

/*
 * Div containing button
 */
.d_button_centered_espaced
{
    margin-top:1em;
    margin-bottom:1em;
    text-align:center;
}

/*
 * Efface le contour lors du focus sur les deux flèches de navigation (mauvais pour les utilisateurs aux claviers)
 */

.b_navig_analyze:focus
{
    outline: none;
}

/*
 * Div contenant tout les boutons
 */

.d_buttons
{
    position: relative;
    margin: auto;
}

/*
 * Div contenant les boutons du bas en taille 100
 */

.d_buttons_bot_150
{
    bottom: 0;
    text-align: center;
    width: 100%;
    bottom: 0;
    height: 100%;
}


/*
 * Div contenant les boutons de navigation en bas
 */

.d_buttons_bot_navig
{
    bottom: 0;
    width: 100%;
    padding-top: 5px;
}

/*
 * Div contenant les boutons de navigation en bas
 */

.d_buttons_bot_game
{
    bottom: 50px;
    width: 100%;
    padding-top: 5px;
}

.p_nav {
    text-align: center;
}

/*
 * Div contenant les boutons détails (policy et territory)
 */

.d_buttons_bot_detail
{
    bottom: 50px;
    width: 100%;
}

.d_buttons_bot_detail label
{
    margin-top: 10px;
}

.d_buttons_bot_detail form input, .d_buttons_bot_game input, .d_buttons_bot_navig input {
    margin-right: 5px;
    margin-left: 5px;
}

/*
 * Canvas permettant la navigation dans l'arbre
 */

.c_tree
{
    position: absolute;
    left: 0;
    z-index: 4;
}


/*****************************************************************
******************************************************************
**************           NEW ANALYSIS UI           ***************
******************************************************************
******************************************************************
 */

#cb-crazy-analyzer{
    max-height: 100%;
    padding-bottom: 10px;
}


#cb-top-analyzer{
    position: relative;
    width: 100%;
    height: 50px;
    min-height: 50px;
    margin-bottom: 0!important;
    z-index: 11;
}

#cb-body-analyzer{
    position: relative;
    top: 0;
    bottom: 0;
    margin-bottom: 0!important;
    z-index: 9;
    /*background-color: rgb(230, 230, 230);*/
    height: 100%;
    width: 100%;
}

#cb-bottom-analyzer{
    margin-bottom: 0!important;
    position: relative;
    width: 100%;
    bottom: 0;
    z-index: 10;
    height: 100px;
    min-height: 100px;
}

#cb-top-menu {
    height: 100%;
}

#cb-setup-show{
    height: 100%;
}

#cb-top-menu ul {
    height: 100%;
    margin: 0;
}

#cb-top-menu ul li {
    width: 20%;
    height: 100%;
    text-align: center;
}

#cb-top-menu ul li i{
    line-height: 50px;
}

#cb-setup-show .input-field{
    height: 100%;
    padding: 0;
    margin-top: 0!important;
}

#cb-buttons-1 ul {
    width: 100%;
    height: 100%;
    margin: 0;
    text-align: center;
}

#cb-buttons-1 ul li {
    height: 100%;
    width: 15%;
}

#cb-buttons-1 ul li a {
    height: 100%;
    width: 100%;
    line-height: 30px;
}

#cb-buttons-2-board {
    height: 100%;
    width: 40%;
    margin: auto;
}

#cb-buttons-2-board input {
    margin-bottom: 0!important;
}

#cb-board-analyzer{
    max-width: 100%;
    height: 100%;

}

#cb-diagram-analyzer {
    text-align: center;
    padding: 5px;
}

#cb-diagram-zone1, #cb-diagram-zone2, #cb-buttons-zone3 {
    height: 100%;
    margin-bottom: 0!important;
    /*max-width: 90vmin;
    max-height: 90vmin;*/
}

#cb-buttons-zone3 {
    padding-top: 5px;
}

#canvas-histo, #move-graph {
    max-width: 100%;
}

.canvasDivAnalysis canvas {
    width: 95vmin;
    max-height: 95vmin;
    margin: auto;
}

@media (orientation: portrait) {
    #cb-body-analyzer {
        display: block!important;
    }

    #cb-board-analyzer {
        width: 100%;
    }

    #cb-diagram-analyzer {
        width: 100%;
    }

    .canvasDivAnalysis {
        max-width: 60vmin !important;
        max-height: 60vmin !important;
    }

    #canvas-histo, #move-graph {
        max-height: 15vmin !important;
    }

}

.btn-analysis {
    margin-right: 5px;
    margin-left: 5px;
    padding-right: 1em;
    padding-left: 1em;
}

#bookmark {
    float: right;
    cursor: pointer;
}

.bookmark-btn {
    /* Permet d'empêcher la latence quand on passe dessus */
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;

    margin-bottom: 10px;
}

.bookmark-del-btn {
    /* Permet d'empêcher la latence quand on passe dessus */
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;

    margin-bottom: 10px;
}

/****************************************************************
*****************************************************************
*******************     translator page      ********************
*****************************************************************
****************************************************************/

.translation-add h3 {
    text-align: center;
}

.translation-add {
    width: 80%;
    margin: auto;
    border: 1px solid grey;
    padding: 5px;
}

/* Games */

.game-string-name {
    margin: 0;
    overflow: hidden;
    /*width: inherit;*/
    height: 20px;
    text-align: center;
    margin-bottom: 5px;
    width: 100%;
}

.col-game {
    padding-bottom: 10px!important;
    margin-bottom: 10px;
}

.col-game:hover {
    background-color: #f2f2f2;
}

.col-game a {
    color: #3e3e3e;
}

.td-head {
    text-align: right;
    font-weight: bold;
}

.bottom-space {
    margin-bottom: 1em;
}

.list-container {
    justify-content: center;
    max-width: 25em;
}

.list-button {
    width:100%;
}

.list-item {
    text-align: left;
}

.button-icon {
    float:left;
}


/* Kifusnap Analysis Modal styling */
.modal, .modal-content {
    max-height: 420px !important;
}

.no-padding-y {
    padding-top:5px !important;
    padding-bottom:5px !important;
}

.no-margin-y {
    margin-top:5px !important;
    margin-bottom:5px !important;
}

table.no-padding-y td {
    padding-top:5px !important;
    padding-bottom:0 !important;

}

.modal-overlay {
    height: auto !important;
}

#varKomi {
    width: calc(100% - 3em);
}

#varHandicap {
    width: calc(100% - 3em);
}

/* image loader */
@keyframes transparent_keyframes
{
 from
 {
  opacity: 0.5;
 }

 to
 {
  opacity: 0.5;
 }
}

.transparent_animation
{
 animation: transparent_keyframes 2s linear infinite;
}

@keyframes loader_spin_keyframes
{
 from
 {
  visibility: visible;
  transform: rotate(0deg);
 }

 to
 {
  visibility: visible;
  transform: rotate(360deg);
 }
}

.loader_spin_animation
{
 animation: loader_spin_keyframes 2s linear infinite;
}

.image_container
{
 position: relative;
 display: inline-block;
}

.image_loader
{
 visibility: hidden;
 position: absolute;
 left: 50%;
 top: 50%;
 z-index: 1;
 width: 4em;
 height: 4em;
 margin: -2em 0 0 -2em;
 border: 0.5em solid #f3f3f3;
 border-radius: 50%;
 border-top: 0.5em solid black;
}

.web-app
{
 touch-action: manipulation;
 overflow-x:hidden;
 overflow-y:hidden;
}

.div-to-fit
{
 position:relative;
 flex-direction:column;
 justify-content:center;
 margin:auto;
}
