@charset "utf-8";
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{
  margin:0 10px;
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:1em;
  line-height:1.6;
  color:#363636;
  background:#f3ede2 url(../fond_fleur.jpg) center/cover fixed no-repeat;
}
img{max-width:100%;height:auto;border:0}
a{color:#0b5c8f}
a:hover,a:focus{color:#083f61}
.container{
  max-width:1170px;
  margin:80px auto 0;
  padding:0 15px 1px;
  background:#fff;
}
.row{display:flex;flex-wrap:wrap;margin:0 -15px}
.col-main,.col-side{width:100%;padding:0 15px;min-width:0}
.col-full{width:100%;padding:0 15px}
@media (min-width:768px){
  .col-main{width:58.333%}
  .col-side{width:41.667%}
}
#photo-header{margin-top:-75px;text-align:center}
#photo{
  display:inline-block;
  padding:6px;
  background:#ededed;
  line-height:0;
}
#photo img{width:280px;height:67px}
#text-header{
  font-weight:700;
  padding-top:8px;
  border-bottom:3px solid #ec7263;
  padding-bottom:12px;
  margin-bottom:15px;
}
h1{
  font-size:1.8em;
  line-height:1.3;
  margin:.4em 0 .6em;
  color:#1f3d55;
}
h2{
  color:#339966;
  font-size:1.05em;
  font-weight:700;
  text-transform:uppercase;
  margin:0 0 .6em;
  line-height:1.35;
}
h2::before{content:"> ";color:#339966}
h2 a{color:#339966;text-decoration:none}
h2 a:hover{text-decoration:underline}
h3{font-size:1.05em;margin:1.2em 0 .4em;color:#1f3d55}
.box{margin-bottom:15px}
.box p{margin:0 0 1em}
.text-center{text-align:center}
.lead{font-size:1.15em;font-weight:600;color:#1f3d55}
#education{
  position:relative;
  margin:20px 0;
  padding:1em 0;
  list-style:none;
}
#education::before{
  content:"";
  position:absolute;
  left:25px;top:0;
  width:5px;height:100%;
  background:linear-gradient(to bottom,#fff 0%,#ec7263 7%,#ec7263 89%,#fff 100%);
}
#education li{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  margin-bottom:10px;
}
#education .year{
  flex:0 0 78px;
  background:#fff;
  padding:10px 2px;
  font-size:1.05em;
  font-weight:700;
  text-align:center;
  line-height:1.25;
  color:#c0392b;
  white-space:nowrap;
}
#education .description{
  position:relative;
  flex:1 1 auto;
  background:#eee;
  padding:10px;
  margin-left:16px;
  border-bottom:1px solid #ddd;
}
#education .description::after{
  content:"";
  position:absolute;
  top:15px;left:-16px;
  width:0;height:0;
  border:8px solid transparent;
  border-right-color:#eee;
}
#education .description p{margin:0}
.menu-nav{margin-bottom:15px}
.menu-nav ul{list-style:none;margin:0;padding:0}
.menu-nav li{margin-bottom:6px}
.menu-nav li a{
  display:block;
  padding:9px 12px;
  background:#f2f6f4;
  border-left:4px solid #339966;
  color:#1f3d55;
  text-decoration:none;
  font-weight:600;
  font-size:.95em;
}
.menu-nav li a:hover,.menu-nav li a:focus{background:#e2ede8;color:#0b5c8f}
.table-wrap{overflow-x:auto;margin:1em 0}
table.quiz{border-collapse:collapse;width:100%;font-size:.95em}
table.quiz caption{
  text-align:left;font-weight:700;padding:.5em 0;color:#1f3d55;
}
table.quiz th,table.quiz td{
  border:1px solid #b9c4a8;
  padding:8px 10px;
  vertical-align:top;
  text-align:left;
}
table.quiz thead th{background:#8a9a5b;color:#fff}
table.quiz td.pts{text-align:center;font-weight:700;width:60px;white-space:nowrap}
table.quiz tbody tr:nth-child(even){background:#f7f8f3}
.callout{
  background:#eef5f0;
  border-left:4px solid #339966;
  padding:12px 15px;
  margin:1.2em 0;
}
.callout.warn{background:#fdf0ee;border-left-color:#ec7263}
.callout h3{margin-top:0}
.faq dt{font-weight:700;margin-top:1em;color:#1f3d55}
.faq dd{margin:.3em 0 0}
.lien-site{
  background:#eef3f8;
  border:1px solid #d3e0ec;
  padding:14px 16px;
  margin:20px 0;
  font-size:.95em;
}
.lien-site strong{display:block;color:#0b5c8f;font-size:1.08em;margin-bottom:6px}
.lien-site p{margin:0 0 8px}
.lien-site p:last-child{margin-bottom:0}
.lien-site-url a{font-weight:700;color:#0b5c8f}
.site-footer{
  text-align:center;
  color:#ccc;
  background:#000;
  padding:15px 10px;
  margin:0 -10px;
  font-size:.9em;
}
.site-footer a{color:#ccc}
@media print{body{background:none}.site-footer,.menu-nav{display:none}}
.breadcrumb{font-size:.85em;color:#5a6a64;margin:0 0 4px}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.breadcrumb li::after{content:"›";margin-left:6px;color:#999}
.breadcrumb li:last-child::after{content:""}
.breadcrumb a{color:#0b5c8f;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.sources{
  background:#f4f6f5;
  border-top:3px solid #339966;
  padding:16px 18px;
  margin:26px 0 15px;
  font-size:.88em;
}
.sources h2{font-size:.85em;margin-bottom:8px}
.sources ul{margin:0;padding-left:18px}
.sources li{margin-bottom:5px;line-height:1.45}
.sources .maj{margin:10px 0 0;color:#5a6a64;font-size:.95em}
.quiz-form{margin:1em 0}
.quiz-q{
  border:1px solid #d6dedb;
  border-left:4px solid #339966;
  background:#fbfcfc;
  padding:14px 16px;
  margin-bottom:12px;
}
.quiz-q legend{
  font-weight:700;
  color:#1f3d55;
  padding:0;
  line-height:1.4;
}
.quiz-q .qnum{color:#339966;font-family:monospace;margin-right:5px}
.quiz-opts{margin-top:10px}
.quiz-opts label{
  display:flex;
  align-items:baseline;
  gap:9px;
  padding:7px 9px;
  border-radius:3px;
  cursor:pointer;
  line-height:1.4;
}
.quiz-opts label:hover{background:#eaf2ee}
.quiz-opts input{margin:0;flex:0 0 auto;accent-color:#339966;width:17px;height:17px}
.quiz-opts .pt{
  margin-left:auto;
  font-weight:700;
  color:#8a9a5b;
  font-size:.85em;
  white-space:nowrap;
}
.quiz-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}
.btn{
  font:inherit;font-weight:700;
  padding:11px 22px;
  border:2px solid #339966;
  border-radius:4px;
  background:#339966;color:#fff;
  cursor:pointer;
}
.btn:hover{background:#2b8257;border-color:#2b8257}
.btn.sec{background:transparent;color:#2b8257}
.btn.sec:hover{background:#eaf2ee;color:#1f6a45}
.btn:focus-visible,.quiz-opts input:focus-visible,a:focus-visible{outline:3px solid #045D99;outline-offset:2px}
#quiz-result{margin-top:18px}
#quiz-result[hidden]{display:none}
.score-box{
  border:2px solid #339966;
  background:#eef5f0;
  padding:18px 20px;
}
.score-box .score{
  font-size:2.6em;
  font-weight:700;
  line-height:1;
  color:#2b8257;
  display:block;
}
.score-box .score small{font-size:.4em;font-weight:400;color:#5a6a64}
.score-box .level{
  font-size:1.15em;
  font-weight:700;
  color:#1f3d55;
  margin:8px 0 10px;
}
.score-box.lv2{border-color:#c79a2a;background:#fbf5e8}
.score-box.lv2 .score{color:#a8781a}
.score-box.lv3{border-color:#c0563d;background:#fbeeea}
.score-box.lv3 .score{color:#b04a30}
.quiz-warn{
  background:#fdf0ee;
  border-left:4px solid #ec7263;
  padding:10px 14px;
  margin-top:12px;
  font-size:.93em;
}
.calc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
  margin:1em 0;
}
.field label{display:block;font-weight:600;font-size:.92em;margin-bottom:5px;color:#1f3d55}
.field input{
  font:inherit;
  width:100%;
  padding:9px 11px;
  border:1px solid #b9c4c0;
  border-radius:3px;
  background:#fff;
  color:#222;
}
.field input:focus{outline:3px solid #045D99;outline-offset:1px}
.field .hint{display:block;font-size:.82em;color:#6b7a75;margin-top:4px}
.results{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;
  background:#d6dedb;
  border:1px solid #d6dedb;
  margin:20px 0;
}
.res{background:#fff;padding:16px 18px}
.res .v{
  font-size:1.7em;
  font-weight:700;
  color:#2b8257;
  line-height:1.15;
  display:block;
  font-variant-numeric:tabular-nums;
}
.res .k{display:block;font-size:.85em;color:#5a6a64;margin-top:5px;line-height:1.35}
.res.alt .v{color:#b04a30}
.proj{width:100%;border-collapse:collapse;font-size:.93em;margin-top:6px}
.proj th,.proj td{padding:8px 10px;border-bottom:1px solid #e2e8e5;text-align:left}
.proj th{background:#f2f6f4;font-size:.85em;text-transform:uppercase;letter-spacing:.04em;color:#5a6a64}
.proj th.n{text-align:right}
.proj td.n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.nojs{background:#fdf0ee;border-left:4px solid #ec7263;padding:12px 15px;margin:1em 0}
.related{
  background:#f4f6f5;
  border-left:4px solid #045D99;
  padding:14px 17px;
  margin:22px 0;
  font-size:.95em;
}
.related strong{display:block;color:#045D99;margin-bottom:6px}
.related ul{margin:0;padding-left:18px}
.related li{margin-bottom:4px}
