/* custom scrollbars */

::-webkit-scrollbar {
    display: block;
}

#element {
    scrollbar-width: none;
}

@font-face {
    font-family: 'mono';
    src: url('font/SourceCodePro-Medium.otf') format('opentype');
}

* {
    box-sizing: border-box;
    scrollbar-width: none;
    /* font-family: Courier, monospace; */
}

/* this helps removing the spin box from the input field */

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0;
    /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
    -moz-appearance: textfield;
    /* Firefox */
}

body {
    padding: 0;
    margin: 0;
    font-size: 100%;
    hyphens: auto;
    background-color: #ccc;
    font-family: Courier, monospace;
}

button {
    font-family: Courier, monospace;
}

input {}

#p5Sketch {
    position: fixed;
    width: 67%;
}

::-webkit-scrollbar-track {
    /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,1); */
    background-color: #fff;
}

::-webkit-scrollbar {
    width: 4px;
    background-color: #F5F5F5;
}

::-webkit-scrollbar-thumb {
    background-color: #f00;
    /* border: 2px solid #555555; */
}

.footer-menu {
    display: none;
    position: fixed;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 150px;
    background-color: #00f;
    /* margin: auto 0; */
}

.footer-menu button {
    padding: 0.3em;
    max-width: 100px;
    margin-top: 2px;
    /* top: 50%;
    transform: translate(0%, 50%);
    -moz-transform: translate(0%, 50%);
    -webkit-transform: translate(0%, 50%); */
}

.footer-btns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.footer-agent-info div {
    /* float: left; */
    /* font-size: 1.4rem; */
    /* text-align: center;
    width: 25%;
    height: 20px;
    color: #fff;
    text-overflow: ellipsis; */
}

.footer-agent-elt {
    /* float: left; */
    display: grid;
    grid-template-columns: 170px 1fr;
    text-align: center;
    /* width: 25%; */
    height: 30px;
    color: #fff;
    text-overflow: ellipsis;
    font-size: 1.5rem;
}

#working {
    background-color: #0f0;
    width: 25%;
    height: 10px;
}

#swapping {
    background-color: #0ff;
    width: 25%;
    height: 10px;
}

#resting {
    background-color: #000;
    width: 25%;
    height: 10px;
}

#available {
    background-color: #f00;
    width: 25%;
    height: 10px;
}

.traits-txt-input {
    width: 100px;
}

.box {
    background-color: #ccc;
    border: solid 2px #000;
    box-shadow: #00f 3px 3px;
    margin-top: 1rem;
}

.menu {
    /* display: none; */
    background-color: #fffa;
    border: 2px solid #000;
    /* border-radius: 10px; */
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    width: 80%;
    height: 80vh;
    overflow-y: scroll;
    z-index: 99999999;
}

.load-save {
    height: auto;
    margin-bottom: 0.5rem;
    text-align: center;
}

.load-save-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    width: 45%;
}

select#load-config option.btn {
    display: flex;
    flex-direction: row;
    /* overflow: -moz-hidden-unscrollable; */
}

.traits-input {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-gap: 0.5rem;
}

.traits-item {
    background: #ccc;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
    grid-gap: 0.5rem;
    border: solid 2px #000;
    padding: 0.5rem;
    box-shadow: #00f 3px 3px;
}

.menu input[type=text], .menu input[type=number] {
    /* max-width: 40px; */
    /* appearance: none; */
    font-family: Courier, monospace;
    background-color: #fff;
    color: #f00;
    padding: 0.15rem;
    font-weight: bolder;
    font-size: 1rem;
    width: 100px;
    border: solid 2px #000;
    box-shadow: #00f 3px 3px;
    text-align: center;
}

.menu input[type=number]:hover, .menu input[type=text]:hover {
    box-shadow: #00f 6px 6px;
}

.traits-elt {
    border-bottom: solid 2px #fff;
}

.hide {
    display: block;
    grid-column: 1 / span 2;
    color: #f00;
    background-color: #fff;
    border: solid 2px #000;
    box-shadow: #00f 3px 3px;
    padding: 0.15rem;
}

button#close-menu {
    position: fixed;
    top: 0px;
    right: 0px;
}

.custom-input, .custom-behavior {
    max-width: 50px;
    margin: 5px;
}

.menu-content {
    color: #00f;
    /* color: #0f0; */
    display: flex;
    flex-direction: column;
    align-items: stretch;
    /* background-color: #f00; */
    /* margin: 20px auto; */
    padding: 10px;
}

.menu-content button {
    text-align: center;
    padding: 2rem;
    font-size: 1.5em;
    color: #f00;
    background-color: #fff;
    margin-top: 1rem;
}

.menu-content button:hover {
    /* font-style: italic; */
    /* border-radius: 0px; */
    color: #00f;
    border: solid 2px #f00;
    cursor: pointer;
    box-shadow: #00f 6px 6px;
}

.menu-set-agents, .model-settings {
    padding: 0.5rem;
    text-align: center;
}

.menu-set-agents i {
    color: #f00;
    /* font-size: 2rem; */
}

.model-settings {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
}

.model-settings-item {
    padding: 0.5rem;
}

/* .menu-content p{
    line-height: 1.8em;
} */


.content {
    /* padding: 2px; */
    color: #00f;
    cursor: pointer;
}

.content:hover {
    background-color: #0f0;
    color: #f00;
    text-decoration: underline #00f;
    font-style: italic;
}

#info-window {
    /* display: none; */
}

.info {
    visibility: hidden;
    /* position: fixed; */
    /* background-color: #fff; */
    /* width: 100%; */
}

.preference {
    color: #f00;
}

#display-date, .load-save {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    /* position: fixed; */
    /* left: 0px; */
    /* top: 0px; */
    /* width: 100%;
    height: min-content;
    height: -moz-min-content;
    height: -webkit-min-content; */
    /* margin-bottom: 10px; */
    /* padding: 10px; */
    /* z-index: 99999;
    background-color: #0f0; */
}

.date-el {
    padding: 0.5rem;
    margin: 0.5rem 0;
    text-align: center;
    width: 18%;
    border-radius: 0px;
    border: solid 2px #000;
    background-color: #fff;
    box-shadow: #00f 3px 3px;
    text-transform: uppercase;
    font-family: Courier, monospace;
    font-size: 0.85rem;
}

/* d3js && c3js styling */

.viz-container {
    width: 100%;
    height: auto;
    background-color: #ccc;
    /* display: grid;
    grid-template-rows: 75px 1fr;
    grid-template-columns: 200px 1fr;
    grid-template-areas: "header header" "mn chart"; */
}

.header {
    position: fixed;
    top: 0px;
    left: 0px;
    height: 75px;
    width: 100%;
    /* grid-area: header; */
    background-color: #aaa;
    border-bottom: solid 2px #000;
}

.chart-menu {
    /* grid-area: mn; */
    position: fixed;
    top: 75px;
    left: 0px;
    width: 200px;
    height: calc(100vh - 75px);
    background-color: #ccf;
    padding: 0.25rem;
}

.caption {
    color: #00f;
    border-bottom: solid 2px #000
}

.caption-config {
    color: #00f;
    padding: 0.25rem;
    font-size: 0.75rem;
}

.btn {
    cursor: pointer;
    padding: 0.5rem;
    margin: 0.5rem 0;
    text-align: center;
    width: max-content;
    border-radius: 0px;
    border: solid 2px #000;
    background-color: #fff;
    box-shadow: #00f 3px 3px;
    text-transform: uppercase;
    font-family: Courier, monospace;
    font-size: 0.85rem;
}

.btn:hover {
    background-color: #ff0;
    border-radius: 50px;
}

option.btn:checked {
    background-color: #ff0;
    border-radius: 50px;
}

.select-btns {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

select.select-el, .btns select, .load-save select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* background-position: right 0px top 0.25rem;
    background-size: 1.5rem 1.5rem, 1.5rem 1.5rem, 2.5em 2.5em;
    background-repeat: no-repeat;
    background-image: url('icons/arrow-down.svg'); */
    /* Add custom arrow */
    cursor: pointer;
    padding: 0.5rem;
    margin: 0.5rem 0;
    text-align: center;
    border-radius: 0px;
    border: solid 2px #000;
    background-color: #fff;
    box-shadow: #f00 3px 3px;
    text-transform: uppercase;
    font-family: Courier, monospace;
    font-size: 0.85rem;
}

select.select-el:hover {
    box-shadow: #f00 6px 6px;
}

.btns select {
    text-align: center;
}

.visualizations {
    z-index: -1;
    background-color: #ddd;
    border-left: solid 2px #000;
    grid-area: chart;
    position: absolute;
    top: 75px;
    left: 200px;
    width: calc(100% - 200px);
    /* overflow-y: scroll; */
}

.footer {
    grid-area: footer;
    background-color: #aaa;
    border-top: solid 2px #000;
    display: flex;
    flex-direction: row;

}

.y-axis, .x-axis {
    color: #F5F5F5;
}

.tip {
    /* max-width: 150px; */
    background-color: #000000aa;
    color: #F5F5F5;
    border: solid 2px #F5F5F5;
    padding: 0.25rem;
}

.chart {
    /* background-color: violet; */
    width: 100%;
    height: 85vh;
    border-bottom: solid 2px #000;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

.c3 line, .c3 path {
    color: #000;
    stroke: #000;
}

.c3 text {
    fill: #00c;
    color: #00c;
    font-family: Courier, monospace;
}

.c3-tooltip td {
    border: solid 2px #000;
    box-shadow: #f00 3px 3px;
}

.c3-tooltip td.value {
    width: 200px;
}

/*tool tip hel styling*/

[data-title] {
    /* position: relative; */
    cursor: help;
}

.help-tip {
    /* content: attr(data-title); */
    z-index: 99999999999;
    display: none;
    position: fixed;
    max-width: 250px;
    padding: 0.25rem;
    /* border-radius: 2px; */
    background: #cccd;
    color: #00f;
    font-size: 12px;
    /* font-family: sans-serif; */
    box-shadow: #f00 3px 3px;
}

/* PLAYER STYLING */

.player-interface, .player-work {
    display: none;
    background-color: #0f0;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    width: 40%;
    height: auto;
    min-height: 150px;
    padding: 5px;
}

/* #player-stats, #player-task{
    min-height: 150px;
    position: relative;
    width: 50%;
    height: 100%;
    float: left;
    overflow-y: scroll;
} */

#player-stats {
    background-color: #00f
}

#player-task {
    text-align: center;
    background-color: #f00;
}

#rest-interaction {
    display: none;
}

.description-container {

    position: fixed;
    z-index: 99999999999999999;
    background-color: #ccca;
    width: 100%;
    height: 100vh;
    display: flex;
    overflow-y: scroll;
    cursor: url("../close.png"), not-allowed;
}

.model-description {
    cursor: default;
    width: 75%;

    margin: auto;
}

.model-description p {
    background-color: #ddd;
}

.model-description code {
    color: #f33;
}