@charset "utf-8";
/**
 * Feuille de style unique du site (fusion 2026/09).
 *
 * Historique : ce fichier remplace main.css (theme HTML5UP "Editorial",
 * dont seules les regles encore utilisees ont ete conservees -- squelette
 * de mise en page #wrapper/#main, reset, typographie, grille .row/.Nu,
 * boutons, listes ul.actions/ul.alt, tableaux), etienne.css, publications.css,
 * talks.css et les 2 regles utiles d'inline-styles-extracted.css.
 * ie8.css / ie9.css (hacks Internet Explorer) et FontAwesome ont ete retires :
 * plus aucune icone FontAwesome n'est utilisee sur le site.
 *
 * Palette : rich black #020A13, Azul #1273CE, Cornflower blue #5297FF,
 * Anti-flash white #F8FBFF (LS2N), texte #0a0a0a, gris attenue #6a6a6a,
 * separateurs #e4e4e4.
 *
 * Auteur : Étienne André
 */


/**********************************************************
 PARTIE 1/4 — issue de main.css (theme HTML5UP "Editorial") :
 reset, typographie de base, grille, boutons, listes, tableaux,
 squelette de mise en page (#wrapper / #main).
**********************************************************/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
		border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

*, *:before, *:after {
	-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
}

.row {
	border-bottom: solid 1px transparent;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
}

.row > * {
	float: left;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
}

.row:after, .row:before {
	content: "";
		display: block;
		clear: both;
		height: 0;
}

.row.uniform > * > :first-child {
	margin-top: 0;
}

.row.uniform > * > :last-child {
	margin-bottom: 0;
}

.row.\30 \%> * {
	padding: 0 0 0 0em;
}

.row.\30 \% {
	margin: 0 0 -1px 0em;
}

.row.uniform.\30 \%> * {
	padding: 0em 0 0 0em;
}

.row.uniform.\30 \% {
	margin: 0em 0 -1px 0em;
}

.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u, .\31 2u\$ {
	width: 100%;
		clear: none;
		margin-left: 0;
}

.\31 1u, .\31 1u\$ {
	width: 91.6666666667%;
		clear: none;
		margin-left: 0;
}

.\31 0u, .\31 0u\$ {
	width: 83.3333333333%;
		clear: none;
		margin-left: 0;
}

.\39 u, .\39 u\$ {
	width: 75%;
		clear: none;
		margin-left: 0;
}

.\38 u, .\38 u\$ {
	width: 66.6666666667%;
		clear: none;
		margin-left: 0;
}

.\37 u, .\37 u\$ {
	width: 58.3333333333%;
		clear: none;
		margin-left: 0;
}

.\36 u, .\36 u\$ {
	width: 50%;
		clear: none;
		margin-left: 0;
}

.\35 u, .\35 u\$ {
	width: 41.6666666667%;
		clear: none;
		margin-left: 0;
}

.\34 u, .\34 u\$ {
	width: 33.3333333333%;
		clear: none;
		margin-left: 0;
}

.\33 u, .\33 u\$ {
	width: 25%;
		clear: none;
		margin-left: 0;
}

.\32 u, .\32 u\$ {
	width: 16.6666666667%;
		clear: none;
		margin-left: 0;
}

.\31 u, .\31 u\$ {
	width: 8.3333333333%;
		clear: none;
		margin-left: 0;
}

.\31 2u\$+ *,
	.\31 1u\$+ *,
	.\31 0u\$+ *,
	.\39 u\$+ *,
	.\38 u\$+ *,
	.\37 u\$+ *,
	.\36 u\$+ *,
	.\35 u\$+ *,
	.\34 u\$+ *,
	.\33 u\$+ *,
	.\32 u\$+ *,
	.\31 u\$+ * {
	clear: left;
}

@media screen and (max-width: 1680px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(xlarge\), .\31 2u\$\(xlarge\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(xlarge\), .\31 1u\$\(xlarge\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(xlarge\), .\31 0u\$\(xlarge\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(xlarge\), .\39 u\$\(xlarge\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(xlarge\), .\38 u\$\(xlarge\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(xlarge\), .\37 u\$\(xlarge\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(xlarge\), .\36 u\$\(xlarge\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(xlarge\), .\35 u\$\(xlarge\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(xlarge\), .\34 u\$\(xlarge\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(xlarge\), .\33 u\$\(xlarge\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(xlarge\), .\32 u\$\(xlarge\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(xlarge\), .\31 u\$\(xlarge\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(xlarge\)+ *,
		.\31 1u\$\(xlarge\)+ *,
		.\31 0u\$\(xlarge\)+ *,
		.\39 u\$\(xlarge\)+ *,
		.\38 u\$\(xlarge\)+ *,
		.\37 u\$\(xlarge\)+ *,
		.\36 u\$\(xlarge\)+ *,
		.\35 u\$\(xlarge\)+ *,
		.\34 u\$\(xlarge\)+ *,
		.\33 u\$\(xlarge\)+ *,
		.\32 u\$\(xlarge\)+ *,
		.\31 u\$\(xlarge\)+ * {
	clear: left;
}
}

@media screen and (max-width: 1280px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(large\), .\31 2u\$\(large\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(large\), .\31 1u\$\(large\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(large\), .\31 0u\$\(large\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(large\), .\39 u\$\(large\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(large\), .\38 u\$\(large\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(large\), .\37 u\$\(large\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(large\), .\36 u\$\(large\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(large\), .\35 u\$\(large\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(large\), .\34 u\$\(large\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(large\), .\33 u\$\(large\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(large\), .\32 u\$\(large\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(large\), .\31 u\$\(large\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(large\)+ *,
		.\31 1u\$\(large\)+ *,
		.\31 0u\$\(large\)+ *,
		.\39 u\$\(large\)+ *,
		.\38 u\$\(large\)+ *,
		.\37 u\$\(large\)+ *,
		.\36 u\$\(large\)+ *,
		.\35 u\$\(large\)+ *,
		.\34 u\$\(large\)+ *,
		.\33 u\$\(large\)+ *,
		.\32 u\$\(large\)+ *,
		.\31 u\$\(large\)+ * {
	clear: left;
}
}

@media screen and (max-width: 980px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(medium\), .\31 2u\$\(medium\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(medium\), .\31 1u\$\(medium\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(medium\), .\31 0u\$\(medium\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(medium\), .\39 u\$\(medium\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(medium\), .\38 u\$\(medium\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(medium\), .\37 u\$\(medium\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(medium\), .\36 u\$\(medium\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(medium\), .\35 u\$\(medium\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(medium\), .\34 u\$\(medium\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(medium\), .\33 u\$\(medium\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(medium\), .\32 u\$\(medium\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(medium\), .\31 u\$\(medium\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(medium\)+ *,
		.\31 1u\$\(medium\)+ *,
		.\31 0u\$\(medium\)+ *,
		.\39 u\$\(medium\)+ *,
		.\38 u\$\(medium\)+ *,
		.\37 u\$\(medium\)+ *,
		.\36 u\$\(medium\)+ *,
		.\35 u\$\(medium\)+ *,
		.\34 u\$\(medium\)+ *,
		.\33 u\$\(medium\)+ *,
		.\32 u\$\(medium\)+ *,
		.\31 u\$\(medium\)+ * {
	clear: left;
}
}

@media screen and (max-width: 736px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(small\), .\31 2u\$\(small\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(small\), .\31 1u\$\(small\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(small\), .\31 0u\$\(small\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(small\), .\39 u\$\(small\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(small\), .\38 u\$\(small\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(small\), .\37 u\$\(small\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(small\), .\36 u\$\(small\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(small\), .\35 u\$\(small\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(small\), .\34 u\$\(small\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(small\), .\33 u\$\(small\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(small\), .\32 u\$\(small\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(small\), .\31 u\$\(small\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(small\)+ *,
		.\31 1u\$\(small\)+ *,
		.\31 0u\$\(small\)+ *,
		.\39 u\$\(small\)+ *,
		.\38 u\$\(small\)+ *,
		.\37 u\$\(small\)+ *,
		.\36 u\$\(small\)+ *,
		.\35 u\$\(small\)+ *,
		.\34 u\$\(small\)+ *,
		.\33 u\$\(small\)+ *,
		.\32 u\$\(small\)+ *,
		.\31 u\$\(small\)+ * {
	clear: left;
}
}

@media screen and (max-width: 480px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(xsmall\), .\31 2u\$\(xsmall\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(xsmall\), .\31 1u\$\(xsmall\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(xsmall\), .\31 0u\$\(xsmall\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(xsmall\), .\39 u\$\(xsmall\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(xsmall\), .\38 u\$\(xsmall\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(xsmall\), .\37 u\$\(xsmall\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(xsmall\), .\36 u\$\(xsmall\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(xsmall\), .\35 u\$\(xsmall\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(xsmall\), .\34 u\$\(xsmall\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(xsmall\), .\33 u\$\(xsmall\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(xsmall\), .\32 u\$\(xsmall\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(xsmall\), .\31 u\$\(xsmall\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(xsmall\)+ *,
		.\31 1u\$\(xsmall\)+ *,
		.\31 0u\$\(xsmall\)+ *,
		.\39 u\$\(xsmall\)+ *,
		.\38 u\$\(xsmall\)+ *,
		.\37 u\$\(xsmall\)+ *,
		.\36 u\$\(xsmall\)+ *,
		.\35 u\$\(xsmall\)+ *,
		.\34 u\$\(xsmall\)+ *,
		.\33 u\$\(xsmall\)+ *,
		.\32 u\$\(xsmall\)+ *,
		.\31 u\$\(xsmall\)+ * {
	clear: left;
}
}

@media screen and (max-width: 360px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(xxsmall\), .\31 2u\$\(xxsmall\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(xxsmall\), .\31 1u\$\(xxsmall\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(xxsmall\), .\31 0u\$\(xxsmall\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(xxsmall\), .\39 u\$\(xxsmall\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(xxsmall\), .\38 u\$\(xxsmall\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(xxsmall\), .\37 u\$\(xxsmall\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(xxsmall\), .\36 u\$\(xxsmall\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(xxsmall\), .\35 u\$\(xxsmall\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(xxsmall\), .\34 u\$\(xxsmall\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(xxsmall\), .\33 u\$\(xxsmall\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(xxsmall\), .\32 u\$\(xxsmall\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(xxsmall\), .\31 u\$\(xxsmall\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(xxsmall\)+ *,
		.\31 1u\$\(xxsmall\)+ *,
		.\31 0u\$\(xxsmall\)+ *,
		.\39 u\$\(xxsmall\)+ *,
		.\38 u\$\(xxsmall\)+ *,
		.\37 u\$\(xxsmall\)+ *,
		.\36 u\$\(xxsmall\)+ *,
		.\35 u\$\(xxsmall\)+ *,
		.\34 u\$\(xxsmall\)+ *,
		.\33 u\$\(xxsmall\)+ *,
		.\32 u\$\(xxsmall\)+ *,
		.\31 u\$\(xxsmall\)+ * {
	clear: left;
}
}

@media screen and (min-width: 1681px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(xlarge-to-max\), .\31 2u\$\(xlarge-to-max\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(xlarge-to-max\), .\31 1u\$\(xlarge-to-max\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(xlarge-to-max\), .\31 0u\$\(xlarge-to-max\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(xlarge-to-max\), .\39 u\$\(xlarge-to-max\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(xlarge-to-max\), .\38 u\$\(xlarge-to-max\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(xlarge-to-max\), .\37 u\$\(xlarge-to-max\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(xlarge-to-max\), .\36 u\$\(xlarge-to-max\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(xlarge-to-max\), .\35 u\$\(xlarge-to-max\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(xlarge-to-max\), .\34 u\$\(xlarge-to-max\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(xlarge-to-max\), .\33 u\$\(xlarge-to-max\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(xlarge-to-max\), .\32 u\$\(xlarge-to-max\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(xlarge-to-max\), .\31 u\$\(xlarge-to-max\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(xlarge-to-max\)+ *,
		.\31 1u\$\(xlarge-to-max\)+ *,
		.\31 0u\$\(xlarge-to-max\)+ *,
		.\39 u\$\(xlarge-to-max\)+ *,
		.\38 u\$\(xlarge-to-max\)+ *,
		.\37 u\$\(xlarge-to-max\)+ *,
		.\36 u\$\(xlarge-to-max\)+ *,
		.\35 u\$\(xlarge-to-max\)+ *,
		.\34 u\$\(xlarge-to-max\)+ *,
		.\33 u\$\(xlarge-to-max\)+ *,
		.\32 u\$\(xlarge-to-max\)+ *,
		.\31 u\$\(xlarge-to-max\)+ * {
	clear: left;
}
}

@media screen and (min-width: 481px) and (max-width: 1680px) {
.row > * {
	padding: 0 0 0 1.5em;
}

.row {
	margin: 0 0 -1px -1.5em;
}

.row.uniform > * {
	padding: 1.5em 0 0 1.5em;
}

.row.uniform {
	margin: -1.5em 0 -1px -1.5em;
}

.row.\32 00\%> * {
	padding: 0 0 0 3em;
}

.row.\32 00\% {
	margin: 0 0 -1px -3em;
}

.row.uniform.\32 00\%> * {
	padding: 3em 0 0 3em;
}

.row.uniform.\32 00\% {
	margin: -3em 0 -1px -3em;
}

.row.\31 50\%> * {
	padding: 0 0 0 2.25em;
}

.row.\31 50\% {
	margin: 0 0 -1px -2.25em;
}

.row.uniform.\31 50\%> * {
	padding: 2.25em 0 0 2.25em;
}

.row.uniform.\31 50\% {
	margin: -2.25em 0 -1px -2.25em;
}

.row.\35 0\%> * {
	padding: 0 0 0 0.75em;
}

.row.\35 0\% {
	margin: 0 0 -1px -0.75em;
}

.row.uniform.\35 0\%> * {
	padding: 0.75em 0 0 0.75em;
}

.row.uniform.\35 0\% {
	margin: -0.75em 0 -1px -0.75em;
}

.row.\32 5\%> * {
	padding: 0 0 0 0.375em;
}

.row.\32 5\% {
	margin: 0 0 -1px -0.375em;
}

.row.uniform.\32 5\%> * {
	padding: 0.375em 0 0 0.375em;
}

.row.uniform.\32 5\% {
	margin: -0.375em 0 -1px -0.375em;
}

.\31 2u\(small-to-xlarge\), .\31 2u\$\(small-to-xlarge\) {
	width: 100%;
			clear: none;
			margin-left: 0;
}

.\31 1u\(small-to-xlarge\), .\31 1u\$\(small-to-xlarge\) {
	width: 91.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 0u\(small-to-xlarge\), .\31 0u\$\(small-to-xlarge\) {
	width: 83.3333333333%;
			clear: none;
			margin-left: 0;
}

.\39 u\(small-to-xlarge\), .\39 u\$\(small-to-xlarge\) {
	width: 75%;
			clear: none;
			margin-left: 0;
}

.\38 u\(small-to-xlarge\), .\38 u\$\(small-to-xlarge\) {
	width: 66.6666666667%;
			clear: none;
			margin-left: 0;
}

.\37 u\(small-to-xlarge\), .\37 u\$\(small-to-xlarge\) {
	width: 58.3333333333%;
			clear: none;
			margin-left: 0;
}

.\36 u\(small-to-xlarge\), .\36 u\$\(small-to-xlarge\) {
	width: 50%;
			clear: none;
			margin-left: 0;
}

.\35 u\(small-to-xlarge\), .\35 u\$\(small-to-xlarge\) {
	width: 41.6666666667%;
			clear: none;
			margin-left: 0;
}

.\34 u\(small-to-xlarge\), .\34 u\$\(small-to-xlarge\) {
	width: 33.3333333333%;
			clear: none;
			margin-left: 0;
}

.\33 u\(small-to-xlarge\), .\33 u\$\(small-to-xlarge\) {
	width: 25%;
			clear: none;
			margin-left: 0;
}

.\32 u\(small-to-xlarge\), .\32 u\$\(small-to-xlarge\) {
	width: 16.6666666667%;
			clear: none;
			margin-left: 0;
}

.\31 u\(small-to-xlarge\), .\31 u\$\(small-to-xlarge\) {
	width: 8.3333333333%;
			clear: none;
			margin-left: 0;
}

.\31 2u\$\(small-to-xlarge\)+ *,
		.\31 1u\$\(small-to-xlarge\)+ *,
		.\31 0u\$\(small-to-xlarge\)+ *,
		.\39 u\$\(small-to-xlarge\)+ *,
		.\38 u\$\(small-to-xlarge\)+ *,
		.\37 u\$\(small-to-xlarge\)+ *,
		.\36 u\$\(small-to-xlarge\)+ *,
		.\35 u\$\(small-to-xlarge\)+ *,
		.\34 u\$\(small-to-xlarge\)+ *,
		.\33 u\$\(small-to-xlarge\)+ *,
		.\32 u\$\(small-to-xlarge\)+ *,
		.\31 u\$\(small-to-xlarge\)+ * {
	clear: left;
}
}

body {
	-ms-overflow-style: scrollbar;
}

@media screen and (max-width: 480px) {
html, body {
	min-width: 320px;
}
}

body {
	background: #ffffff;
}

body.is-loading *, body.is-loading *:before, body.is-loading *:after, body.is-resizing *, body.is-resizing *:before, body.is-resizing *:after {
	-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
}

body, input, select, textarea {
	color: #7f888f;
		font-family: "Open Sans", sans-serif;
		font-size: 14pt;
		font-weight: 400;
		line-height: 1.65;
}

@media screen and (max-width: 1680px) {
body, input, select, textarea {
	font-size: 12.5pt;
}
}

@media screen and (max-width: 1280px) {
body, input, select, textarea {
	font-size: 12pt;
}
}

@media screen and (max-width: 360px) {
body, input, select, textarea {
	font-size: 11pt;
}
}

a {
	-moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		border-bottom: dotted 1px;
		
		color: #1273CE; 
		text-decoration: none;
}

a:hover {
	border-bottom-color: #1273CE;
			color: #1273CE !important;
}

a:hover strong {
	color: inherit;
}

strong, b {
	color: #020A13; 
		font-weight: 600;
}

em, i {
	font-style: italic;
}

p {
	margin: 0 0 2em 0;
}

h1, h2, h3, h4, h5, h6 {
	color: #020A13;
		font-family: "Roboto Slab", serif;
		font-weight: 700;
		line-height: 1.5;
		margin: 0 0 1em 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: inherit;
			text-decoration: none;
}

h1 {
	font-size: 4em;
		margin: 0 0 0.5em 0;
		line-height: 1.3;
}

h2 {
	font-size: 1.75em;
}

h3 {
	font-size: 1.25em;
}

h4 {
	font-size: 1.1em;
}

@media screen and (max-width: 1680px) {
h1 {
	font-size: 3.5em;
}
}

@media screen and (max-width: 980px) {
h1 {
	font-size: 3.25em;
}
}

@media screen and (max-width: 736px) {
h1 {
	font-size: 2em;
			line-height: 1.4;
}

h2 {
	font-size: 1.5em;
}
}

sup {
	font-size: 0.8em;
		position: relative;
		top: -0.5em;
}

code {
	background: rgba(230, 235, 237, 0.25);
		border-radius: 0.375em;
		border: solid 1px rgba(210, 215, 217, 0.75);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
}

pre {
	-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
}

pre code {
	display: block;
			line-height: 1.75;
			padding: 1em 1.5em;
			overflow-x: auto;
}

section.special, article.special {
	text-align: center;
}

header p {
	font-family: "Roboto Slab", serif;
		font-size: 1em;
		font-weight: 400;
		letter-spacing: 0.075em;
		margin-top: -0.5em;
		text-transform: uppercase;
}

::-webkit-input-placeholder {
	color: #9fa3a6 !important;
		opacity: 1.0;
}

:-moz-placeholder {
	color: #9fa3a6 !important;
		opacity: 1.0;
}

::-moz-placeholder {
	color: #9fa3a6 !important;
		opacity: 1.0;
}

:-ms-input-placeholder {
	color: #9fa3a6 !important;
		opacity: 1.0;
}

.box.alt {
	border: 0;
			border-radius: 0;
			padding: 0;
}

.icon > .label {
	display: none;
}

ol {
	list-style: decimal;
		margin: 0 0 2em 0;
		padding-left: 1.25em;
}

ol li {
	padding-left: 0.25em;
}

ul {
	list-style: disc;
		margin: 0 0 2em 0;
		padding-left: 1em;
}

ul li {
	padding-left: 0.5em;
}

ul.alt {
	list-style: none;
			padding-left: 0;
}

ul.alt li {
	border-top: solid 1px rgba(210, 215, 217, 0.75);
				padding: 0.5em 0;
}

ul.alt li:first-child {
	border-top: 0;
					padding-top: 0;
}

ul.actions {
	cursor: default;
			list-style: none;
			padding-left: 0;
}

ul.actions li {
	display: inline-block;
				padding: 0 1em 0 0;
				vertical-align: middle;
}

ul.actions li:last-child {
	padding-right: 0;
}

ul.actions.small li {
	padding: 0 0.5em 0 0;
}

ul.actions.vertical li {
	display: block;
				padding: 1em 0 0 0;
}

ul.actions.vertical li:first-child {
	padding-top: 0;
}

ul.actions.vertical li > * {
	margin-bottom: 0;
}

ul.actions.vertical.small li {
	padding: 0.5em 0 0 0;
}

ul.actions.vertical.small li:first-child {
	padding-top: 0;
}

ul.actions.fit {
	display: table;
				margin-left: -1em;
				padding: 0;
				table-layout: fixed;
				width: calc(100% + 1em);
}

ul.actions.fit li {
	display: table-cell;
					padding: 0 0 0 1em;
}

ul.actions.fit li > * {
	margin-bottom: 0;
}

ul.actions.fit.small {
	margin-left: -0.5em;
					width: calc(100% + 0.5em);
}

ul.actions.fit.small li {
	padding: 0 0 0 0.5em;
}

dl {
	margin: 0 0 2em 0;
}

dl dt {
	display: block;
			font-weight: 600;
			margin: 0 0 1em 0;
}

dl dd {
	margin-left: 2em;
}

.table-wrapper {
	-webkit-overflow-scrolling: touch;
		overflow-x: auto;
}

table {
	margin: 0 0 2em 0;
		width: 100%;
}

table tbody tr {
	border: solid 1px rgba(210, 215, 217, 0.75);
			border-left: 0;
			border-right: 0;
}

table tbody tr:nth-child(2n + 1) {
	background-color: rgba(230, 235, 237, 0.25);
}

table td {
	padding: 0.75em 0.75em;
}

table th {
	color: #020A13;
			font-size: 0.9em;
			font-weight: 600;
			padding: 0 0.75em 0.75em 0.75em;
			text-align: left;
}

table thead {
	border-bottom: solid 2px rgba(210, 215, 217, 0.75);
}

table tfoot {
	border-top: solid 2px rgba(210, 215, 217, 0.75);
}

table.alt {
	border-collapse: separate;
}

table.alt tbody tr td {
	border: solid 1px rgba(210, 215, 217, 0.75);
				border-left-width: 0;
				border-top-width: 0;
}

table.alt tbody tr td:first-child {
	border-left-width: 1px;
}

table.alt tbody tr:first-child td {
	border-top-width: 1px;
}

table.alt thead {
	border-bottom: 0;
}

table.alt tfoot {
	border-top: 0;
}

input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
	-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		background-color: transparent;
		border-radius: 0.375em;
		border: 0;
		box-shadow: inset 0 0 0 2px #1273CE;
		color: #1273CE !important;
		cursor: pointer;
		display: inline-block;
		font-family: "Roboto Slab", serif;
		font-size: 0.8em;
		font-weight: 700;
		height: 3.5em;
		letter-spacing: 0.075em;
		line-height: 3.5em;
		padding: 0 2.25em;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
}

input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
	background-color: rgba(49, 21, 85, 0.05);
}

input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		button:active,
		.button:active {
	background-color: rgba(49, 21, 85, 0.15);
}

input[type="submit"].icon:before,
		input[type="reset"].icon:before,
		input[type="button"].icon:before,
		button.icon:before,
		.button.icon:before {
	margin-right: 0.5em;
}

input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		button.fit,
		.button.fit {
	display: block;
			margin: 0 0 1em 0;
			width: 100%;
}

input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
	font-size: 0.6em;
}

input[type="submit"].big,
		input[type="reset"].big,
		input[type="button"].big,
		button.big,
		.button.big {
	font-size: 1em;
			height: 3.65em;
			line-height: 3.65em;
}

input[type="submit"].special,
		input[type="reset"].special,
		input[type="button"].special,
		button.special,
		.button.special {
	background-color: #1273CE;
			box-shadow: none;
			color: #ffffff !important;
}

input[type="submit"].special:hover,
			input[type="reset"].special:hover,
			input[type="button"].special:hover,
			button.special:hover,
			.button.special:hover {
	background-color: #f67878;
}

input[type="submit"].special:active,
			input[type="reset"].special:active,
			input[type="button"].special:active,
			button.special:active,
			.button.special:active {
	background-color: #f45c5c;
}

input[type="submit"].disabled, input[type="submit"]:disabled,
		input[type="reset"].disabled,
		input[type="reset"]:disabled,
		input[type="button"].disabled,
		input[type="button"]:disabled,
		button.disabled,
		button:disabled,
		.button.disabled,
		.button:disabled {
	-moz-pointer-events: none;
			-webkit-pointer-events: none;
			-ms-pointer-events: none;
			pointer-events: none;
			opacity: 0.25;
}

#wrapper {
	display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: row-reverse;
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		min-height: 100vh;
}

#main {
	-moz-flex-grow: 1;
		-webkit-flex-grow: 1;
		-ms-flex-grow: 1;
		flex-grow: 1;
		-moz-flex-shrink: 1;
		-webkit-flex-shrink: 1;
		-ms-flex-shrink: 1;
		flex-shrink: 1;
		width: 100%;
		/** Pied de page colle en bas meme sur les pages peu remplies
		    (#main est deja etire sur toute la hauteur via align-items:stretch
		    herite de #wrapper ; .inner grandit pour combler l'espace,
		    #footer garde sa taille naturelle et reste tout en bas). */
		display: flex;
		flex-direction: column;
}

#main > .inner {
	padding: 0 6em 0.1em 6em ;
			margin: 0 auto;
			max-width: 110em;
			flex: 1 0 auto;
			width: 100%;
			box-sizing: border-box;
}

#main > .inner > section {
	padding: 6em 0 4em 0 ;
				border-top: solid 2px rgba(210, 215, 217, 0.75);
}

#main > .inner > section:first-of-type {
	border-top: 0 !important;
}

@media screen and (max-width: 1680px) {
#main > .inner {
	padding: 0 5em 0.1em 5em ;
}

#main > .inner > section {
	padding: 5em 0 3em 0 ;
}
}

@media screen and (max-width: 1280px) {
#main > .inner {
	padding: 0 4em 0.1em 4em ;
}

#main > .inner > section {
	padding: 4em 0 2em 0 ;
}
}

@media screen and (max-width: 736px) {
#main > .inner {
	padding: 0 2em 0.1em 2em ;
}

#main > .inner > section {
	padding: 3em 0 1em 0 ;
}
}

/**********************************************************
 PARTIE 2/4 — regles specifiques au site (mise en page,
 bandeau lateral, bandeau de titre, cartes, etc.)
**********************************************************/

@charset "utf-8";
/**
 * Author       : Étienne André
 * Last modified: 2026/07
 */

#footer a{
	border-bottom: none; /* pour annuler les pointillés du style */
}

.imitator{
	font-family: sans-serif;
}

.missing-translation{
	color: red;
	font-weight: bold;
	background-color: #350000;
}

/**********************************************************
 CITATIONS (aperçus « dernière publication » / « dernier
 exposé » sur la page d'accueil, cf. includes/render.php
 make_publication() / string_of_talk()).
 NB : l'ancien conteneur ".publications" a disparu avec la
 refonte ; ces classes s'appliquent maintenant directement.
**********************************************************/

/* TITRES */
.titre {
	color: #1273CE; /* LS2N Azul */
	font-weight: normal;
}

.titre a {
	color: #1273CE;
}

/* CONFERENCES */
.conference{
	color: #020A13;
}

.conference a{
	color: #020A13;
}

.conference a:hover{
	color: #1273CE; /* LS2N Azul, comme le reste des liens du site */
}

/* JOURNAUX */
.journal{
	color: #020A13;
	font-weight: bold;
}

.journal a{
	color: #020A13;
}

/* INDICATION DE LANGUE */
.langue{
	color     : #6a6a6a;
	font-size : smaller;
}

.DOI {
	color     : #6a6a6a;
	font-size : smaller;
}

.DOI a{
	color           : #6a6a6a;
}

.DOI a:hover{
	color           : #1273CE; /* LS2N Azul */
}


a img{
	border-bottom   : none;
	text-decoration : none;
}



/**********************************************************
 TABLES
**********************************************************/
.tableau{
	border           : 2px;
	border-color     : white;
	margin-top       : 20px;
	margin-bottom    : 20px;
	background-color : white;
	font-size        : smaller;
}
.tableau th {
	background-color : #020A13;
	padding          : 5px;
	text-align       : center;
	color            : white;
}
.tableau td {
	background-color : #F8FBFF; /* LS2N Anti-flash white */
	padding          : 3px;
	color            : #020A13;
}


/**********************************************************
 REDESIGN (2026/09) — mise en page inspiree du projet
 "Claude Design" : bandeau lateral sombre + bandeau de titre
 en haut de chaque page + pied de page en liens rapides.
 Palette : cf. commentaires LS2N ci-dessus (rich black / azul
 / cornflower / anti-flash white).
**********************************************************/

body, input, select, textarea {
	font-family: "IBM Plex Sans", "Open Sans", sans-serif;
	color: #0a0a0a;
}

h1, h2, h3, h4, h5, h6,
.page-topbar-title, .sidebar-name,
.dl-row-label, .content-block-title, .content-block-label {
	font-family: "Space Grotesk", "Roboto Slab", serif;
}

/* ----- Liens : meme couleur que le texte, souligne fin et decale,
   passage a l'Azul au survol (inspire de Claude Design) ----- */

a {
	color: #0a0a0a;
	border-bottom: none;
	text-decoration: underline;
	text-decoration-color: #c7c7c7;
	text-underline-offset: 3px;
}

	a:hover {
		text-decoration-color: #1273CE; /** LS2N Azul */
	}

/* ----- Contenu principal : lignes "label / texte" (Bio, Research, …) ----- */

.dl-row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 16px 24px;
	padding: 22px 0;
	border-top: 1px solid #e4e4e4;
}

	.dl-row p {
		margin: 0;
	}

	.dl-row-label {
		font-weight: 700;
		font-size: 0.95em;
		color: #1273CE; /** LS2N Azul */
	}

.tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

	.tag {
		display: inline-block;
		border: 1px solid #1273CE; /** LS2N Azul */
		color: #1273CE;
		padding: 4px 10px;
		font-size: 0.85em;
	}

		.tag::first-letter {
			text-transform: uppercase;
		}

/* ----- Contenu principal : blocs a deux colonnes (Latest works, …) ----- */

.content-block {
	padding: 28px 0 8px;
	border-top: 1px solid #e4e4e4;
}

	.content-block-title {
		font-size: 1.15em;
		margin: 0 0 16px 0;
	}

	.content-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.content-block-label {
		font-size: 0.87em;
		font-weight: 700;
		color: #1273CE; /** LS2N Azul */
		text-transform: uppercase;
		letter-spacing: 0.03em;
		margin: 0 0 6px 0;
	}

.inner > .dl-row:first-child,
.inner > .content-block:first-child {
	border-top: 0;
}

@media screen and (max-width: 560px) {

	.dl-row {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.content-columns {
		grid-template-columns: 1fr;
	}

}

/* ----- Sidebar (bandeau lateral sombre) ----- */

#site-sidebar {
	flex-grow: 0;
	flex-shrink: 0;
	width: 19em;
	background-color: #020A13; /** LS2N rich black */
	color: #F8FBFF; /** LS2N Anti-flash white */
}

	#site-sidebar a {
		color: #F8FBFF;
		border-bottom: none;
		text-decoration: none;
	}

	#site-sidebar > .inner {
		display: flex;
		flex-direction: column;
		gap: 1.6em;
		box-sizing: border-box;
		height: 100vh;
		position: sticky;
		top: 0;
		overflow-y: auto;
		padding: 2.4em 1.8em;
	}

.sidebar-brand .sidebar-name {
	font-size: 1.35em;
	font-weight: 700;
}

.sidebar-brand .sidebar-affiliation {
	font-size: 0.8em;
	color: #5297FF; /** LS2N Cornflower blue */
	margin-top: 0.3em;
}

.site-nav {
	display: flex;
	flex-direction: column;
}

	.site-nav-link {
		display: block;
		padding: 0.45em 0.6em;
		margin: 0 -0.6em;
		font-size: 0.95em;
		border-bottom: 1px solid transparent;
		text-decoration: none;
	}

	.site-nav-link:hover {
		border-bottom-color: #5297FF;
		color: #5297FF;
	}

	.site-nav-link.is-active {
		background-color: #1273CE; /** LS2N Azul */
		color: #F8FBFF;
	}

.sidebar-logos {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.9em;
	margin-top: 0.6em;
}

	.sidebar-logos a {
		flex: 0 1 auto;
		min-width: 0;
		max-width: 28%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sidebar-logos img {
		display: block;
		max-width: 100%;
		max-height: 2.2em;
		width: auto;
		height: auto;
		object-fit: contain;
	}

.sidebar-social {
	font-size: 0.72em;
	opacity: 0.6;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7em;
	margin-top: auto; /** pousse tout le groupe social/adresse/langue/logos en bas du menu */
	padding-top: 0.5em;
	border-top: 1px solid rgba(248, 251, 255, 0.15);
}

	.sidebar-social a {
		border-bottom: none;
		text-decoration: none;
	}

.sidebar-address {
	font-size: 0.78em;
	opacity: 0.75;
	line-height: 1.6;
}

.sidebar-lang {
	font-size: 0.78em;
	display: flex;
	gap: 0.6em;
}

	.sidebar-lang a,
	.sidebar-lang span {
		border-bottom: none;
		text-decoration: none;
	}

	.sidebar-lang .lang-current {
		font-weight: 700;
		color: #F8FBFF;
		border-bottom: 1px solid #5297FF !important; /** LS2N Cornflower blue : langue actuellement affichee */
		padding-bottom: 0.1em;
	}

	.sidebar-lang .lang-other {
		color: #F8FBFF;
		opacity: 0.55;
	}

	.sidebar-lang .lang-other:hover {
		opacity: 1;
	}

/* ----- Bouton hamburger (mobile uniquement) ----- */

.nav-toggle {
	display: none;
	position: fixed;
	top: 0.8em;
	left: 0.8em;
	z-index: 1001;
	width: 2.6em;
	height: 2.6em;
	border: none;
	border-radius: 4px;
	background-color: #020A13; /** LS2N rich black */
	color: #F8FBFF;
	font-size: 1.1em;
	line-height: 1;
	cursor: pointer;
}

#nav-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background-color: rgba(2, 10, 19, 0.55);
	z-index: 998;
	opacity: 0;
	transition: opacity 0.2s ease;
}

	#nav-backdrop.is-open {
		display: block;
		opacity: 1;
	}

@media screen and (max-width: 800px) {

	#wrapper {
		flex-direction: column;
	}

	.nav-toggle {
		display: block;
	}

	#site-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: 84%;
		max-width: 320px;
		height: 100vh;
		z-index: 999;
		transform: translateX(-100%);
		transition: transform 0.25s ease;
	}

		#site-sidebar.is-open {
			transform: translateX(0);
		}

		#site-sidebar > .inner {
			height: 100vh;
			position: static;
			padding-top: 4.4em; /** degage le bouton hamburger, qui reste visible par-dessus le menu ouvert */
		}

}

/* ----- Page topbar (bandeau noir de titre, en tete de page) ----- */

.page-topbar {
	display: flex;
	align-items: center;
	gap: 1.5em;
	padding: 1.6em clamp(1.5em, 5vw, 4em);
	background-color: #020A13; /** LS2N rich black */
}

	/** Reserve la place du bouton hamburger (fixe, en haut a gauche, visible
	    que le menu soit ouvert ou ferme) pour qu'il ne recouvre plus la
	    photo ni le titre. Placee juste apres la regle de base pour que le
	    "padding" raccourci de celle-ci ne l'ecrase pas (le shorthand
	    "padding" remet a zero "padding-top" si sa regle vient apres). */
	@media screen and (max-width: 800px) {

		.page-topbar {
			padding-top: 4.2em;
		}

	}

	.breadcrumb {
		margin: 0 0 0.5em 0;
	}

		.breadcrumb ol {
			display: flex;
			flex-wrap: wrap;
			gap: 0.4em;
			list-style: none;
			margin: 0;
			padding: 0;
			font-size: 0.75em;
		}

		.breadcrumb li {
			display: inline;
		}

		.breadcrumb a {
			color: #5297FF; /** LS2N Cornflower blue */
			text-decoration: none;
		}

		.breadcrumb a:hover {
			text-decoration: underline;
			text-decoration-color: #5297FF;
		}

		.breadcrumb span[aria-current] {
			color: #F8FBFF; /** LS2N Anti-flash white */
			opacity: 0.75;
		}

		.breadcrumb-sep {
			color: #5297FF;
			opacity: 0.6;
		}

	.page-topbar-photo {
		flex: none;
		display: block;
		width: 5.5em;
		height: 5.5em;
		border-radius: 50%;
		overflow: hidden;
		border: 3px solid #5297FF; /** LS2N Cornflower blue */
	}

		.page-topbar-photo img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
		}

	.page-topbar-title {
		margin: 0;
		font-size: 1.7em;
		font-weight: 700;
		color: #F8FBFF; /** LS2N Anti-flash white */
	}

	.page-topbar-subtitle {
		margin: 0.35em 0 0 0;
		font-size: 0.9em;
		color: #5297FF; /** LS2N Cornflower blue */
	}

@media screen and (max-width: 480px) {

	.page-topbar {
		flex-wrap: wrap;
	}

}

/* ----- Footer (bandeau gris de liens rapides + copyright) ----- */

#footer {
	background-color: #f2f2f2;
	padding: 1.2em clamp(1.5em, 5vw, 4em);
}

	.footer-links {
		display: flex;
		gap: 1.4em;
		flex-wrap: wrap;
		font-size: 0.82em;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

		.footer-links a {
			color: #6a6a6a;
			border-bottom: none;
			text-decoration: none;
		}

	#footer .copyright {
		margin-top: 0.8em;
		font-size: 0.68em;
		color: #9a9a9a;
	}

/* ----- Etudiants (page Students) : cartes photo + badges, tableau ----- */

.people-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

	.people-card {
		display: flex;
		gap: 14px;
		border: 1px solid #e4e4e4;
		padding: 16px;
	}

	.people-photo {
		width: 56px;
		height: 56px;
		border-radius: 50%;
		flex: none;
		overflow: hidden;
		background-color: #F8FBFF; /** LS2N Anti-flash white */
		border: 2px solid #5297FF; /** LS2N Cornflower blue */
	}

		.people-photo img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

	.people-name {
		font-weight: 700;
		font-size: 0.95em;
	}

	.people-dates {
		font-size: 0.78em;
		color: #6a6a6a;
		margin-top: 1px;
	}

	.people-subject {
		font-size: 0.9em;
		line-height: 1.45;
		margin-top: 8px;
	}

	.people-meta {
		font-size: 0.82em;
		color: #6a6a6a;
		margin-top: 6px;
		line-height: 1.5;
	}

	.badge {
		display: inline-block;
		font-size: 0.75em;
		padding: 2px 8px;
		margin-top: 8px;
		letter-spacing: 0.02em;
	}

	.badge-progress {
		border: 1px solid #5297FF; /** LS2N Cornflower blue */
		color: #1273CE; /** LS2N Azul */
	}

	.badge-award {
		background-color: #1273CE; /** LS2N Azul */
		color: #F8FBFF;
	}

.people-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92em;
}

	.people-table thead th {
		background-color: #020A13; /** LS2N rich black */
		color: #F8FBFF;
		text-align: left;
		padding: 8px 10px;
		font-size: 0.78em;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		font-weight: 500;
	}

	.people-table tbody td {
		padding: 7px 10px;
		border-bottom: 1px solid #e4e4e4;
	}

	.people-table tbody tr:nth-child(even) {
		background-color: #F8FBFF;
	}

@media screen and (max-width: 640px) {

	.people-grid {
		grid-template-columns: 1fr;
	}

}

/* ----- Parcours academique : boites avec logo large en tete ----- */

.formation-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

	.formation-card {
		border: 1px solid #e4e4e4;
		padding: 18px;
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.formation-logo {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 4.4em;
	}

		.formation-logo img {
			max-width: 100%;
			max-height: 100%;
			object-fit: contain;
		}

	.formation-title {
		font-weight: 700;
		font-size: 0.95em;
		text-align: center;
	}

	.formation-text {
		font-size: 0.9em;
		line-height: 1.5;
	}

	.formation-extra {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
	}

		.formation-extra img {
			max-width: 140px;
			height: auto;
		}

@media screen and (max-width: 640px) {

	.formation-grid {
		grid-template-columns: 1fr;
	}

}

/* ----- Logiciels (page Software) : bloc IMITATOR compact + cartes ----- */

.imitator-head {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	flex-wrap: wrap;
}

	.imitator-head > div:first-child {
		flex: 1 1 320px;
	}

	.imitator-head img {
		width: 260px;
		max-width: 100%;
		border: 1px solid #e4e4e4;
	}

.imitator-desc p {
	margin: 0 0 0.6em 0;
}

.software-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

	.software-card {
		border: 1px solid #e4e4e4;
		padding: 16px;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.software-name {
		font-weight: 700;
		font-size: 0.95em;
	}

	.software-role {
		font-size: 0.78em;
		color: #6a6a6a;
	}

	.software-desc {
		font-size: 0.88em;
		line-height: 1.5;
	}

@media screen and (max-width: 640px) {

	.software-grid {
		grid-template-columns: 1fr;
	}

}

/* ----- Contact : cartes d'infos + petite carte OpenStreetMap ----- */

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px;
	align-items: start;
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

	.contact-item {
		border: 1px solid #e4e4e4;
		padding: 14px 16px;
	}

		.contact-item h3 {
			margin: 0 0 6px 0;
			font-size: 0.8em;
			font-weight: 700;
			color: #1273CE; /** LS2N Azul */
			text-transform: uppercase;
			letter-spacing: 0.03em;
		}

		.contact-item h4 {
			margin: 0.8em 0 0.3em 0;
			font-size: 0.78em;
			font-weight: 700;
			color: #6a6a6a;
			text-transform: uppercase;
			letter-spacing: 0.03em;
		}

		.contact-item p {
			margin: 0;
			font-size: 0.9em;
			line-height: 1.5;
		}

		.contact-item pre {
			margin: 0;
			overflow-x: auto;
		}

.contact-map {
	border: 1px solid #e4e4e4;
	overflow: hidden;
}

	.contact-map iframe {
		display: block;
		width: 100%;
		height: 260px;
		border: 0;
	}

	.contact-map figcaption {
		padding: 8px 12px;
		font-size: 0.78em;
		color: #6a6a6a;
	}

@media screen and (max-width: 800px) {

	.contact-layout {
		grid-template-columns: 1fr;
	}

}

@media screen and (max-width: 640px) {

	.contact-grid {
		grid-template-columns: 1fr;
	}

}

/* ----- Page Enseignement : sous-titres de sous-section dans un flux
   de texte (variante de .content-block-label avec marge superieure) ----- */

.section-label {
	font-size: 0.87em;
	font-weight: 700;
	color: #1273CE; /** LS2N Azul */
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 1.8em 0 0.5em 0;
}

/* ----- Correction du hover/active de .button.special (theme d'origine :
   rose #f67878, incoherent avec la palette du site) ----- */

.button.special:hover {
	background-color: #5297FF; /** LS2N Cornflower blue */
}

.button.special:active {
	background-color: #020A13; /** LS2N rich black */
}

/* ----- Page Recherche : listes en ligne, tableau comites de programme,
   liste de theses sur 2 colonnes, bouton de bascule ----- */

.inline-list {
	line-height: 1.9;
}

.pc-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88em;
}

	.pc-table td {
		padding: 8px 10px;
		border-bottom: 1px solid #e4e4e4;
		vertical-align: top;
	}

	.pc-table td:first-child {
		width: 4.5em;
		white-space: nowrap;
		color: #1273CE; /** LS2N Azul */
		font-weight: 700;
	}

	.pc-table td:last-child {
		line-height: 1.8;
	}

.thesis-list {
	list-style: none;
	margin: 0;
	padding: 0;
	column-count: 2;
	column-gap: 28px;
	font-size: 0.88em;
}

	.thesis-list li {
		break-inside: avoid;
		padding: 6px 0;
		border-bottom: 1px solid #e4e4e4;
	}

.link-button {
	display: inline-block;
	background: none;
	border: none;
	padding: 0;
	margin-top: 0.6em;
	font: inherit;
	font-size: 0.85em;
	cursor: pointer;
	color: #0a0a0a;
	text-decoration: underline;
	text-decoration-color: #c7c7c7;
	text-underline-offset: 3px;
}

	.link-button:hover {
		color: #1273CE; /** LS2N Azul */
		text-decoration-color: #1273CE;
	}

.project-row-old {
	display: none;
}

	#participant-projects-table.show-old .project-row-old {
		display: table-row;
	}

@media screen and (max-width: 640px) {

	.thesis-list {
		column-count: 1;
	}

}


/**********************************************************
 PARTIE 3/4 — page Publications
**********************************************************/

@charset "utf-8";
/**
 * Page Publications (liste chronologique, details depliables, filtre par type)
 * Auteur : Étienne André
 */

.publication-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;

	margin: 0 0 28px;
	padding-bottom: 10px;

	border-bottom: 1px solid #dedede;
}

.publication-filters a {
	position: relative;

	color: #686868;
	font-size: 0.85em;
	font-weight: 600;
	text-decoration: none;
}

.publication-filters a:hover,
.publication-filters a:focus-visible {
	color: #020A13;
}

.publication-filters a.is-active {
	color: #020A13;
}

.publication-filters a.is-active::after {
	content: "";

	position: absolute;
	left: 0;
	right: 0;
	bottom: -11px;

	height: 2px;

	background: currentColor;
}


.publication-year {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 24px;

	margin-bottom: 26px;
}

.publication-year > h2 {
	margin: 0;

	color: #020A13;
	font-size: 1.3em;
	font-weight: 400;
}

.publication-items {
	border-top: 1px solid #dedede;
}

.publication-year.is-empty {
	display: none;
}


.publication {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;

	padding: 12px 0 14px;

	border-bottom: 1px solid #dedede;
}

.publication.is-hidden {
	display: none;
}

.publication-main {
	flex: 1 1 480px;
	min-width: 0;
}

.publication h3 {
	margin: 0;

	font-size: 1.05em;
	font-weight: 600;
	line-height: 1.3;
}

.publication .authors {
	margin: 4px 0 0;

	color: #555;
	font-size: 0.85em;
	line-height: 1.4;
}

.publication-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;

	margin: 6px 0 0;

	color: #808080;
	font-size: 0.8em;
	line-height: 1.4;
}

.publication-info > * + *::before {
	content: "·";
	margin-right: 5px;
	color: #ccc;
}

.pub-award {
	color: #9a6a12;
}


/* Bouton "Details" + panneau depliable */

.publication-details-toggle {
	display: inline-flex;
	align-items: center;
	gap: 5px;

	margin: 7px 0 0;
	padding: 0;

	/* Neutralise le style "bouton" impose site-wide par le theme
	   (box-shadow inset, color en !important, hauteur/majuscules fixes) */
	appearance: none;
	height: auto;
	line-height: inherit;
	border-radius: 0;
	box-shadow: none;
	letter-spacing: normal;
	text-transform: none;
	transition: none;

	border: 0;
	background-color: transparent;

	color: #999 !important;
	font: inherit;
	font-size: 0.78em;
	font-weight: 600;
	cursor: pointer;
}

.publication-details-toggle:hover,
.publication-details-toggle:focus-visible {
	background-color: transparent;
	color: #020A13 !important;
}

.publication-details-toggle:active {
	background-color: transparent;
}

.publication-details-toggle .chevron {
	display: inline-block;
	width: 6px;
	height: 6px;

	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
}

.publication-details-toggle[aria-expanded="true"] .chevron {
	transform: rotate(-135deg);
	margin-top: 3px;
}

.publication-details-panel {
	margin: 8px 0 0;
	padding: 8px 10px;

	background: #F8FBFF;
	border-radius: 3px;
}

.publication-details-panel[hidden] {
	display: none;
}

.detail-row {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;

	font-size: 0.78em;
	line-height: 1.5;
}

.detail-row + .detail-row {
	margin-top: 2px;
}

.detail-row dt {
	flex: 0 0 auto;
	min-width: 130px;

	color: #999;
	font-weight: 600;
}

.detail-row dd {
	margin: 0;
	color: #555;
}


/* Actions (PDF / DOI / BibTeX...) */

.publication-actions {
	display: flex;
	flex: 0 0 auto;
	align-items: flex-start;
	gap: 10px;

	padding-top: 2px;
}

.publication-actions a {
	color: #020A13;
	font-size: 0.8em;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.publication-actions a:hover,
.publication-actions a:focus-visible {
	text-decoration: underline;
}


@media (max-width: 736px) {

	.publication-filters {
		gap: 14px;
		margin-bottom: 20px;
	}

	.publication {
		display: block;
	}

	.publication-actions {
		margin-top: 8px;
	}
}


/**********************************************************
 PARTIE 4/4 — page Talks
**********************************************************/

@charset "utf-8";
/**
 * Page Talks (liste chronologique, filtre par type)
 * Auteur : Étienne André
 *
 * Palette unifiee avec le reste du site (cf. etienne.css) :
 * rich black #020A13, Azul #1273CE, gris texte attenue #6a6a6a,
 * separateurs #e4e4e4.
 */

.talk-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;

	margin: 0 0 28px;
	padding-bottom: 10px;

	border-bottom: 1px solid #e4e4e4;
}

.talk-filters a {
	position: relative;

	color: #6a6a6a;
	font-size: 0.85em;
	font-weight: 600;
	text-decoration: none;
	border-bottom: none;
}

.talk-filters a:hover,
.talk-filters a:focus-visible {
	color: #1273CE; /** LS2N Azul */
}

.talk-filters a.is-active {
	color: #1273CE; /** LS2N Azul */
}

.talk-filters a.is-active::after {
	content: "";

	position: absolute;
	left: 0;
	right: 0;
	bottom: -11px;

	height: 2px;

	background: currentColor;
}


.talk-year {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 24px;

	margin-bottom: 26px;
}

.talk-year > h2 {
	margin: 0;

	color: #020A13; /** LS2N rich black */
	font-size: 1.3em;
	font-weight: 700;
}

.talks {
	border-top: 1px solid #e4e4e4;
}

.talk-year.is-empty {
	display: none;
}


.talk {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 20px;
	column-gap: 16px;
	align-items: start;

	padding: 10px 0 12px;

	border-bottom: 1px solid #e4e4e4;
}

.talk.is-hidden {
	display: none;
}

.talk time {
	padding-top: 2px;

	color: #6a6a6a;
	font-size: 0.78em;
	white-space: nowrap;
}

.talk-main {
	min-width: 0;
}

.talk h3 {
	margin: 0;

	font-size: 0.98em;
	font-weight: 600;
	line-height: 1.3;
}

.talk h3 a {
	color: #0a0a0a;
	border-bottom: none;
	text-decoration: none;
}

.talk h3 a:hover,
.talk h3 a:focus-visible {
	color: #1273CE; /** LS2N Azul */
	text-decoration: underline;
	text-decoration-color: #1273CE;
}

.talk-main p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;

	margin: 3px 0 0;

	color: #6a6a6a;
	font-size: 0.78em;
	line-height: 1.4;
}

.talk-main p > * + *::before {
	content: "·";
	margin-right: 5px;
	color: #c7c7c7;
}

.talk-licence {
	color: #a0a0a0;
	font-size: 0.9em;
	border-bottom: none;
	text-decoration: none;
}

.talk-licence:hover,
.talk-licence:focus-visible {
	color: #1273CE; /** LS2N Azul */
	text-decoration: underline;
}

.talk-lang {
	color: #a0a0a0;
	font-size: 0.85em;
	font-weight: 600;
	letter-spacing: 0.03em;
}


/* Fleche vers le PDF */

.talk-link {
	padding-top: 1px;

	color: #6a6a6a;
	font-size: 0.95em;
	line-height: 1;
	border-bottom: none;
	text-decoration: none;
}

.talk-link:hover,
.talk-link:focus-visible {
	color: #1273CE; /** LS2N Azul */
}


.talks-see-also {
	margin-top: 2em;
	padding-top: 1.4em;
	border-top: 1px solid #e4e4e4;
}

	.talks-see-also ul {
		margin: 0;
	}


@media (max-width: 736px) {

	.talk-filters {
		gap: 14px;
		margin-bottom: 20px;
	}

	.talk-year {
		display: block;
	}

	.talk-year > h2 {
		margin-bottom: 10px;
	}

	.talk {
		grid-template-columns: 40px minmax(0, 1fr) 16px;
		column-gap: 10px;
	}
}


/**********************************************************
 Divers (ex-inline-styles-extracted.css)
**********************************************************/

/* Texte en plus petit : descriptions de projet, DOI/mots-cles
   de citations, liens de publication (PDF/BibTeX/data/slides) */
.text-smaller {
	font-size: smaller;
}

/* Titre de sujet de stage (templates/hiring.en.php, templates/hiring.fr.php) */
.subject-title {
	margin-top: 50px;
}

/* ----- Carte des lieux d'exposes (page Talks, Leaflet + OpenStreetMap) ----- */

.talks-map {
	margin: 0 0 8px 0;
	border: 1px solid #e4e4e4;
	overflow: hidden;
}

#talks-map-canvas {
	width: 100%;
	height: 380px;
}

.leaflet-popup-content {
	font-family: "IBM Plex Sans", sans-serif;
	font-size: 0.85em;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {

	#talks-map-canvas {
		height: 280px;
	}

}

/* ----- Page Publications : statistiques (histogramme par annee/type,
   chronologie des co-auteurs) ----- */

.pub-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6em;
	margin: 0 0 1.6em 0;
	font-size: 0.95em;
}

	.pub-stats strong {
		font-family: "Space Grotesk", sans-serif;
		font-size: 1.3em;
		color: #1273CE; /** LS2N Azul */
		margin-right: 0.35em;
	}

.pub-chart-bars {
	display: flex;
	align-items: flex-end;
	gap: 4px;
	overflow-x: auto;
	padding-bottom: 4px;
}

	.pub-chart-col {
		display: flex;
		flex-direction: column;
		align-items: center;
		flex: 1 1 0;
		min-width: 18px;
		text-decoration: none;
		border-bottom: none;
		color: inherit;
	}

	a.pub-chart-col {
		cursor: pointer;
		border-radius: 3px;
	}

	a.pub-chart-col:hover .pub-chart-stack,
	a.pub-chart-col:focus-visible .pub-chart-stack {
		opacity: 0.75;
	}

	a.pub-chart-col:hover .pub-chart-year,
	a.pub-chart-col:focus-visible .pub-chart-year {
		color: #1273CE; /** LS2N Azul */
	}

	.pub-chart-total {
		font-size: 0.68em;
		color: #6a6a6a;
		margin-bottom: 2px;
		height: 1.2em;
	}

	.pub-chart-stack {
		display: flex;
		flex-direction: column-reverse;
		width: 100%;
		max-width: 34px;
	}

		.pub-chart-seg {
			display: block;
			width: 100%;
		}

		.pub-chart-seg-journal    { background-color: #5297FF; } /** LS2N Cornflower blue */
		.pub-chart-seg-conference { background-color: #1273CE; } /** LS2N Azul */
		.pub-chart-seg-book       { background-color: #E8A33D; } /** accent chaud */

	.pub-chart-year {
		margin-top: 6px;
		font-size: 0.68em;
		color: #6a6a6a;
		writing-mode: vertical-rl;
		transform: rotate(180deg);
		height: 3em;
	}

	@media screen and (min-width: 640px) {

		.pub-chart-year {
			writing-mode: horizontal-tb;
			transform: none;
			height: auto;
		}

	}

.pub-chart-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2em;
	list-style: none;
	margin: 1em 0 0 0;
	padding: 0;
	font-size: 0.82em;
	color: #6a6a6a;
}

	.pub-chart-legend li {
		display: flex;
		align-items: center;
		gap: 0.5em;
	}

	.pub-chart-dot {
		display: inline-block;
		width: 0.8em;
		height: 0.8em;
	}

.coauthors-timeline {
	margin-top: 1.8em;
}

	.coauthors-timeline summary {
		cursor: pointer;
		font-size: 0.87em;
		font-weight: 700;
		color: #1273CE; /** LS2N Azul */
		text-transform: uppercase;
		letter-spacing: 0.03em;
	}

	.coauthors-timeline[open] summary {
		margin-bottom: 1em;
	}

	.coauthors-table th:not(:first-child),
	.coauthors-table td:not(:first-child) {
		text-align: center;
		white-space: nowrap;
	}

	.coauthors-bubbles {
		color: #1273CE; /** LS2N Azul */
		letter-spacing: 1px;
		font-size: 1em;
	}

	.coauthors-bubbles-small {
		font-size: 0.72em;
		letter-spacing: 0.5px;
	}

	.coauthors-bubbles-tiny {
		font-size: 0.5em;
		letter-spacing: 0px;
	}

	.coauthors-total {
		font-weight: 700;
		color: #020A13; /** LS2N rich black */
	}
