body {
    display: flex;
    flex-flow: column nowrap;
    height: 100vh;
    color: #333;
    background: #FFF;
    margin: 0;
    padding: 0;
    text-rendering: optimizeLegibility;
}

main {
    flex-grow: 99;
}

.title {
    font-size: 1.5em;
}

h2 {
    font-size: 1.3em;
}

h3 {
    font-size: 1.1em;
    margin-top: 3px;
}

table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

a, a:visited {
    color: #bf1b2c;
    text-decoration:none;
}
a:hover {
    background-color: transparent;
    color: #bf1b2c;
    text-decoration: underline;
}

a img { border: none; }

svg {
    width: 100%;
    height: 100%;
}

.nett {
    clear: both;
    height: 5px;
}

.wazing {
    clear: both;
    position: relative;
}

/* Min-width */
#layout {
    min-width: 740px;
}

#content {
    margin: 1em;
    position: relative;
}

.login, .logout{
  display:flex;
  align-items: center;
}

.login::before {
  content: url(/static/francoralite_front/images/user.png);
  padding-right: 5px;
}

.logout::before {
  content: url(/static/francoralite_front/images/logout.png);
  padding-right: 5px;
}

h1, h2, h3, h4 {
  font-weight: bold;
  color:#393189;
  display:flex;
  align-items: center;
}

#content h1::before {
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  margin-right: 10px;
  background-color: #393189;
  -webkit-mask: url(/static/francoralite_front/images/collection.png) center/contain no-repeat;
  mask: url(/static/francoralite_front/images/collection.png) center/contain no-repeat;
  content: '';
}

.module h3::before {
  content: url(/static/francoralite_front/images/module_playlist.png);
  padding-right: 10px;
}

.module h3 {
  color: white;
  background: black;
  margin: 0;
  padding-left: 5px;
  display:flex;
  align-items: center;
}

.module img {
  max-width:170px;
  max-width:150px;
  margin: 5px;
}

.module ul {
  background: white;
  display: flex;
  list-style: none;
  max-width: 400px;
  margin: 1em;
  flex-wrap: wrap;
  padding: 1em;
  margin: 0;
  justify-content: space-around;
  align-items: center;
}

.btn_add {
  float: right;
  margin-left:10px;
}


.sticky {
    position: sticky;
    top: 0;
    z-index: 5;
    background: white;
}

.sticky-1 {
    position: sticky;
    top: 8rem;
    z-index: 5;
}

#logo a, #logo a:hover { border: none; background: transparent; }

#header {
    padding: 0em;
}

#content_header {
    margin-bottom: .8em;
}

#content_header{
    width:100%;
    border-collapse:collapse;
}

#content_header td{
    vertical-align: top;
}

#content_header td.rightcol{
    text-align:right;
    white-space:nowrap; /**this implies to stretach righcol to accomodate all the width,
                        UNLESS there is a div.fixedWidthAsPlayer inside td.rightcol (see blow)*/
}

#content_header td.rightcol div.fixedWidthAsPlayer{
    width:374px; /*must be width+2*padding, see #rightcol below*/
    float:right;
    white-space:normal; /*to override no-wrap defined in #content_header td.rightcol*/
}

#content_header td.rightcol div.fixedWidthAsPlayer a{
    display:inline-block;
    margin-top:0.5ex;
}

#rightcol {
    width: 362px; /**if u change this, change also width #content_header td.rightcol, see above*/
    padding: 6px; /**if u change this, change also width #content_header td.rightcol, see above*/
    position: relative;
    z-index: 1;
    border: 1px solid #999;
    background-color: #eee;
    -moz-border-radius: 8px 8px 8px 8px;
    -webkit-border-radius: 8px 8px 8px 8px;
    border-radius: 8px 8px 8px 8px;
}

#rightcol .analyzer, #rightcol .exporter, .markers {
    text-align: left;
    position: relative;
}

#rightcol form {
    width: 360px;
    margin-top: 5px;
    background-color: #fff;
    border: 1px solid #adadad;
}

#rightcol p {
    margin: 0;
    padding: 0;
}

#collection_player {
    background: transparent;
}

#collection_player .title {
    padding: 2px 5px 7px 5px;
}

.player_position {
  float: right;
}
.champs_general {
  display: flex;
  flex-direction: column
}

.exporter {
    background-color: #fff;
    border: 1px solid #adadad;
    padding: 2px;
    height: 26px;
    margin: 5px 0 5px;
    font-size: 0.9em;
    color: #000;
    font-weight: bold;
}

.analyzer, .markers {
    background-color: #fff;
    color: #000;
    border: 1px solid #adadad;
    width: 348px;
    padding: 2px;
    font-size: 1em;
}

.markers {
    max-height: 500px;
    overflow-y: scroll;
}

.vscroll {
    max-height: 300px;
    overflow-y: scroll;
    width: 100%;
}


.analyzer-title {
    background-color: #f2f2f2;
    color: #000;
    padding: 2px;
}

.analyzer-line {
    background-color: #fdfdfd;
    color: #000;
    padding: 4px;
}

/* Geographic navigator */
ul.continents, ul.continents ul { list-style: none; margin: 0; padding: 0;}
ul.continents { margin: 1em 0; }
ul.continents ul {margin-left: 0; margin-bottom: 0.9em; padding: 0 1em 1em 0;}
ul.continents li.name { width: 460px; float: left; clear: left; margin-right: 30px;}
ul.continents li.odd { clear: none;}
ul.continents li.name b { font-size: 120%; font-weight: bold; }
ul.continents ul li { display: inline; padding-right: 2em;}
ul.continents ul li a { line-height: 1.8em; }

/* Collection */
#content .intro {
    font-size: 1em;
    color: #444;
    margin: 5px 0;
    width: 400px;
}

#content .intro span {
    padding: 3px;

}

/* Forms */
input, textarea, select { margin: 2px }
input, select { vertical-align: middle }
input[type=button], input[type=submit], input[type=reset] {
    background: #f2f2f2;
    color: #444;
    border: 3px double #ccc;
    padding: .1em .5em;
    font-weight: bold;
    cursor: pointer;
}
input[type=button]:hover, input[type=submit]:hover, input[type=reset]:hover {
    background: #8D8C94;
    color: #fff;
}
input[type=button][disabled], input[type=submit][disabled],
input[type=reset][disabled] {
    background: #f6f6f6;
    border-style: solid;
    color: #999;
}
input[type=text], input[type=date], input[type=password], input.textwidget, textarea { border: 1px solid #ccc; }
input[type=text], input[type=password], input.textwidget { padding: .25em .1em }
input[type=date] { padding: 0 .1em; caret-color: transparent; }
input[type=text]:focus, input[type=date]:focus, input[type=password]:focus, input.textwidget:focus, textarea:focus {
    border-color: #aaa;
}
.infos input[type=text], .field input[type=text], .infos textarea{
    outline: none !important;
    width: 600px;
}

option { border-bottom: 1px dotted #d7d7d7; }
fieldset { border: 1px solid #d7d7d7; padding: .5em; margin: 0 }
fieldset.iefix { background: transparent; border: none; padding: 0; margin: 0 }
* html fieldset.iefix { width: 98% }
fieldset.iefix p { margin: 0 }
legend { color: #999; padding: 0 .25em; font-size: 90%; font-weight: bold }
label.disabled { color: #d7d7d7 }
.buttons { margin: .5em .5em .5em 0 }
.buttons form, .buttons form div { display: inline }
.buttons input { margin: 1em .5em .1em 0 }
.inlinebuttons input {
    font-size: 70%;
    border-width: 1px;
    border-style: dotted;
    margin: 0;
    padding: 0.1em;
    background: none;
}

form ul.switch {
    display: inline-flex;
    flex-flow: row wrap;
    margin: 0;
    padding: 0;
    border: 1px solid #393189;
    border-radius: 3px;
    list-style: none;
}

form ul.switch li {
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: hidden;
}

form ul.switch li input {
    position: absolute;
    left: -99px;
}

form ul.switch li label {
    margin: 0;
    padding: 4px 6px;
    background: #d9d7ec;
    color: #393189;
    cursor: pointer;
}

form ul.switch li input:checked + label {
    background: #393189;
    color: white;
}

.request_remind_operator {
    padding: 0 2px;
    border: 1px solid #393189;
    border-radius: 3px;
    font-size: 75%;
    background: #d9d7ec;
    color: #393189;
}

.has-warning > label {
    color: black !important;
}

.container > form {
  margin-top: 2em;
}



/* Quick search */
#quick_search {
    position: absolute;
    top: 65px;
    right: 25px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 0.5em;
    -moz-border-radius: 8px 8px 8px 8px;
    -webkit-border-radius: 8px 8px 8px 8px;
    border-radius: 8px 8px 8px 8px;
}

#quick_search > span.glyphicon {
    padding-right: 0.5em;
}

#quick_search input {
    vertical-align: middle;
    font-size: .9em;
    -moz-border-radius: 5px 0px 0px 5px;
    -webkit-border-radius: 5px 0px 0px 5px;
    border-radius: 5px 0px 0px 5px;
    width: 250px;
    padding-left: 0.5em;
    border-color:#393189;
}



/* Advanced search */

header.advanced-search > h1 span.glyphicon {
  padding-left: 0.5em;
}

header.advanced-search aside.search-tooltip {
  position: absolute;
  top: 0;
  left: min(25vw - 2em, 6em);
  display: none;
  max-width: min(75vw - 2em, 800px);
  max-height: 75vh;
  margin: 0;
  padding: 1em;
  border: solid 2px #393189;
  border-radius: 10px;
  background: #d9d7ec;
  font-size: smaller;
  overflow: hidden;
  overflow-y: scroll;
  scrollbar-color: #7069b8 transparent;
}

header.advanced-search aside.search-tooltip h1::before {
  display: none;
}

@supports selector(:has(a, b)) {
  header.advanced-search h1:has(span.glyphicon:hover) + aside.search-tooltip,
  header.advanced-search aside.search-tooltip:hover {
    display: block;
  }
}

@supports not selector(:has(a, b)) {
  header.advanced-search h1:hover + aside.search-tooltip,
  header.advanced-search aside.search-tooltip:hover {
    display: block;
  }
}



/* Authentication */
#auth_info {
  color: #FFF;
  font-weight: bold;
  position: absolute;
  top: 10px;
  margin-right: 1em;
  font-size: 0.9em;
  background-color: #393189;
  padding: 1em;
  -moz-border-radius: 8px 8px 8px 8px;
  -webkit-border-radius: 8px 8px 8px 8px;
  border-radius: 8px 8px 8px 8px;
  display: flex;
}

#auth_info a {
  color: #FFF;
  font-size: 1em;
  font-weight: bold;
  margin:0 5px;
}


form.login {
    font-size: 0.9em;
    float: left;
    margin-top: 2em;
    margin-bottom: 4em;
    border: 0px dotted #888;
    padding: 1em;
    background-color: #FFF;
    -moz-border-radius: 8px 0px 8px 8px;
    -webkit-border-radius: 8px 0px 8px 8px;
    border-radius: 8px 0px 8px 8px;
}

.login-text{
    background-color: white;
}
.login-error {
    color: #bf1b2c;
}

form.login label {
    display: block;
    width: 11em;
    float: left;
    clear: left;
    font-weight: bold;
    padding-top: 0.3em;
}

form.login .submit {
    float: right;
    margin-top: 1em;
}

/* Search form */
#searchform {
    margin: 15px 0;
}
#searchform fieldset {
    padding: 0;
    padding: .5em;
    width: 850px;
    border: none;
    border: 1px solid #393189;
    margin-bottom: 1em;
    -moz-border-radius: 8px 0px 8px 8px;
    -webkit-border-radius: 0px 8px 8px 8px;
    border-radius: 8px 0px 8px 8px;
}
#searchform p {
    background-color: #fff;
    padding: .5em 0;
}
#searchform label {
    font-size: 0.9em;
    display: block;
    float: left;
    width: 30%;
    margin-left: 15px;
    margin-top: .2em;
    line-height: 1.8em;
    font-weight: bold;
    color: #333;
}
#searchform select {
    width: 59%;
}
#searchform fieldset input {
    width: 56%;
}
#searchform select, #searchform fieldset input {
    font-size: 0.9em;
}
#searchform .submit {
    padding: 0;
    clear: both;
    width: 450px;
}

#searchform select.tiny {
    width: 12%;
}

/* Drop Down Menus */
.clear {clear:both}

#formlang{
    display:inline-block;
    position:absolute;
    right:1%;
    top:10%;
}


/* Footer (borrowed from Trac) */
#footer {
    background: #393189;
    clear: both;
    color: #FFF;
    font-size: 10px;
    border-top: 1px solid;
    height: 42px;
    padding: 0.5em 0.5em 1.1em 0.5em;
    margin-top: 2.5em;
}
#footer :link, #footer :visited { color: #FFF; }
#footer hr { display: none }
#footer #francoralite_powered { border: 0; float: left }
#footer #francoralite_powered:hover { background: transparent }
#footer p { margin: 0; }
#footer p.left {
    float: left;
    margin-left: 1em;
    padding: 0 1em;
    border-left: 1px solid #d7d7d7;
    border-right: 1px solid #d7d7d7;
}
#footer p.right {
    float: right;
    text-align: right;
}
#footer p.center {
    text-align: center;
}

/* Homepage */
.homelinks a { font-size: 120%;}


/* Definition list */
dl {
    position: relative;
    margin: .5em 0;
}
dl dt, dl dd {
    position: relative;
    margin: 0;
    margin-bottom: 0;
    padding: 0;
    font-size: 0.8em;
    line-height: 1.4em;
    min-height: 1.4em;
}
dl dd {
    border: 1px solid transparent;
}
dl dt {
    float: left;
    clear: left;
}

dl.listing dt {
    width: 18em;
    background-color: #f9f9f9;
    border: .1em solid #eee;
    border-right: .3em solid #ddd;
    padding-left: .3em;
    margin-right: .8em;
    color: #444;
}
dl.listing dt.group {
    float: none;
    margin-top: .9em;
    background-color: #DDDDDD;
    border-color: #ccc;
    border-right: .1em solid #ccc;
    width: 18.2em;
}
dl.listing dd {
    margin-left: 19.4em;
    font-weight: bold;
}

/* onglets en fixe */
.nav-tabs {
  top: 4rem;
  position:sticky;
  z-index: 3;
  background: white;
  padding-top: 5px;
}
.nav-tabs a {
  color: #393189;
}

/* dublin core display */
h4.dublincore {
    text-align: left;
    padding: 5px 0 10px;
    font-weight: bold;
    color: #666;
}
dl.dublincore dt {
    margin-right: .8em;
    width: 23em !important;
    font-style: italic;
}
dl.dublincore dd {
    margin-left: 23.4em;
    font-weight: bold;
}
dl.dublincore dt span {
    width: 13em;
    display: block;
    float: left;
    font-style: normal;
    background-color: #f9f9f9;
    border: 1px solid #eee;
    border-right: 3px solid #ddd;
    padding-left: .3em;
    margin-right: 1.2em;
    color: #444;
}
dl.dublincore .caption {
    background-color: #B8B7C1;
    margin: .5em 0;
    margin-top: 0;
    border-bottom: 1px dotted #666;
    padding-top: .4em;
    padding-bottom: .4em;
    padding-left: .3em;
    color: #fff;
    font-weight: bold;
    border-right: 1px solid #fff;
}
dl.dublincore dt.caption span {
    background-color: #B8B7C1;
    border: none;
    border-right: 1px solid #fff;
    color: #fff;
}
dl.dublincore dd.caption {
    padding-top: .3em;
    padding-left: .4em;
    margin-left: 23.4em;
}

/* infos item/collection */
.infos, .extraInfos {
    margin-bottom: 15px;
}

.infos dl, .infos table {
    position: relative;
    font-size: 105%;
}

.extraInfos dl, .extraInfos table {
    position: relative;
    font-size: 105%;
}

.extraInfos div {
    padding: 0;
    margin-bottom: 5px;
}
.extraInfos .nett {
    position: relative;
    height: 0;
    margin-bottom: -5px;
}
.extraInfos h4 {
    font-size: 1em;
    line-height: 1.4em;
    border-bottom: 1px dotted #aaa;
    color: #393189;
}
.with-rightcol .extraInfos h4 {
    margin-right: 395px;
}

.extraInfos h4 a {
    position: relative;
    display: block;
    color: #393189 !important;
    text-decoration: none;
    margin: 0;
    background: #fff url(../images/more.png) no-repeat left top;
    background-position: 0 -16px;
    padding-bottom: 2px;
    padding-left: 16px;
    border-bottom: none !important;
    outline: none;
}
.extraInfos h4 a:hover {
    background-color: transparent;
    border-bottom: none;
    color: #393189 !important;
    text-decoration:none;
}
.extraInfos .folded h4 {
    border-bottom: none;
}
.extraInfos .folded h4 a {
    background-position: 0 1px;
}

/* Pagination */
main > header {
    display: flex;
    flex-flow: row nowrap;
}
main > header h1 {
    margin: 0;
    flex: 1 1 auto;
}
.pagination,
.pagination * {
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}
.pagination p + p {
    margin-top: 10px;
}
.pagination .rows {
    text-align: right;
    font-size: 16px;
    color: #393189;
}
.pagination .pages {
    display: flex;
    flex-flow: row wrap;
    text-align: right;
    font-size: 0;
}
.pagination .pages a,
.pagination .pages span {
    display: inline-block;
    height: 32px;
    margin-left: -1px;
    padding: .25em .75em;
    border: 1px solid #393189;
    font-size: 16px;
    color: #393189;
}
.pagination .pages .arrow {
    font-family: FontAwesome;
}
.pagination .pages a:hover {
    background: #7069b8;
    text-decoration: none;
}
.pagination .pages span:not(.current) {
    background: #eeeeee;
    cursor: not-allowed;
}
.pagination .pages span.current {
    background: #393189;
    color: white;
}

/* Item instruments */
div.instruments {
    position: relative;
    margin-left: -.7em;
    margin-right: .5em;
}
table.instruments {
    border: none;
    border-collapse: separate;
    border-spacing: .7em;
}
table.instruments td {
    font-size: .8em;
    padding: 0 .2em;
}
table.instruments thead td {
    background-color: #F9F9F9;
    border: .1em solid #E1E1E1;
    border-bottom: .3em solid #E1E1E1;
}
table.instruments tbody td {
    border-bottom: .1em solid #E1E1E1;
}

/* Styles for tabular listings (stolen from trac) */
table.listing {
    border-spacing: 0;
    width: 100%;
}

.fullpage table.listing {
    width: 100%;
    margin-top: 3em;
    font-size: 105%;
}

table.listing th {
    text-align: left;
    padding: 0 14em .1em 0;
    font-size: 1em;
}
table.listing th, table.listing td {
    font-size: 0.8em;
    border-bottom: 1px solid #dfdfdf;
}
table.listing thead { background: #e8eaf0 }
table.listing thead th {
    font-size: 0.9em;
    padding: 1rem .5em;
}
table.listing thead th :link:hover, table.listing thead th :visited:hover {
    background-color: transparent;
}
table.listing thead th a {
    padding-right: 12px;
}
table.listing th.asc a, table.listing th.desc a { font-weight: bold }
table.listing th.asc a, table.listing th.desc a {
    background-position: 100% 50%;
    background-repeat: no-repeat;
}
table.listing th.asc a { background-image: url(../images/asc.png) }
table.listing th.desc a { background-image: url(../images/desc.png) }
table.listing tbody td, table.listing tbody th {
    padding: .33em .5em;
    font-weight: normal;
}
table.listing tbody td {
    font-weight: bold;
    vertical-align: middle;
    padding: 1rem;
}

table.listing tbody td.tmp {
    width: 100%;
}
table.listing tbody td a:hover, table.listing tbody th a:hover {
    background-color: transparent;
}
table.listing tbody tr { border-top: 1px solid #ddd; }
table.listing tbody tr:hover { background: #cecece !important; }
table.listing tbody tr:nth-child(even) {background: white;}
table.listing tbody tr:nth-child(odd) {background: #f7f7f7;}

table.listing caption {
margin-bottom: 1rem;}

table td.error {
    color: red;
    font-weight: bold;
}

.infos li.error{
    color: red;
    font-weight: bold;
    font-size: 110%;
}

.dropdown.v-select.searchable {
    max-width: 500px;
}

.gmap {
    border: solid 1px #888;
    margin-top: 0.8em;
}


img.align-left {
    float: left;
    padding-bottom: 1ex;
    padding-right: 1ex;
}

.rst-content {
    padding-top: 5px;
}

.rst-content h1 {
    font-size: 1.6em;
    font-weight: bold;
    color: #393189;
    margin-bottom: 1em;
}

.rst-content h2 {
    font-size: 1em;
    font-weight: bold;
    color: #393189;
    margin-bottom: 1em;
}

.rst-content p {
    font-size: 1em;
    text-align: justify;
}

.rst-content img.align-left {
    float: left;
    margin-right: 2ex;
    margin-top: 0.6ex;
    margin-bottom: 0.5ex;
}

.rst-content img.align-right {
    float: left;
    margin-left: 2ex;
    margin-top: 0.6ex;
    margin-bottom: 0.5ex;
}

#content .rst-content ul,  #content .rst-content ol {
    clear: none;
    font-size: 1em;
    margin-left: 0.4em;
}

#module-set {
    float: right;
    clear: right;
}

#module-set-left {
    float: left;
    clear: left;
}

.module {
    border: 1px solid #000;
    margin: 0 0 1.5em 1.5em;
    -moz-border-radius: 0px 0px 11px 11px;
    -webkit-border-radius: 0px 0px 11px 11px;
    border-radius: 0px 0px 11px 11px;
}

.module h3 {
    color: white;
    font-size: 1.1em;
    font-weight: bold;
}

.module-title {
    color: white;
    font-size: 1.1em;
    font-weight: bold;
}


.module a:hover {
    text-decoration: none;
}

.module div {
        -moz-border-radius: 8px 0px 8px 8px;
        -webkit-border-radius: 8px 0px 8px 8px;
        border-radius: 8px 0px 8px 8px;
        background-color: white;
       }

.module ul, li {
        -moz-border-radius: 8px 0px 8px 8px;
        -webkit-border-radius: 8px 0px 8px 8px;
        border-radius: 8px 0px 8px 8px;
       }

a.image-link {
    border: none;
}

#logo {
    margin: 15px 0 15px 15px;
}

#logo img {
    max-height: 88px;
    margin-right: 15px;
}

.logo {
    border: none;
    vertical-align:middle;
    -moz-border-radius: 0px 0px 0px 0px;
    -webkit-border-radius: 0px 0px 0px 0px;
    border-radius: 0px 0px 0px 0px;
}

.map-thumbnail {
    border: solid 1px #999;
    -moz-border-radius: 8px 0px 8px 8px;
    -webkit-border-radius: 8px 0px 8px 8px;
    border-radius: 8px 0px 8px 8px;
    width: 392px;
}

.home-content .module {
    width: 400px;
}

.home-description {
    display: block;
    margin: 5px;
}

#content .home-description h1::before{
  display: none;
}

.home-block{
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 0.5rem;
}

.home-block-detail{
    border: 2px solid;
    border-color: #393189;
    border-radius: 0.5rem;
}

.home-block-detail h2{
    padding: 0.5rem;
    background: #393189;
    color:white;
    margin-top: 0px;
}

.home-block-content {
    padding: 1rem;
    font-size: 1.5rem;
}

#block-geonav h2 {
    margin-bottom: 0px;
}

#block-geonav .home-block-content, .map-container {
    padding: 0px;
    height: 400px;
    width: 100%;
}

#block-partners .home-block-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

#content ul.playlist {
    list-style-type: none;
    border-top: solid 1px #e1e1e1;
    margin: 0;
    padding: 0;
}

#content ul.playlist li {
    display: block;
    border: solid 1px #e1e1e1;
    border-top: 0;
    background: white;
    margin: 0;
    padding: 1em;
}


.tab_unselected, .tab_unselected:hover, .tab_unselected:visited {
    background-color: #cccccc;
    font-weight: normal;
    color: #333333;
    border: 1px solid #cccccc;

}
.tab_selected, .tab_selected:hover, .tab_selected:visited {
    background-color: #ffffff;
    color: #000000;
    font-weight: bold;
    border-top: 1px solid #999999;
    border-right: 1px solid #999999;
    border-left: 1px solid #999999;
    border-bottom: 1px solid #ffffff;

}

.tab, .tab:hover, .tab:visited{
    margin-top: 1ex;
    display: inline-block;
    margin-left: 0px;
    padding: 1ex;
    -moz-border-radius: 1ex 1ex 0ex 0ex;  -webkit-border-radius: 1ex 1ex 0ex 0ex;  border-radius: 1ex 1ex 0ex 0ex;
}

.roundBorder4{
    -moz-border-radius: 4px 4px 4px 4px;
    -webkit-border-radius: 4px 4px 4px 4px;
    border-radius: 4px 4px 4px 4px;
}
.roundBorder6{
    -moz-border-radius: 6px 6px 6px 6px;
    -webkit-border-radius: 6px 6px 6px 6px;
    border-radius: 6px 6px 6px 6px;
}
.roundBorder8{
    -moz-border-radius: 8px 8px 8px 8px;
    -webkit-border-radius: 8px 8px 8px 8px;
    border-radius: 8px 8px 8px 8px;
}
.roundBorder10{
    -moz-border-radius: 10px 10px 10px 10px;
    -webkit-border-radius:  10px 10px 10px 10px;
    border-radius:  10px 10px 10px 10px;
}

.markersdivUneditable{
    border: 0px !important;
}

.markerdiv div{
    padding:0.7ex 1ex;
}
.markerdiv div[zero_top_padding]{ /*mathces any div with the attribute zero_top_padding set (whatever the value)*/
                                  padding-top:0px;
}
.markerdiv div *{
    vertical-align:middle;
    font-family: sans-serif;
}
.markerdiv div input, .markerdiv div textarea{
    margin:0px;
    padding:2px;
}
.markerdiv .ts-marker{
    background-image: url('../images/marker_tiny.png'); text-align: center; min-width:3ex;
}
.markerdiv .ts-marker, .markerdiv .markersdivOffset, .markerdiv .markersdivTitle, .markerdiv .markersdivAddPlaylist, .markerdiv .markersdivEdit{margin-right:.8ex;}
.markerdiv div a, .markerdiv div a:visited, .markerdiv div a:hover{
    display: inline-block; /*otherwise width and height do not work*/
    background-repeat: no-repeat;
    text-decoration: none;
}
.markerdiv .markersdivOffset, .markerdiv .markersdivOffset:hover, .markerdiv .markersdivOffset:visited{
    color: #000;
}
.markerdiv .ts-marker, .markerdiv .ts-marker:hover, .markerdiv .ts-marker:visited{
    font-family: monospace;
    background: #e65911;
    color: #FFF;
    padding-left: .3ex;
    padding-right:.3ex;
}
.markersdivDelete{
    background-image: url('../images/del_marker.png');
    width:15px;
    height:2ex;
    background-repeat: no-repeat;
    padding-left: 13px;
    padding-right: 2px;
}
/*backfround-repeat is redundant with .markerDiv a,.. defined above but this way .markersDivDelete is re-usable in other context (eg popupdiv*/
.markersdivAddPlaylist{
    background-image: url('../images/add_playlist_marker.png');
    width:13px;
    height:2ex;
    padding-left: 13px;
    padding-right: 2px;
}
.markersdivTitle{
    font-weight:bold;
}
.markersdivEdit, .markersdivEdit:hover, .markersdivEdit:visited{
    line-height: normal;
    color:#000;
    background-position: -2px center;
    padding-left: 13px;
    padding-right: 2px;
    font-size: 65%;
    border:2px solid #666;
    background-color: #fff;
    background-image: url('../images/edit_marker.png');
    -moz-border-radius: 1ex; -webkit-border-radius: 1ex; border-radius: 1ex;
}
.markersdivSave, .markersdivSave:hover, .markersdivSave:visited{
    background-color: #087714;
    color: #fff;
    font-weight: bold;
    padding:.7ex; padding-left: 20px;
    background-position: 5px center;
    -moz-border-radius: 1ex;-webkit-border-radius: 1ex;border-radius: 1ex;
    background-image: url('../images/ok.png');
}
.markerdiv{
    border: 1px solid #aaaaaa;
    margin-bottom: 1ex;
    -moz-border-radius: 1e;
    -webkit-border-radius: 1ex;
    border-radius: 1ex;
}

/*----------------------------------*/
.component, .component_icon, .component:hover, .component_icon:hover, .component:visited, .component_icon:visited{
    background-position: 1ex .5ex;
    -moz-border-radius: 1ex 1ex 1ex 1ex;
    -webkit-border-radius: 1ex 1ex 1ex 1ex;
    border-radius: 1ex 1ex 1ex 1ex;
    padding:.7ex .7ex .7ex .7ex;
    background-color:  #f9f9f9;
    color:#444;
    text-decoration: none;
    margin:0;
    font: 1em/1.2em Verdana, sans-serif;
}
.component + .component, .component + .component_icon, .component_icon + .component ,
.component_icon + .component_icon{
    margin-left: .1ex;
}

.component_icon, .component_icon:hover, .component_icon:visited{
    background-repeat: no-repeat;
    background-position: 1ex .5ex;
    padding:4px 8px 4px 26px; /*top right bottom left - last value depends on the icon size (default=16)*/
}

.button,  .button:visited, .button:hover{
    font-weight: bold;
    border:  1px solid #e1e1e1;
    white-space:nowrap;
}

.button:hover{
    border-top:  1px solid #f9f9f9 !important;
    border-left:  1px solid #f9f9f9 !important;
    border-bottom:  1px solid #999 !important;
    border-right:  1px solid #999 !important;
    background-color:  #f4f4f4;
    color: #000;
    text-decoration: none;
}

.button a:hover{
    text-decoration: none;
}

#btn{
    font-weight: bold;
    color: #ffffff;
    background: #393189;
    border-color: #393189;
    margin-top: 2px;
    margin-left: -2px;
}

#btn:hover{
    font-weight: bold;
    color: #393189;
    background-color: #ffffff;
    border-color: #393189;

}


#btn-black{
    font-weight: bold;
    color:#ffffff;
    background-color:black;
    border-color:black;

}

#btn-black:hover{
    font-weight: bold;
    color:black;
    background-color:#ffffff;
    border-color:black;

}

.btn-module {
    margin: 0 0 1.5em 1.5em;
}

.btn-default, .btn-default:visited {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  border-color: rgba(57, 49, 137, 0.8);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(57, 49, 137, 0.6);
  outline: 0 none;
}

.form-control {
  color: #393189;
  opacity: 1;
}
.form-control::-moz-placeholder {
  color: grey;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: grey;
}
.form-control::-webkit-input-placeholder {
  color: grey;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  cursor: not-allowed;
  background-color: grey;
  opacity: 1;
}
textarea.form-control {
  height: auto;
}

.list_item, .list_item:visited, .list_item:hover{
    display:block;
    color:#393189;
}

.list_item:hover{
    font-weight: bold;
}

.icon_edit{
    background-image: url('../images/edit_page.png');
}
.icon_copy{
    background-image: url('../images/copy_page.png');
}
.icon_previous{
    background-image: url('../images/previous.png');
}
.icon_next{
    background-image: url('../images/next.png');
}
.icon_dublin_core{
    background-image: url('../images/dublin_core.png');
}
.icon_cancel{
    background-image: url('../images/cancel.png');
}
.icon_save{
    background-image: url('../images/save.png');
}
.icon_add{
    background-image: url('../images/add.png');
}
.icon_add_to_playlist{
    background-image: url('../images/add_to_playlist.png');
}
.icon_login{
    background-image: url('../images/password.png');
}
.icon_search{
    background-image: url('../images/find.png');
}
.icon_ok{
    background-image: url('../images/ok.png');
}
.icon_csv{
    background-image: url('../images/csv.png');
}
.icon_playlist{
    background-image: url('../images/playlist.png');
}
.icon_filter{
    background-image: url('../images/filter.png');
}
.icon_delete{
    background-image: url('../images/delete.png');
}
.icon_zip{
    background-image: url('../images/zip.png');
}
.icon_rss,.icon_rss:hover{
    background: url('../images/feed-icon-14x14.png') no-repeat;
    background-position: 0ex .8ex;
    padding:.0ex 0ex .8ex .7ex;
    text-decoration: none;
}

.addToPlaylist {
    margin:0.5ex;
    position: absolute;
    display:none;
    left: 0;
    top: 0;
}


/*focus on elements*/
a:focus,div:focus{
    -moz-outline: 1px dotted #999  !important;
    outline: #999 dotted 1px;
}

.related_media {
    border-top: 1px dotted #393189;
}


#chatwindow {
    min-height: 10em;
    max-height: 42em;
    border-bottom: 1px solid;
    padding: 0.8em;
    overflow: auto;
    background-color: white;
    font-size: 0.8125em;
    -moz-border-radius: 8px 0px 8px 8px;
     -webkit-border-radius: 8px 0px 8px 8px;
     border-radius: 8px 0px 8px 8px;
}

.msg {
    font-size: 0.9em;
    }

.msg input {
    -moz-border-radius: 8px 8px 8px 8px;
     -webkit-border-radius: 8px 8px 8px 8px;
     border-radius: 8px 8px 8px 8px;
    }

.mod {
    width: 66%;
    float: left;
}

.block-grey {
    background-color: #f1f1f1;
    padding: 0.5em;
    margin: 0.5em 0;
    -moz-border-radius: 8px 0px 8px 8px;
    -webkit-border-radius: 8px 0px 8px 8px;
    border-radius: 8px 0px 8px 8px;
}

.block-grey h2{
    margin-top: 5px;
    margin-bottom: 5px;
}

#language-selector {
    color: #393189;
    height: 2.2em;
    font-size: 0.9em;
    margin-top: 0.1em;
}

#mapid, #mapItems {
    z-index: 1;
}

label.melody {
  display: block;
}

#midi, #id_melody{
  max-width: 523px;
  width: 100%;
}

.list-group.search .list-group-item {
  list-style: none;
  margin-top: 5px;
}

/* messages d’information ou d’erreur */

ul.messages {
    margin: 0;
    padding: 0;
}

ul.messages li {
    margin: 15px 0;
    padding: 10px;
    border: solid 1px #393189;
    border-radius: 8px;
    list-style: none;
    color: #393189;
}

ul.messages li.warning,
ul.messages li.error {
    border-color: #bf1b2c;
    color: #bf1b2c;
}

ul.messages li.error {
    border-width: 2px;
    font-weight: bold;
}

/* menu reconstruit par Laurence */

#menu .menu {
    font-weight: bold;
    font-size: 1em;
}

#menu .menu a, .menu a:hover, .menu a:active {
    text-decoration: none !important;
    color: white;
    background: #393189;
}

#menu .menu > li {
    margin: 3px 3px auto;
    border-bottom:5px #393189 solid;
    border-radius: 0;
  z-index:10;
}

#menu .menu > li > a {
    border-radius: 0;
}

#menu .menu > li:hover > a, .menu > li.active > a{
    border-radius: 10px 10px 0 0;
    background: white;
    color: #393189;
}

#menu .nav ul  {
    margin: 0px;
    padding: 0px;
    background: #393189;
    color: white;
    list-style: none;
}

#menu .nav a, .nav a:visited  {
    padding: 1em;
    display: block;
    text-align: center;
    text-decoration: none;
    color: white;
}

#menu .nav a:hover {
    color: #393189;
    background: white;
    text-decoration: none !important;
}

#menu .nav .menu {
    display: flex;
    flex-direction : row;
    padding-left: 3em;
}

#menu .has-children {
    position: relative;
}

#menu .has-children .has-children > a::after {
    content: " ▶";
    color: white;
    position: absolute;
    right: 10px;
}

#menu .has-children .has-children:hover > a::after {
    color: #393189;
}

#menu .has-children:hover > .sous-menu {
    display: flex;
    color: #393189;
    background: white;
}

#menu .sous-menu {
    display: none;
    flex-flow: column wrap;
    min-width: 200px;
    position: absolute;
    background: #393189;
    z-index:2;
    top: calc(100% + 5px);
    border: 1px solid #393189;
}

#menu .sous-menu .sous-menu > li:hover a, .sous-menu li:hover > a {
    background: white;
    color:  #393189;
    z-index:2;
}

#menu .sous-menu.active {
    display: flex;
}

#menu .sous-menu a {
    text-align: left;
    color: white;
    background: #393189;
}

#menu .sous-menu .sous-menu {
    top: 0px;
    left: 100%;
}

#menu .menu .blue { border-bottom-color:  #53bfcc; }
#menu .menu .green { border-bottom-color:  #58b58d; }
#menu .menu .yellow { border-bottom-color:  #f3ad17; }
#menu .menu .orange { border-bottom-color:  #ef7c56; }


@media screen and (max-width: 1200px) {
  .player_position {
    display: block;
    float: none;
  }
}
@media screen and (max-width: 820px) {
    #menu .nav .menu {
        flex-flow: column wrap;
        padding-left: 0;
    }

    #menu .sous-menu a {
        text-align: center;
    }

    #menu .sous-menu {
        position: static;
    }

    #menu .menu > li:hover > a, .menu > li.active > a{
        border-radius: 0;
    }
}


/* ---  on cache l'icone tant que les playliste ne sont pas gérées  --- */
.markersdivAddPlaylist {
    display: none !important;
}

/* correction bug qui centrait tous les champs */
.container_line {
    margin: 0.5em;
}

/* on fixe la largeur des champs pour permettre que les lignes soient alignées en  vertical */
.container_data.number {
    max-width: 75px;
}

.container_data.thb {
    max-width: 430px;
    width: auto;
}

.container_data.instrument {
    max-width: 430px;
    width: auto;
}


.voix-instrument .container_data:last-child {
    min-width: 200px;
    width: auto;
}


/* *************** les composants de data-visualisation *************** */

ul.proportional-colored-bar,
ul.proportional-colored-bar li {
    display: inline-block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    list-style: none;
    font-size: 0;
    overflow: hidden;
}

ul.proportional-colored-bar {
    display: flex;
    flex-flow: row nowrap;
    min-width: 150px;
    max-width: 300px;
    border: 1px solid #cecece;
    border-radius: 5px;
}

ul.proportional-colored-bar li {
    height: 20px;
    width: calc(var(--item-ratio) * 100%);
    background: var(--item-color);
}

ul.proportional-colored-bar-legend,
ul.proportional-colored-bar-legend li {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.95em;
    text-align: right;
    vertical-align: middle;
}

ul.proportional-colored-bar-legend li {
    display: inline-block;
}

ul.proportional-colored-bar-legend li::before {
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: 0.5em;
    border: 1px solid #cecece;
    border-radius: 13px;
    vertical-align: middle;
    background: var(--item-color);
    content: '';
}
