/* GENERAL
******************************************************************************************/
.hidden-image-data {
    display: block;
    }
.main-color, .main-color>* {
    color: rgb(194, 85, 24);
}

.main-bg-color {
    background-color: rgb(194, 85, 24);
;
}

body {
    font-family: 'Arimo', sans-serif;
    font-size: 18px;
    }

h3 {
    font-weight: 200;
}

h5 {
    color: grey;
    margin: 12px 0;
    font-size: 90%;
}

.hidden, .print {
    display: none;
}

.froala-wrapper.f-basic > div {
    /*   display: none; */
}

.fr-view h5 {

    font-size: 1.8vw;
    font-weight: 500;
    margin: .5em 0 .5em 0;
    font-weight: 500;
    color:black
    }

.fr-view h6 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6vw;
    font-weight: 500;
    margin: .5em 0 .5em 0;
    font-weight: 300;

    }

.btn {
    border: 0;
    }

.nav-item.active {
    color:white;
    }

.sep {
    display: block;
    height: 1em;
    border-bottom: 1px dotted silver;
    margin-bottom: .2em;
    width: 100%;
    }

/* ACCUEIL
******************************************************************************************/
#accueil-wrapper {
    width: 90vw;
    display: flex;
}

#accueil-wrapper>div {
    padding: 2em;
    flex: 0 0 33%
}

#accueil p.item {

    border-top:1px dotted silver;
    padding: .5em 0;
    margin: 0;
}

#accueil h4 {
      margin-bottom: 1em;
    }

#accueil .scroll-gutter {
    border-right:1px solid #f0f0f0;
    padding-right: 1em;

    }

#accueil .column h6 {
    color:#666;
    text-transform: uppercase;
    font-family: 'Poppins', sans-serif;
    font-size: 200%;
    padding: 2em 0 .5em;
    
    }

.column{
    font-size: 80%;
    line-height: 1.1em;
}

.timeline>div>div, .timeline div.item {
    margin: 0 0 16px 0;
    padding: 0 0 16px 0em;
    border-bottom:1px dotted silver;
}

.timeline .date {
    margin:0;
    padding: 0;
    color:#777
}

.scroll-gutter {
    }

#debug {
    display: none;
    }

#accueil .log {
    height: 70vh;
    overflow-y: scroll;
    }

#accueil .logs {
	font-size: 80%;
	margin: 0 0 1em 0;
	border-bottom:1px solid silver;
	padding: 0 0 .5em 0;
	}

#accueil .logs .btn {
	opacity:0;
	float:right;
	transition: .5s opacity ease;
	}

#accueil .logs:hover .btn {
	opacity:1;
	}

/* LOGIN
******************************************************************************************/

.login {
    width:           100vw;
    height:          100vh;
    overflow:        hidden;
    display:         flex;
    flex-direction:  column;
    justify-content: space-between;
	background:        #dedede;
    }

.login h2 {
    text-align: center;
    margin: 0 auto 20px;
    color: #333;
    font-weight: 900;
    text-transform: uppercase;
    color:rgba(255,255,255,.8)
}

#login-content {
    width: 40vw;
	min-width: 300px;
    margin: 0 auto 20vh;
    padding: 2em;
    border-radius: 10px;
    box-shadow: 0 4px 60px rgba(0,0,0,.3);
	
    }

#login-content label {
    font-weight: 700;
    color:white
    }

#login-content a:not(.btn) {
    color:rgba(255,255,255,.4);
    padding-top: .5em;
    }

.login .alert-box {
    float: left;
    width: 100%;
}

.login .alert-box strong {
    font-size: 140%;
    color: maroon
}

.login h3, .login p {
    color:white;
}
.login .button-bar {
    margin: 0
}

.login .btn {
    background: rgba(0,0,0,.4);
    border:0;
    color:white
}

.button.connexion {
    margin: 20px auto;
    width: 120px;
    float: right;
}

.button.lost_password {
    float: right;
    background: maroon;
    margin: 0 auto 0px auto;
}

.login #credits {
    font-size: 60%;
    color:silver;
    padding: .5em;
    text-align: right;
    }

.login #credits a {
    color:#777
    }

/* MENU
******************************************************************************************/
.top-bar {
    margin-bottom: 36px;
}

/* GRID
******************************************************************************************/

.esp-grid {
    width: 90vw;
    margin: 0 5vw;
    }
.esp-grid h3 {
    font-weight: 900;
    text-transform: uppercase;
    }

table.grid {
    width: 100%;
    border-radius: 4px;
    -webkit-border-horizontal-spacing: 0;
}

table.grid tr {
    padding: 0;
}

table.grid tbody tr {
    width: 100%;
    transition:.5s all ease
}

table.grid tbody tr:hover {
    background: silver
}

table.grid td.first {
    margin: 0;
    border: 0;
    padding: 0 4px;
    line-height: 1em;
}

table.grid td p {
    font-size: 80%;
    margin: 0;
    padding: 0;
}

table.grid td.orderHandle {
    width: 20px;
}

table.grid td.button-column {
    width: 80px;
    height: 80px;
    vertical-align: top;
    text-align: center;
    padding: 20px;
}

table.grid td.button-column .button {
    position: relative;
    top: 0px;
}

table.grid td.button-column .button.disabled {
    background: silver;
    color: gray;
}

#schema .esp_grid {
    height: 80vh;
    width: 100%;
    }

#schema .esp_grid th {
    border-bottom: 2px solid black;
    margin-bottom: .5em;
    }

#schema .esp_grid th div {
    font-size: 50%;
    font-weight: 100;
    }

#schema .esp_grid tr:nth-child(even) {
    background: #f0f0f0;
    }

.button.new.grid {
    float: left;
    margin: 4px 10px 0 0;
}

.grid .button {
    top: 10px;
}

.button i {
    font-size: 120%;
}

#search-form input[type='search'] {
    margin-top: 4px;
    float: left;
    width: 80%
}

#search-form .button {
    top: 4px;
    float: right;
}

#filter-form select {
    margin-top: 4px;
    float: left;
    width: 100%
}

#filter-form .button {
    top: 4px;
    float: right;
}

.bar.left {
    padding-left: 0px;
}

.order-handler {
    cursor: move
}

button.btn-checkbox {
    background: none;

    border:0;
}

button.btn-checkbox i {
    display: block;
    font-size: 120%;
    height: 20px;

}

button.btn-checkbox i.yes {
    color: green;
}

.color-column {
    width: 20px;
    height: 20px;
    border-radius: 20px;

}

[type="search"] {
    -webkit-appearance: textfield;
    -webkit-box-sizing: content-box;
}

.details-list {
    padding: 0;
    margin: 0;
    font-size: 75%;
    line-height: 1em;
}

.details-list li {
    list-style-type: none;

    list-style-position: outside;
    padding: 0;
    margin: 0;
}


.row.acces {
    border-top:1px dotted silver;
    padding: 6px 0 0px 0;
    transition: .5s background ease;
    }

.row.acces:hover {
    background: #f0f0f0;
    }


/* FORM
******************************************************************************************/

#esp-form {
    display: flex;
    width: 90vw;
    max-width: 1200px;
    margin: 0vw auto;
    flex-wrap: wrap;

    }

#esp-form h2 {
    font-weight: 900;
    width: 100%;
    font-size: 1.75rem;
    text-transform: uppercase;

    }

#btn-save-edit {
    color:white;
    cursor: pointer;
    margin: 0 1em;
    }

#esp-form h4 {
    border-bottom:1px dotted silver
    }


#esp-form .field {
    padding: .2em;
    }

#esp-form .field.full {
    flex:1 1 100%;
    }

#esp-form .field.half {
    flex:1 1 50%;
    }

#esp-form .field.third {
    flex:1 1 33%;
    }

#esp-form .field.two-third {
    flex:1 1 66%;
    }

#esp-form .field.quarter {
    flex:1 1 25%;
    }

#esp-form .field.three-quarters {
    flex:1 1 75%;
    }


#esp-form>label {
    font-weight: 600;
    }


#esp-form .separator {
    margin-top: 1em;
    padding: 1em 0 .5em 0;
    color:black;
    font-weight: 900;
    width: 100%;
    font-size: 150%;
    text-transform: uppercase;
    }



#esp-form  .button-bar {
    flex:1 1 100%;
    margin: 2vh  auto;
    border-top:1px dotted silver;
    padding: 2em 0 0 0;


    }

#esp-form .esp-wrapper {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    }

#esp-form .main-col {
    flex: 1 1 60%;
    padding: 0 1em;
    /*display: flex;*/
    /*flex-wrap: wrap;*/
}

#esp-form .secondary-col {
    flex: 1 1 30%;
    padding: 0 1em;
    }

form.form-edit {
    width: 1030px;
    border-radius: 4px;
    border: 1px solid #f0f0f0;
    padding: 20px;
    margin: 0 auto;
}

form h3 {
    margin: 20px auto;
    color: #008cba;
}

.field {
    margin: 0 0 24px 0;
}

label {
    /*font-weight: bold*/
}

form em.remarque {
    font-size: 12px;
}

.help_text {
    font-weight: normal;
    font-size: 80%;
    color: #AAA;
    margin: 2px 0 0 0;
}

input[type=text], select, input[type=checkbox], input[type=file], input[type=email], input[type=number], input[type=password] {
    margin: 0;
}

.error > label > small {
    text-transform: none;
}

small.error {
    margin-bottom: 0;

}

.big.icon {
    font-size: 56px;
}

.radio-box {
    float: left;
    width: 100%;
    margin-top: 4px;
}

.accordion .accordion-navigation > a, .accordion dd > a {
    padding: 8px;
}

dd a {
    font-weight: bold;
}

dd div.content.active {
    box-shadow: inset 0 8px 8px -8px silver, inset 0 -8px 8px -8px silver;
}

dd div.content {
    background: red;
    border: 1px solid #e3e3e3;
}

.radio-box label {
    width: auto;
    padding-right: 40px;
    float: left;
    font-weight: normal;
}

.medium.icon {
    font-size: 28px;
}

.mce-tinymce.mce-container.mce-panel {
    margin-bottom: 0px;
}

#editor.no-richtext, #contenu_d.no-richtext {
    height: 100px;
    min-height: 50px;
}

.form-edit .back {
    margin-right: 12px;
}

.back.top {
    float: left;
    margin-right: 12px;
}

.form-edit .button {
    font-size: 80%
}

.button.delete.file {
    float: right;
}

.button.save {
    float: right;
}

.row.upload {
    background: #f9f9f9;
    border-radius: 5px;
    margin: 10px auto 0;
    border: 1px solid #f0f0f0
}

.row.upload .columns {
    padding: 10px;
}

.accordion.history {
    display: none;
    margin-bottom: 50px;
}

.accordion.small dt, .accordion.small dd a {
    font-size: 90%;
    padding: 4px;
}

.accordion.small dd {
    padding: 2px 0;
}

#btn-history {
    margin: 20px 0;
}

.history table {
    width: 100%;
}

.history > table th {
    width: 30%;
}

.history > table > tr, .history > table > td, .history > table > td > p, .history .content table > th {
    vertical-align: top;
    font-size: 90%;
}

.tabs-content {
    background: #f0f0f0;
    padding: 10px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px;
}

.tabs dd a {
    padding: 8px 16px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-size: 90%;
    color: #AAA;
    font-weight: bold;
}

.tabs dd a:hover {
    color: #333;
}

.tabs dd.active a, .tabs .tab-title.active a {
    background: #f0f0f0;
    color: black;
}

.tabs dd a, .tabs .tab-title a {
    background: white;
}

.button-bar {
    margin: 10px 0 0;
}

fieldset legend {
    background: none;
}

.row.event {
    margin-bottom: 4px;
}

/* DASHBOARD
******************************************************************************************/
#dashboard {
    padding-bottom: 100px;
}

#dashboard li {
    list-style: none;
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px dotted silver;
    float: left;
    width: 100%;
}

#dashboard h3 {
    margin-top: 42px;
    margin-bottom: 0px;
    float: left;
    width: 100%;
}

#dashboard li.completed {
    color: gray;
    text-decoration: line-through;
}

#dashboard .complete_problem {
    font-size: 50%;
    float: right;
}

#dashboard .problems {
    color: maroon;
}

#dashboard .downloads {
    color: green;
}

#dashboard .stats, #dashboard .stats a {
    color: #666
}

#dashboard a:hover {
    background: #f0f0f0;
}

#dashboard input[type='search'] {
    float: left;
    width: 80%;
    margin: 0 5px 0 15px;
    padding: 0 10px;
    border-radius: 40px;
    font-size: 80%;
}

.no-results {
    color: #999;
    margin: 50px auto;
    text-align: center;
}

/* SCHEMA
******************************************************************************************/
#schema ul {
    list-style: none;
}

#schema ul .selected {
    font-weight: bold;
    color: black;
}

/* INTERFACE
******************************************************************************************/
.tool-bar {
    background: silver;
    padding: 4px 4px 2px;
    border-radius: 4px;
    font-size: 70%;
    margin: 20px auto 40px;
    font-weight: 200;
    width: 100%;
}

.tool-bar .new {
    background: #ececec;
    height: 70px
}

.no-results {
    margin: 100px auto;
    font-size: 250%;
    font-weight: 100;
    text-align: center;
    color: gray
}

/* TOGGLE
******************************************************************************************/
.toggle {
    background: #f0f0f0;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: 20px;
}

/* SELECT IMAGE
********************************************************************************/
.select_image > div {
    display: block;
}

input[type=radio] {
    width: auto;
    float:left;
}

input[tpye=radio].hidden {
    display: none;
}

input[type=radio]:checked + label > img {
    box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.4);
}

input[type=radio] + label > img {
    margin-top: 5px;
    width: 150px;
    max-height: 200px;
    transition: 500ms all;
}

/* VERSION 2 */
.navbar {
    margin-bottom: 36px;
}

.header h3 {
    margin-top: 4px;
}

.header #search-form div {
    margin-top: 4px !important;
}

.header #filter-form select {
    margin-top: 4px !important;
}

.table.grid {
    margin-top: 1em;

}

.table.grid tr:hover td {
    background-color: silver;
}

#history .card {
    margin-bottom: 20px;
}

#history .table {
    margin-bottom: 0;
}

.field > label > span {
    width: 100%;
    font-weight: 700;
}

nav.navbar div.dropdown-menu {
    display: block;
    top: 90%;
    transform: scale3d(0, 0, 1);
    transform-origin: top left;

}

nav.navbar li.nav-item:hover div.dropdown-menu {
    transform: scale3d(1, 1, 1);
}

.top-buffer {
    margin-top: 20px;
}

input:read-only {
    background-color: white !important;
}

small.error {
    display: none;
}

.nav-tabs {
    margin: 2vh 0 0 0;
    flex: 1 1 100%;
    }

.nav-tabs .active {
    font-weight: 700;
    }

.tab-content {
    flex: 1 1 100%;

    }

.nav-tabs a {
    color:#666
    }

.tab-content>.active {
    display: flex;
    }

.tab-pane {
    margin: 2vh 0;
    flex:1 1 100%;
    display: flex;
    flex-wrap: wrap;
    }

#esp-form h4 {
    border:0;
    margin: 1em 0 .5em;
    font-weight: 900;
    text-transform: uppercase;
    color:#999
    }

/* EVENEMENTS
******************************************************************************************/
#eventFilter {
    font-size: 90%;
    background: #f0f0f0;
    border-radius: 4px;
    margin: 20px auto;
    padding: .5em;
    }

#eventFilter input, #eventFilter select {    font-size: 90%;
    }



.error {
    background:    maroon;
    color:         white;
    padding:       1em;
    border-radius: 10px;
    margin:        0 0 2em 0;
    width: 80vw;
    margin: 0 auto;
    }

.error h3 {
    

    text-transform: uppercase;
    margin-bottom:  1em;
    
    }

.error h3 span {
    display:        block;

    text-transform: uppercase;
    
    }

.error p {
    margin: 0 0 3px 0;
    }


.foreign-item input[type=checkbox] {
    /*float:left;*/
    width:  1em;
    /*margin: .1em .1em 0 0;*/
    }

.help_text {

    padding:        .5em 0 0 0;
    font-size:      70%;
    color:          #BBB;
    text-transform: none;
    }



.jumbotron .action {
    background: grey;
    padding: 1em;
    margin: 2em 0;
    color:white;
    border-radius: 4px;
    }

input[readonly] {
    background: white;
    }

.field {
      padding: 0;
    margin: 0;
    }

.field > label {
    width:   100%;
    padding: .5em 0 .5em 0;
    }

textarea {
    width:      100%;
    min-height: 100px;
    }

.field.checkbox > label {
    width: auto;
    
    }

input[type=text], select, input[type=checkbox], input[type=file], input[type=email], input[type=number], input[type=password] {
    margin: 0;
    }

/* AUTOCOMPLETE */
.custom-combobox {
    display:block;
    border: 1px dotted transparent;
    
    }
.custom-combobox-toggle {
    position: absolute;
    top: 3px;
    bottom: 0;
    margin-left: -1px;
    padding: 1em 0;
    height: 30px;
    
    }

.ui-button {
    height: 27px;
    }
.custom-combobox-input {
    margin: 0;
    padding: 5px 10px;
    width: calc( 100% - 8em );
    font-size: 1.2em;
    }

.ui-autocomplete {
    max-height: 350px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
    /* add padding to account for vertical scrollbar */
    padding-right: 20px;
    }

.search-combobox {

    }

li.hidden {
    display: none;
    }

ul.suggestion {
    width: 80%;
    }

ul.suggestion li a {
    padding: 0 1em;
    }




.cropit-preview {
    width: 240px;
    height: 240px;
    border: 1px solid silver;
}

img.preview  {
    width: 100%;
}

.cropit-preview img {
    max-width: none;
}



.construction {
      font-size: 5vw;
    margin: 30vh 0 0;
    text-align: auto;
    font-weight: 100;
    color:silver;
    text-align: center;
    }

#editor, #editor-de {
    min-height: 15em;
}

.ql-editor {
    max-height: 70vh;
    }

.ql-editor ol li:not(.ql-direction-rtl), .ql-editor ul li:not(.ql-direction-rtl) {
    padding-left: 0em;
}

.ql-editor p {
    margin-bottom: .1em;
}

/* RESERVATIONS */
#reservations_impression table {
    border:0;
    border-collapse: collapse;
    width: 90%;
    margin:  0 auto;
    }
#btn-print {
    font-size: 70%;
    float:right;
    margin: -1em 0 .5em 0;
    }

#btn-back {
    font-size: 70%;
    
    margin: -1em 0 .5em 0;
    }

/* RESERVATIONS */
#reservations_impression table {
    border:0;
    border-collapse: collapse;
    width: 80vw;
    margin: auto;
    }
#reservations_impression table td, #reservations_impression table th{
    font-size: 100%;
    border-top:1px solid silver;
    }
#reservations_impression table td.remarque {
    border-top: none;
    color:gray;
    font-size: 90%;
    }

#reservations_impression tr.total td,  #reservations_impression  tr.total th{
    border-top: 2px solid black;
    border-bottom:0;
    }

#importation #log {
    font-family: Courier;
    font-size: 11px;
}


/* TESTS
****************************************************************************************************/
body {

    font-family: "inter";
    font-size: 16px;
    padding: 0;
    margin: 0;
}

#tests-wrapper td {
    font-family: 'Libre Baskerville', serif;
}

#tests-wrapper, #tests-wrapper .row {
    margin: 0;
    padding: 0;
}

#tests-wrapper ul {
    list-style: none;
    font-family: Inter;
    font-size: 14px;
    color:#666
}

#tests-wrapper ul a {
    display: block;
    color:#666;
    padding:1em 0
}

#tests-wrapper ul a.sel {
    color:black;
    font-weight: 900;
}

h1, h2, h3, h4, h5, h6, input, label {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    line-height: 1.2em;
}

input, label, button {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    line-height: 1.2em;
    font-size: 18px;
}

#tests-wrapper button {
    border: 0;
    color: white;
    background-color: burlywood;
}

input {
    font-size: 18px;
}

table {
    border-collapse: collapse;
    margin: auto;
}

tr {

}

th {
    width: 5vw;
    vertical-align: top;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 100;
    border-bottom: 1px dotted black;
    padding: 2em 1em;

}

#tests-wrapper td {
    width: 40vw;
    border-bottom: 1px dotted black;
    padding: 1em;
    line-height: 1.8em;
    vertical-align: top;
}


#tests-wrapper td.counter {
    font-weight: 100;
    font-family: "inter";
    width: 3em;
    }

#tests-wrapper form {
    padding: 1em;
    margin-bottom: 1em;
    /*background-color: papayawhip;*/
    /*text-align: center;*/
    font-size: 90%;
}

#tests-wrapper label, #tests-wrapper input {
    font-size: 90%;
}

.test-help {
    border-radius: 8px;
    font-size:  90%;
    background: #dbdbdb;
    color:      #a0a0a0;
    padding:    1em;
    margin:     0 0 2em 0;
    }

.test-help p {
    margin: 0 0 6px 0;
    padding: 0;
    }

.addReadMore.showlesscontent .SecSec,
.addReadMore.showlesscontent .readLess {
    display: none;
}

.addReadMore.showmorecontent .readMore {
    display: none;
}

.addReadMore .readMore,
.addReadMore .readLess {
    font-weight: bold;
    margin-left: 2px;
    color: blue;
    cursor: pointer;
}

.addReadMoreWrapTxt.showmorecontent .SecSec,
.addReadMoreWrapTxt.showmorecontent .readLess {
    display: block;
}


#noticesFilter {
    padding: .5em;
    background: #f0f0f0;
    border-radius: 5px;
}

#noticesFilter .btns {
    display: flex;
}


#noticesFilter .btns form {
    max-height: 40px;
    display: block;

    padding: 0;
    margin: 2px;
}

#noticesFilter .btn {
    max-height: 40px;
    display: block;
    margin: 2px;

}

#typeButtons {
    display: flex;
    justify-content: center;
     }

.typeButton {
    padding: 2em 5em;
    color:black;
    border:1px solid silver;
    border-radius: 10px;
    margin: 0 2em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    text-transform: uppercase;
     font-weight: 900;
    }

.typeButton:hover {
    color:black;
    text-decoration: none;
    background:#f0f0f0;
    }

/* STATISTIQUES */
#stat-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.stat-block {
    background: #f0f0f0;
    border-radius: 10px;
    margin: 20px;
    flex: 0 0 30%;
    padding: 2em;
}

#noticesFilter input[type=radio] {
    float:none;

    }

#chars-wrapper {
    display: flex;
    transition: .5s ease all;
    /*padding: 8px;*/
    float: right;
    }

#btn-char {
    font-size: 100%;
    /*width: 2em;*/
    /*height: 1em;*/
    color:silver;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: hand;
    }

#chars {
    opacity: 0;
    transition: .5s ease all;
    font-size: 14px;

    flex: 1 1 80%
    }

#chars input {
    font-size: 14px;
    width: 100%;
    flex: 1 1 80%;
    background: #f0f0f0;
    }

#chars-wrapper:hover {
    background: #f0f0f0;
    }

#chars-wrapper:hover #chars {
    opacity: 1;
    }