* {
    -webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
    color-adjust: exact !important;                 /* Firefox 48 – 96 */
    print-color-adjust: exact !important;           /* Firefox 97+, Safari 15.4+ */
}

/* LetterUS : 8.5 by 11 inches (215.9 by 279.4 mm) */
body {
	width: 210mm;
	height: 279mm;
    background-color:#fff;
	font-family:'Open Sans', Arial, serif;
	font-family:'Didact Gothic', Arial, serif;
	font-size:13pt;
	padding: 10mm;
}

#page { /* Modifications : suppression de la bordure - marges */
	size: LetterUS;
	margin:0;
	border:none;
}

@media print {
	.no-print { display: none!important }
}

#banner, #menuright, #footer { display:none; }

h1#top { /* Affichage du titre */
	margin:0;
	padding:0;
	text-indent:0;
	line-height:25pt;
	font-size:25pt;
}

h2, h3, #contenu h3, #contenu a, a { /* Modification de la couleur des titres et liens */
	color:#000;
}

h2 { /* Modifications : marges - police - couleur du souligné */
	padding-bottom:2pt;
	padding-left:0;
	font:bold 20pt Serif;
	border-bottom:1pt solid #000;
}

a { /* Empèche le souligné par défaut du titre h1 */
	text-decoration:none;
}

a:hover { /* Suppression du souligné */
	text-decoration:none;
}

p { /* Modifications : alignement du texte - marges - unité des marges, police et taille de la police */
  text-align:justify;
  margin:2pt 1pt 6pt 0;
  font-size:12pt;
  color:#000;
}

#contenu { /* Modifications : suppression du float - adaptation de la largeur*/
  float:none;
  width:100%;
  margin:0;
  padding:0;
  text-align:left;
}

#contenu h3 { /* Modifications : marges - unité des marges, police et taille de la police */
  font-size:15pt;
	font-weight:bold;
	margin: 10pt 0 5pt 0;
}

#contenu a { /* Modifications : suppression du gras et du souligné */
  font-weight:normal;
  text-decoration:none;
}

.img-top {max-height:100px;max-width:160px;}
.img-bot { vertical-align:-30%; max-height:100px;max-width:180px;}
.img-user{max-height: 120px; max-width:130px; }
.td-img-user { width:140px; object-position: center top; }
.check { object-position: center bottom; }

.caption {font-size: 125%; font-weight: bold; }
.sepDay  {font-size: 115%; font-weight: bold; font-style : italic; padding-left: 10px; margin-top: 15px; margin-bottom: 6px; background-color:#d8d8d8; }
.sepMeet {font-size: 115%; font-style : italic; padding-left: 6px; margin-bottom: 6px;}
.oto {background:#bddfff;}
.otf {background:#dbffdb;}
.gm  {background:rgb(255, 222, 252);}
.darkblue { color:rgb(0, 27, 102); }
.md_name { font-weight: bold; }
.warnTZ { font-style : italic; font-size:80%; color: #b40000; }
.infoTZ { font-style : italic; font-size:80%; color: #292929; }

.listDetailPanel {
	padding: 6px;
	line-height: 120%;
	margin-bottom: 15px;
	color: black;
	background-color: #c8dfec;
	vertical-align: middle;
  }
.btnActive   { background-color: #3d91f1; font-size: 100%;	text-align: center;	line-height: 38px; padding-right: 10px; padding-left: 10px; cursor: pointer; }
.btnUnactive { background-color: #bdbdbd; font-size: 100%;	text-align: center;	line-height: 38px; padding-right: 10px; padding-left: 10px; cursor: pointer; }
.btnImg      { max-width: 25px; max-height:30px; padding: 0px; margin: 0px; vertical-align: middle; }
		
.rating      { vertical-align: middle; padding:2px; }
.notePanel   { font-size: 80%; font-style : italic; line-height:90%; }
.leftPanel   { white-space: nowrap; }
.printImg    { padding-right:3px; vertical-align: middle; cursor: pointer; }
.selStyle    { background-color: #c8dfec; }

.step1       { padding:5px; cursor: pointer; animation-name: pulse1; animation-duration: 6s; animation-iteration-count: infinite; }
@keyframes pulse1 { 0% { background-color: #c8dfec; border: 3px solid #c8dfec; } 30% { background-color: rgb(255,200,255); border: 3px solid rgb(225, 0, 255); } 60% { background-color: #c8dfec; border: 3px solid #c8dfec; } 100% { background-color: #c8dfec; border: 3px solid #c8dfec; } }
.step2       { padding:5px; cursor: pointer; animation-name: pulse2; animation-duration: 6s; animation-iteration-count: infinite; }
@keyframes pulse2 { 0% { background-color: #c8dfec; border: 3px solid #c8dfec; } 40% { background-color: #c8dfec; border: 3px solid #c8dfec; } 70% { background-color: rgb(255,200,255); border: 3px solid rgb(225, 0, 255); } 100% { background-color: #c8dfec; border: 3px solid #c8dfec; } }
  
.tableTop { width: 100%; }
.tableBot { width: 100%; }
.tableContent { width: 100%; }
.md_tblCp { width: 100%; vertical-align: top; margin-bottom: 20px; border-collapse: collapse; border: 1px solid #444; }
.md_tblCp td { padding:4px 8px; line-height:120%; vertical-align: top; border-right: 1px solid rgb(204, 203, 203); }
.md_tblPe { width:100%; border-collapse: collapse; background-color: #f0f0f0; margin-top:5px 0px; page-break-inside: avoid; display: inline-block; }  
.md_tblPe td { padding:0px; padding-left:10px; padding-top:0px; line-height:160%; border: none; border-bottom: 0px solid rgb(204, 203, 203); vertical-align: top; }
.nfoLine { background-color: #e3f5f4; display: block; }
.description {
	white-space: pre-line;
	display: block;
	line-height: 120%;
	margin-bottom: 5px;
  }

input + span { position: relative; }
input + span::before {position: absolute;right: -20px;top: 5px;}
input:invalid {border: 2px solid rgb(241, 195, 151);}
input:invalid + span::before {content:"✖"; color: rgb(241, 195, 151);}
input:valid + span::before {content:"✓"; color: rgb(117, 207, 117);}

#postMsg { font-style : italic; background-color:rgb(95, 253, 95); font-size: 130%; font-style : italic; line-height:140%; margin:6px; padding:6px; }