/*
 color palette:
 flat bone: #EDEBE6
 easy: #D6E1C7
 G 445: #94C7B6
 Rigor Mortis: #403B33
 morning: D3643B
 */

body {
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  margin-left: 0;
  margin-top: 0;
  background-color: #EDEBE6
}

html {
  background-color: #403B33;
}

section {
  background-color: #EDEBE6;
}



/* Increment with lists */
.incremental > * { opacity: 1; }
.incremental > *[aria-selected] { color: red; opacity: 1; }
.incremental > *[aria-selected] ~ * { opacity: 0.2; }
/* Increment with images */
.incremental > img[aria-selected] { box-shadow: 0 0 10px #000 }

h1 {
  color: #403B33;
  font-size: 50px;
  text-shadow: 0px -1px 0px #fff;
  text-align: center;
  display: block;
  position: absolute;
  top: 50%;
}

h2 {
  color: #AE353B;
  font-size: 40px;
  text-align: center;
}

h2.author {
  color: #55ACEE;
  width: 150px;
  display:block;
  position: absolute;
  bottom: 70px;
  right: 0;
}

h2.twitter {
  color: #55ACEE;
  width: 150px;
  display:block;
  position: absolute;
  bottom: 30px;
  right: 0;
}

h3 {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: #232323;
  font-weight: normal;
  font-style: italic;
}

.slide h1 {
  top: 0
}

section.slide h1 {
  position: relative;
  margin-bottom: 20px;
}

section.slide h2 {
  position: absolute;
  bottom: 20px;
}

figure img {
  position: absolute;
  top: 0;
  overflow: hidden;
  height:auto !important;
}

img.centered {
  min-height: 400px;
  max-height: 80%;
  margin-left:auto;
  margin-right: auto;
  position:absolute;
  left:0;
  right:0;
}

ul {
  margin-left: 20%;
}

li {
  font-size: 40px;
}

#why, #it-can-be-hard, #build-a-state-machine, #code-architecture, #version-vs-negotiation {
  background-color: #D3643B;
}

#why h1, #it-can-be-hard h1, #build-a-state-machine h1, #code-architecture h1, #version-vs-negotiation h1 {
  color: #D6E1C7;
  font-size: 190px;
}

#existing-protocols-are-good-enough, #old-layers, #why-build-your-own-protocol, #why-build-your-own-protocol-1,
#why-build-your-own-protocol-2,
#every-communication-is-a-protocol-formal-or-not, #interoperability, #ambiguity, #testing, #state-machine,
#encoding, #building-a-state-machine, , #parsing, #parsing-and-input-languages, #schema-and-grammars,
#parse-early-validate-early, #versionning, #versions, #negotiation, #schema-repository,
#authentication-and-session, #token-separation-vs-length-fields {
  background-color: #D6E1C7;
}

#existing-protocols-are-good-enough h1, #old-layers h1, #why-build-your-own-protocol h1, #why-build-your-own-protocol-1 h1,
#why-build-your-own-protocol-2 h1, #parsing h1, #versionning h1,
#every-communication-is-a-protocol-formal-or-not h1, #interoperability h1, #ambiguity h1, #testing h1, #state-machine h1,
#encoding h1, #building-a-state-machine h1, #parsing-and-input-languages h1, #schema-and-grammars h1,
#parse-early-validate-early h1, #versions h1, #negotiation h1, #schema-repository h1,
#authentication-and-session h1, #token-separation-vs-length-fields h1 {
  color: #403B33;
  font-size: 170px;
}

#changing-needs {
  background-color: #D6E1C7;
}

#changing-needs h1 {
  color: #403B33;
  font-size: 200px;
}

#why-not, #parser-generators, #parser-combinators, #context-sensitivity, #thanks, #links {
  background-color: #EDEBE6;
}

#why-not h1, #parser-generators h1, #parser-combinators h1, #context-sensitivity h1, #thanks h1, #links h1 {
  color: #403B33;
  font-size: 190px;
}

#what-is-a-protocol, #developers-hate-them, #error-management, #text-vs-binary, #layering {
  background-color: #403B33;
}

#what-is-a-protocol h1, #error-management h1, #text-vs-binary h1, #layering h1 {
  color: #94C7B6;
  font-size: 200px;
}

#developers-hate-them h1 {
  color: #94C7B6;
  font-size: 170px;
}

#why-not-a-rest-json-api-over-http, #why-describe-properly-a-protocol {
  background-color: #403B33;
}
#why-not-a-rest-json-api-over-http h3, #why-describe-properly-a-protocol h3, #error-management h3,
#text-vs-binary h3, #layering h3 {
  color: white;
}
#why-not-a-rest-json-api-over-http h1, #why-describe-properly-a-protocol h1 {
  color: #D3643B;
  font-size: 190px;
}

#echangeons-nos-clefs h1 em {
  color: #D3643B;
  font-style: normal;
}

#identification-vs-authentification, #crypto-asymétrique {
  background-color: #EDEBE6;
}

#identification-vs-authentification h1 {
  color: #403B33;
  font-size: 150px;
}

#crypto-asymétrique h1 {
  color: #403B33;
  font-size: 190px;
}

#rsa-pkcs1v15-dsa, #truecrypt {
  background-color: #403B33;
}

#rsa-pkcs1v15-dsa h1, #truecrypt h1 {
  color: #94C7B6;
  font-size: 180px;
}

#rsa-oaep-rsassa-pss, #dsa-déterministe, #courbes-elliptiques, #sqlcipher {
  background-color: #403B33;
}

#rsa-oaep-rsassa-pss h1, #dsa-déterministe h1, #courbes-elliptiques h1,
#sqlcipher h1 {
  color: #D3643B;
  font-size: 180px;
  text-align: middle;
}

#clef-de-session {
  background-color: #D6E1C7;
}

#clef-de-session h1 {
  color: #403B33;
  font-size: 190px;
}

#clef-de-session h1 em {
  color: #D3643B;
  font-style: normal;
}

#méthode-rsa {
  background-color: #403B33;
  color: #EDEBE6;
}

#méthode-rsa h1 {
  color: #94C7B6;
  font-size: 100px;
}

#diffie-hellman, #forward-secrecy, #otr {
  background-color: #403B33;
}

#diffie-hellman h1, #forward-secrecy h1 {
  color: #D3643B;
  font-size: 180px;
  text-align: middle;
}

#otr h1 {
  color: #D3643B;
  font-size: 300px;
  text-align: middle;
}

#asynchronous-key-ratcheting {
  background-color: #D3643B;
}

#asynchronous-key-ratcheting h1 {
  color: #D6E1C7;
  font-size: 160px;
}

#group-chat {
  background-color: #403B33;
}

#group-chat h1 {
  color: #D3643B;
  font-size: 250px;
}

#stockage, #protéger-les-données-locales, #authentifier-les-données-en-clair,
#où-mettre-la-clef-de-chiffrement, #générée-par-mot-de-passe, #pourquoi-ça-doit-être-lent, #ux,
#comment-vérifier-une-identité, #tofu, #echange-de-clefs-main-à-main,
#vérifier-un-fingerprint {
  background-color: #EDEBE6;
}

#aparté-le-stockage-des-mots-de-passe {
  background-color: #94C7B6;
}
#stockage h1 {
  color: #403B33;
  font-size: 190px;
}

#protéger-les-données-locales h1, #authentifier-les-données-en-clair h1,
#où-mettre-la-clef-de-chiffrement h1, #générée-par-mot-de-passe h1, #ux h1,
#comment-vérifier-une-identité h1, #pourquoi-ça-doit-être-lent h1, #tofu h1,
#echange-de-clefs-main-à-main h1, #vérifier-un-fingerprint h1 {
  color: #403B33;
  font-size: 170px;
}

#générée-par-mot-de-passe h1 em, #comment-vérifier-une-identité h1 em {
  color: #D3643B;
  font-style: normal;
}

#key-derivation-functions, #vocabulaire #choix-de-lutilisateur {
  background-color: #403B33;
}

#key-derivation-functions h1, #vocabulaire h1, #choix-de-lutilisateur h1 {
  color: #D3643B;
  font-size: 180px;
  text-align: middle;
}

#aparté-le-stockage-des-mots-de-passe h1 {
  color: #403B33;
  font-size: 150px;
}

#failure-modes, #la-crypto-cest-pas-simple-mais-cest-fun {
  background-color: #403B33;
}

#failure-modes h1 {
  color: #94C7B6;
  font-size: 180px;
}

#la-crypto-cest-pas-simple-mais-cest-fun h1 {
  color: #94C7B6;
  font-size: 140px;
}
#la-crypto-cest-pas-simple-mais-cest-fun h1 em {
  color: #D3643B;
  font-style: normal;
}

#chiffrement-local {
  background-color: #403B33;
  color: #EDEBE6;
}

#chiffrement-local h1 {
  color: #94C7B6;
  font-size: 100px;
}

