@font-face {
  font-family: MultimediaIcons;
  src: url("../fonts/multimediaicons.6b960a382a23.woff");
}

html, body {
  height: 100%;
  margin: 0;
}
body {
  background-color: #efefef;
  font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
}

h1 { font-size: 165%; }

a {
  color: #369;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a.no-decoration {
  text-decoration: none;
  color: inherit;
}

img {
  border: 0;
}

img.inline {
  vertical-align: text-bottom;
}

button { padding: 6px 12px; }
button:hover { cursor: pointer; }

div#banner  {
  background:none repeat scroll 0 0 white;
  top:-1px;
}

h1.logo {
  margin: 0;
  border: 0;
  height:74px;
}

h1.logo img {
  height: 87px;
  max-width: 100%;
}

div#authenticated {
  float: right;
  margin: 5px 1em 0 1em;
  font-size: 12px;
}
@media (max-width: 600px) {
  div#authenticated { float:none; text-align: right; }
}

div#authenticated input[type=submit]{
  border: 2px solid lightgrey;
  font-size: 95%;
  cursor: pointer;
}

div#container {
  display: flex;
  flex-flow: column;
  background-color: white;
  min-height: 100%;
  max-width: 1024px;
  margin: 0 auto;
}

#content-wrapper {
  padding: 1em;
  margin-left: 5%;
  flex-grow: 1;
}

img.res_logo {
  max-height: 24px;
}

hr.light {
  height: 1px;
  opacity: 0.4;
}

span.mmicon {
  font-family: "MultimediaIcons";
  font-size: 20px;
  margin-right: 5px;
}

ul.messages { padding: 0 }
li.messages {
  list-style-type: none;
  font-size: larger;
  font-weight: bold;
  padding: 1em;
  background-color: green;
  color: white;
  border-radius: 4px;
}
li.messages.error { background-color: red; }

ul.errorlist { padding-left: 0 !important; }
ul.errorlist li { color: red; }

.unpublished {
  color: red !important;
  font-style: italic;
}

.per-hidden, .pagin-hidden {
  display: none !important;
}

#main-home h2 {
  text-transform: uppercase;
  text-align: left;
  font-size: 1.1em;
}

#main-home h3.bg-L, #main-home h3.bg-MSN, #main-home h3.bg-SHS, #main-home h3.bg-A, #main-home h3.bg-CM, #main-home h3.bg-FG, #main-home h3.bg-SC, #main-home h3.bg-EN, .titre1L, .titre1MSN, .titre1SHS, .titre1A, .titre1CM, .titre1FG, .titre1EN {
  text-transform: uppercase;
  font-weight: bold;
  padding: 0.5em 1.5em;
  margin: 0;
}
.bg-L, .titre1L {
  color: white;
  background-color: #FFBB00;
}
.bg-MSN, .titre1MSN {
  color: white;
  background-color: #CC0001;
}
.bg-SHS, .titre1SHS {
  color: white;
  background-color: #55AA43;
}
.bg-A, .titre1A {
  color: white;
  background-color: #EE6600;
}
.bg-CM, .titre1CM {
  color: white;
  background-color: #669AEE;
}
.bg-FG, .titre1FG {
  color: white;
  background-color: #562D89;
}
.bg-EN, .titre1EN {
  color: white;
  background-color: #BD4EA1;
}
.bg-SC {
  color: white;
  background-color: #999999;
}

.titre1L, .titre1MSN, .titre1SHS, .titre1A, .titre1CM, .titre1FG {
  font-size: 1.2em;
}
.titre2L, .titre2MSN, .titre2SHS, .titre2A, .titre2CM, .titre2FG {
  font-size: 1.1em;
  font-weight: bold;
  color: black;
}

h1.L, h2.L, h3.L, .linkL, .colorL, li.lightbg-L a {
  /*color:#FFBB00;*/
  color:#EE9900 !important;
}
h1.MSN, h2.MSN, h3.MSN, .linkMSN, .colorMSN, li.lightbg-MSN a {
  color:#CC0001 !important;
}
h1.SHS, h2.SHS, h3.SHS, .linkSHS, .colorSHS, li.lightbg-SHS a {
  color:#55AA43 !important;
}
h1.A, h2.A, h3.A, .linkA, .colorA, li.lightbg-A a {
  color:#EE6600 !important;
}
h1.CM, h2.CM, h3.CM, .linkCM, .colorCM, li.lightbg-CM a {
  color:#669AEE !important;
}
h1.FG, h2.FG, h3.FG, .linkFG, .colorFG, li.lightbg-FG a {
  color:#562D89 !important;
}
h1.EN, h2.EN, h3.EN, .linkEN, .colorEN, li.lightbg-EN a {
  color:#BD4EA1 !important;
}
.linkCT { color:#917146 !important; }
.link_rsrc { color:#333 !important; }

.L_border {
  border-color: #FFBB00;
}
.MSN_border {
  border-color: #CC0001;
}
.SHS_border {
  border-color: #55AA43;
}
.A_border {
  border-color: #EE6600;
}
.CM_border {
  border-color: #669AEE;
}
.FG_border {
  border-color: #562D89;
}
.EN_border {
  border-color: #BD4EA1;
}

.lightbg-L, .titre2L {
  background-color: #FBF5D6;
}
.lightbg-MSN, .titre2MSN {
  background-color: #F9D9CF;
}
.lightbg-SHS, .titre2SHS {
  background-color: #D3E1D3;
}
.lightbg-A, .titre2A {
  background-color: #FEE5D7;
}
.lightbg-CM, .titre2CM {
  background-color: #D9E7F7;
}
.lightbg-FG, .titre2FG {
  background-color: #E3D6EF;
}
.lightbg-EN, .titre2EN {
  background-color: #EFB0E2;
}
.lightbg-GEN, .titre2GEN {
  background-color: lightgray;
}

/* thematique links on home page */
a.thematique {
  text-decoration: none;
  color: black;
}
a.thematique:hover {
  color: #666666;
}

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

ul.home li {
  font-weight: bold;
  list-style: none outside none;
  border-bottom: 1px
  solid #CCCCCC;
  padding: 3px 3px 3px 1.5em;
}

#navig-criteres {
  float: right;
}


/* discipline page styles */
div.visee {
  display: inline-block;
  padding: 0.5em 1em;
  margin-bottom: 0.5em;
  line-height: 160%;
  border-radius: 5px;
  /*border-style:solid;
  border-width: 1px;*/
}

a.text_gen {
  text-decoration: none;
  border-bottom: 1px dotted gray;
  font-size: 1.2em;
}

div.th-table h2 {
  margin-top: 1.5em;
  margin-bottom: 0;
}
table.matrix {
  border-collapse: separate;
  border-spacing: 2px;
}
.th_title {
  text-transform: uppercase;
  text-align: center;
}
table.matrix tr.empty {
  display: none;
}
table.matrix th.inactive, table.matrix th.inactive a {
  color: #AAAAAA !important;
  text-decoration: none;
}
table.matrix td {
  height: 6em;
  text-align: center;
  padding: 0.5em;
}
table.matrix a, table.matrix a:hover {
  color: white;
  text-decoration: none;
}
table.matrix td.empty {
  border: 1px solid #AAAAAA;
}
td.obj_cell .truncated { display: table-cell; }
td.obj_cell .non-truncated { display: none; }
td.obj_cell:hover .truncated { display: none; }
td.obj_cell:hover .non-truncated { display: table-cell; }
.non-truncated {
  font-size: 110%;
  font-weight: bold;
}
.highlighted {
  background-color: red !important;
}

.other-disciplines {
  margin-bottom: 0.4em;
}
.other-disciplines a {
  text-decoration: none;
  font-weight: bold;
  font-size: 1.2em;
  padding-right: 0.3em;
}
/* objectif page styles */
div#breadcrumb {
  text-transform: uppercase;
}
div#breadcrumb a {
  text-decoration: none;
  color: black;
  border-bottom: 1px dotted gray;
}

div#spec_head {
  position:relative;
}

div#topright {
  float:right;
  width: 25%;
  margin-left: 1em;
  /* Make room for pdf icon (absolute position) */
  margin-bottom: 2.8em;
}

div#neighbours {
  float: right;
  clear: right;
}
#neighbours table td {
  padding: 1em;
  border-collapse: collapse;
}
#neighbours table td.leftright {
  border-top: 1px dotted #55AA43;
  border-bottom: 1px dotted #55AA43;
}
#neighbours table td.topbottom {
  border-left: 1px dotted #55AA43;
  border-right: 1px dotted #55AA43;
}

div#linked_objs {
  float:right;
  clear: right;
  margin-top: 1em;
  padding: 5px;
  background-color: #EEEEEE;
}

div#main_title {
  position: relative;
  width: 69%;
  /* make place for printable icon */
  padding-right: 22px;
}

ul.composantes {
  display: inline-block;
  width: 70%;
  list-style: none outside none;
  margin: 4px 0;
  padding: 0.5em;
  border-radius: 5px;
}
ul.composantes li {
  list-style-type: none;
  margin: 4px 0 3px 0;
  font-size: 105%;
}
div.ref_composante {
  float:left;
  clear:left;
}
div.txt_composante {
  margin-left: 2em;
  font-weight: bold;
}

div#printable_link {
  /* Floating right is bugging IE 8 */
  position: absolute;
  top: 0;
  right: 0;
}

/* Tabs */
ul.tabs {
  position:relative;
  float:left;
  width: 100%;
  list-style:none;
  line-height:1em;
  padding:0;
  margin:0.5em 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
ul.tabs li {
  float: left;
  width: 15em;
  padding: 5px;
  text-align: center;
  font-size: 120%;
  font-weight: bold;
  border-right: 2px solid white;
}
ul.tabs li a {
  text-decoration: none;
}
ul.tabs li.active a {
  color: white;
}

div.version-wrapper {
  clear: both;
}

.t_progression {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1em;
}
.headers1, .headers2 {
  color: white;
  background-color: #777777;
  font-weight: bold;
}
.headers1 {
  text-transform: uppercase;
  font-size: 105%;
}
.headers1 th, .headers2 th {
  text-align: left;
  border: 1px solid #DDDDDD;
  padding: 0.4em 1em;
}
.t_progression * td {
  border: 1px solid #CCCCCC;
  padding: 0.5em 1em;
}
.t_progression td p {
  margin: 0.4em 0;
}
div.cell_content {
  position: relative;
  height: 100%;
}

td.attente {
  background-color: #EEEEEE;
  border-top-color: #999999;
  /*border-bottom-color: #999999;*/
}
td.attente p {
  padding-left: 1em;
  background-image: url("../img/bullet.3e9c91ab71ee.png");
  background-repeat: no-repeat;
  background-position: 0 0.3em;
}
.t_progression td.titre {
  padding: 0 1em;
}
.t_progression td.noup {
  border-top-style: hidden !important;
}
.t_progression td.nobot {
  border-bottom-style: hidden !important;
}
.t_progression td.noupbot {
   border-bottom-style : hidden !important;
   border-top-style : hidden !important;
}

td.target_cell {
  border: 6px solid #FFDB2C;
}

img.toggle-rsrc {
  cursor:pointer;
  vertical-align: middle;
}
ul.rsrc {
  list-style: none outside none;
  background-color: #EEE;
  padding: 0.7em;
  margin-top: 0;
  border-radius: 5px;
  border-top-right-radius: 0;
  text-align: left;
}

ul.rsrc li {
  padding: 3px;
}

div.resources { text-align: right; }
div.resources-cant, div.resource_grp {
  font-style: italic;
  margin: 0.4em 0 1em 0;
  min-height: 1.8em;
  text-align: right;
}

em.link {
  padding: 0.2em;
  background-color: #EEEEEE;
}
a.linkL, a.linkMSN, a.linkSHS, a.linkA, a.linkCM, a.linkFG, a.linkCT, a.link_rsrc {
  text-decoration: none;
  border-bottom: 1px dotted;
}
.lex_term {
  border-bottom: 1px dotted gray;
  cursor: help;
}
.ref_niveau {
  font-family: serif;
  font-size: 0.9em;
  background-color: #CCCCCC;
  padding: 1px;
}
.ref_composante {
  font-family: monospace;
  color: white;
  background-color: #AAAAAA;
  font-weight: bold;
  padding: 1px 2px;
  margin-left: 1px;
}

div.soufflet {
  color: white;
  background-color: #777777;
  padding: 0.5em 1em;
  margin:  0.5em 0em;
  font-size: 1.1em;
  cursor: pointer;
}

div.embedded-closed, div.embedded-open { margin-left: 1.5em; }
div.embedded-closed { display:none; }

/* general content styles */

div.general-content h1 {
  background-color: #CCCCCC;
  padding: 0.5em 1em;
}

a.headerlink, a.celllink {
  color: #666666;
  text-decoration: none;
  visibility: hidden;
}
div.celllink {
  position: absolute;
  right: 0;
  bottom: 0;
}
div.cell_content:hover .celllink, div.cell_content:hover .headerlink {
  visibility: visible;
}

div.themes_container { display: flex; flex-wrap: wrap; margin-top: 1em; }
div.themes_header { padding-top: 7px; background-color: white; font-style: italic; }
div.themes {
  display: table;
  margin-right: 1em;
}
div.themes > div {
  display: table-row;
}
div.themes > div > span {
  display: table-cell;
  padding: 2px;
}
div.themes > div > span:first-child {
  text-align: right;
  padding-right: 0.3em;
}

div.themes .filter_wrapper {
  cursor: pointer;
  border: 1px solid #555;
  border-radius: 7px;
  padding: 2px 8px;
  margin:4px;
  background-color: #efefef;
}
div.themes .filter_wrapper:hover { background-color: #ddd; }
div.themes .filtered {
  color: black !important;
  font-weight: bold;
  font-size: 110%;
}

.tip-source { margin-top: 1em; color: #aaa; text-align: left; font-size: small; }
.illustr-warning { font-style: italic; color:red; margin-bottom: 2em; }

/* (A) WRAPPER */
#pop-up {
  position: fixed;
  top: 0; left: 0;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s;
}
#pop-up.open {
  visibility: visible;
  opacity: 1;
}

/* (B) BOX */
#pop-box {
  position: relative;
  max-width: 600px;
  max-height: 90%;
  overflow-y: auto;
  background: #fff;
  margin: 50vh auto 0 auto;
  transform: translateY(-50%);
}

/* (C) TITLE */
#pop-title {
  font-size: 21px;
  padding: 10px;
  padding-right: 2em;
  margin: 0;
  min-height: 22px;
  background: #BD4EA1;
  color: #fff;
}

/* (D) TEXT */
#pop-text {
  padding: 10px;
  margin: 0;
  background: #fff;
  color: #555;
}
#pop-text img { max-width: 100%; box-shadow: 8px 8px 12px #aaa; }

/* (E) CLOSE BUTTON */
#pop-close {
  position: absolute;
  top: 0; right: 5px;
  padding: 5px;
  color: #ffdcdc;
  font-size: 32px;
  cursor: pointer;
}
