html, body {
	font-family:Calibri, Arial, sans-serif;
}
pre {
	white-space: pre-wrap;
}
a, a:visited {
	color:#872240;
}
#logo {
	float:left;
	width:200px;
	height:200px;
	background:transparent url(./bv.png) center center no-repeat;
	background-size:cover;
	cursor:pointer;
}
#shade {
	display:none;
	position:fixed;
	width:100vw;
	height:100vh;
	top:0;
	left:0;
	background-color:rgba(0,0,0,.5);
}
#shade .content {
	position:absolute;
	width:50vw;
	height:75vh;
	top:12.5vh;
	left:25vw;
	box-sizing:border-box;
	background-color:white;
	border:solid darkgray 2px;
	border-radius:1rem 0 0 1rem;
	padding:1rem;
	overflow-y:scroll;
}
#shade .content img {
	max-width:100%;
}
h1 {
	color:#872240;
	font-size:3rem;
}
#shade h3 {
	width:100%;
	margin:.5rem 0;
	white-space:wrap;
	overflow:visible;
}
#shade .complement {
	display:block;
}
#shade .close {
	display:block;
	position:fixed;
	top:1rem;
	right:1rem;
	width:2rem;
	padding:0;
}

.bouton {
	display:inline-block;
	height:2rem;
	margin-top:.5rem;
	padding:0 1rem;
	border:none;
	line-height:2rem;
	font-family:monospace;
	font-size:1.5rem;
	font-weight:400;
	background-color:#872240;
	color:white;
	cursor:pointer;
	text-align:center;
	border-radius:1rem;
}
.bouton.actif {
	background-color:#c03;
}

.bouton .fixed {
	position:fixed;
}
.bouton.small {
	height:1.5rem;
	padding:0 .75rem;
	line-height:1.5rem;
	font-size:1rem;
}
.bouton:hover {
	background-color:#c03;
}
a.bouton {
	text-decoration:none;
}
a.bouton:visited, a:visited .bouton {
	color:white;
}
h2 a {
	display:inline-block;
	padding:.5rem 1rem;
	border:solid 1px #666;
	border-radius:1.5rem;
	text-size:1.5rem;
	line-height:1.5rem;
	text-decoration:none;
	color:#666;
}
h2 small {
	font-size:1rem;
	font-weight:normal;
}
h3 {
	width:calc(100% - 1rem);
	margin:0 .5rem;
	white-space:nowrap;
	overflow:hidden;
}
ul#channels {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin:0;
	padding:.25rem;
	list-style-type:none;
	text-align:center;
	border:solid gray 1px;
	gap:.5rem;
}
ul#channels li {
	border:solid gray 1px;
	width:150px;
	overflow:hidden;
	cursor:pointer;
}
ul#channels img {
	width:150px;
}

ul#programs {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin:0;
	padding:.25rem;
	list-style-type:none;
	text-align:center;
	border:solid gray 1px;
	gap:.5rem;
	padding:.5rem
}
ul#programs.grille {
	justify-content:left;
}
ul#programs .tchannel {
	text-align:left;
	flex-basis: 100%;
	font-weight:700;
	font-size:1.25rem;
	color:#872240;
	border:solid #872240 1px;
	border-width:1px 0;
	background-color:#e0e0e0;
	padding:0 .5rem;
}
ul#programs .planning {
	margin:0;
	padding:.25rem;
	background:#e0e0e0;
	color:black;
}
ul#programs .planning small {
	font-size:80%;
	font-weight:700;
	float:right;
	padding-top:.15rem;
}
ul#programs li {
	border:solid gray 1px;
	width:250px;
	cursor:pointer;
	overflow:hidden;
}
ul#programs img {
	max-width:250px;
	max-height:250px;
}
ul#programs .desc {
	font-style:italic;
	max-height:100px;
	overflow-y:auto;
}
.credits p {
	font-weight:bold;
}
.credits span:not(:last-child):after {
	content:', ';
}

.categories span:not(:last-child):after {
	content:', ';
}
.complement {
	display:none;
}
.sql {
	display:none;
	padding:0;
	box-sizing:border-box;
	width:0px;
	border:solid #872240 4px;
	border-radius:.25rem;
	height:8px;
	overflow:hidden;
}
.local .sql {
	display:block;
}
.sql:hover {
	padding:.25rem;
	border:solid #872240 1px;
	border-radius:.5rem;
	width:auto;
	height:auto;
}
.code textarea{
	//display:none;
	font-family:monospace;
	width:100%;
	height:150px;
}
.courant {
}
.courant span {
	display:inline-block;
	padding:0 .15rem;
	color:#872240;
	border:solid #872240 1px;
	border-radius:.25rem;
}
.courant span:before,.courant span:after {
	content:'.';
	color:transparent;
}
#subscription,
#login,
#init,
#logout,
#preferences {
	display:none;
}
h1 .logout {
	display:none;
}
.retour {
	color:#0c3;
}
.erreur {
	color:#c03;
}
.preferences #selection div div{
	display:flex;
	gap:1rem;
}
.preferences #selection div {
	//width:calc(100% - 1rem);
}
.preferences #selection div select {
	width:100%;
}
.contextmenu {
	position:absolute;
	list-style-type:none;
	border:solid darkgray 1px;
	background-color:lightgray;
	color:black;
	cursor:pointer;
	margin:0;
	padding:0;
	width:150px;
	display:none;
}
.contextmenu li {
	display:block;
	padding:.25rem .5rem;
	border-bottom:solid darkgray 1px;
}
.contextmenu li:hover {
	background-color:white;
}
.contextmenu li:last-child {
	border-bottom:none;
}
@media only screen and (max-width: 800px) {
	#logo {
		width:120px;
		height:120px;
	}
	h1 {
		font-size:2rem;
	}
	.affichage {
		clear:left;
	}
	ul#programs.grille {
		justify-content:center;
	}
	ul#programs .tchannel {
		text-align:center;
	}
}
