body { margin: 0; }

@keyframes Link-in {
     from { color: #084B8A; }
     to   { color: rgb(0, 174, 239); }
}

@keyframes Link-out {
     from { color: rgb(0, 174, 239); }
     to   { color: #084B8A; }
}

@keyframes Input-in {
     from { border-color: #CCC; }
     to   { border-color: rgb(0, 174, 239); }
}

@keyframes Input-out {
     from { border-color: rgb(0, 174, 239); }
     to   { border-color: #CCC; }
}

@keyframes Submit-in {
  from {
    color: #555;
    background-color: #EEE;
    border-color: #BBB;
  }
  to {
    color: white;
    background-color: rgb(79, 204, 205);
    border-color: rgb(47, 150, 151);
  }
}

@keyframes Submit-out {
  from {
    color: white;
    background-color: rgb(79, 204, 205);
    border-color: rgb(47, 150, 151);
  }
  to {
    color: #555;
    background-color: #EEE;
    border-color: #BBB;
  }
}

a {
	animation: Link-out 0.2s linear;
	color: #084B8A;
	text-decoration: none;
}

a:hover {
	animation: Link-in 0.2s linear;
	color: rgb(0, 174, 239);
}

p {
  text-align: justify;
  line-height: 1.7em;
}

li {
  font-family: "Lato",sans-serif;
  font-size: 0.95em;
  font-weight: 300;
  line-height: 1.5em;
  color: #555;
}

c {
  padding: 2px 5px;
  font-family: monospace;
  white-space: pre;
  font-size: 1.2em;
  background: #f5f5f5;
}

pre {
  line-height: 1.5em;
  counter-reset: line;
}

line:before {
  counter-increment: line;
  content: counter(line);
  display: inline-block;
  width: 20px;
  border-right: 1px solid #ddd;
  padding: 0 .5em;
  margin-right: .5em;
  color: #888;
}

table.thin { 
  border-collapse: collapse; 
  font-family: "Lato",sans-serif;
  font-size: 0.95em;
  font-weight: 300;
  line-height: 1.5em;
  color: #555;
}
table.thin td.noborder { border: 0px; }
table.thin th, table.thin td { 
  border: 1px solid black;
  padding: 10px;
  text-align: center;
}

figure {
  display: block;
  margin: 0 auto;
  padding: 10px;
  background: #eee;
}

figure img {
  display: block;
  margin: 0 auto;
}

cap {
  display: block;
  margin: 20px auto 0 auto;
  padding: 0 5px;
  font-family: "Lato",sans-serif;
  font-size: 0.9em;
  color: #555;
  font-style: italic;
  text-align: justify;
}

input[type="submit"]{ cursor:pointer; }

.container {
	display: flex;
	width: 1000px;
	margin: auto;
	flex-direction: column;
}

/* === HEADER =========================================================== */

.header {
	display: flex;
	flex-direction: row;
    justify-content: space-between;
    height: 100px;
	background: none;
}

.logo {
	display: inline-block;
	width: 300px;
	margin: 20px 0 0 0;
}

.logo img { width: 100%; }

.header_link {
	display: inline-block;
	font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: 0.8em;
    text-transform: uppercase;
	color: black;
	text-decoration: none;
	margin: 35px 0 0 30px;
}

#search {	
	display: inline-block;
	vertical-align: middle;
	margin: -3px 0 0 20px;
}

/* === MAIN ============================================================= */

.main {
	display: flex;
	flex-direction: row;
	width: 100%;
	min-height: 600px;	
}

.menu h1 {
	padding: 0 0 10px 0;
	font-family: "Lato",sans-serif;
	font-size: 1.2em;
	font-weight: 300;
	color:  #888;
	border-bottom: 1px solid #AAA;
}

.menu a {
	display: block;
	width: 100%;
	font-family: "Lato",sans-serif;
	font-size: 0.8em;
	font-weight: 300;
	line-height: 2em;
}

.list_cont {
  width: 100%;
  min-height: 200px;
}

.list_cont img { 
  width: 840px;
}

.list_links {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0 0 50px 0;
  padding: 10px 0;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
}

.list_link {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 1em;
}

.list_date {
  position: absolute;
  width: 99px;
  height: 103px;
  background: url('Images/date_background.png') no-repeat;
  font-family: "Lato",sans-serif;
  color: white;
  display: none;
}

.list_day {
  width: 87px;
  margin: 12px 0 0 0;
  text-align: center;
  font-size: 2em;
  font-weight: bold;
}

.list_month {
  width: 87px;
  margin: -5px 0 0 0;
  text-align: center;
  font-size: 1.2em;
  font-weight: normal;
}

.list_year {
  width: 87px;
  margin: -3px 0 0 0;
  text-align: center;
  font-size: 1em;
  font-weight: 300;
}

.list_cont:hover .list_date { display: block; }

.comment_icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url('Images/Icons/comments.png') no-repeat;
}

.content {
	width: 840px;
	padding: 0 0 0 20px;
	background: none; /*#DDD;*/
}

.post_title {
  margin: 20px 0 0 0;
  font-family: "Lato",sans-serif;
  font-size: 1.5em;
  font-weight: bold;
  color:  #333;
}

.post_subtitle {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  border-bottom: 1px solid #DDD;
}

.post_navigation {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.post_navigation a, .post_navigation div {
  flex: 1;
  margin: 0;
  padding: 15px 0;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0.85em;
  display: block;
  font-family: "Lato",sans-serif;
}

.post_navigation a:nth-child(1) {
  padding-left: 25px;
  background: url('Images/large_arrow_left.png') no-repeat left center;
}

.post_navigation div:nth-child(1) { padding-left: 25px; }

.post_navigation div:nth-child(2) {
  display: flex;
  padding: 0;
}

.post_navigation a:nth-child(3) {
  text-align: right;
  padding-right: 25px;
  background: url('Images/large_arrow_right.png') no-repeat right center;
}

.post_navigation div:nth-child(3) { padding-right: 25px; }

.post_page_select { 
  margin: auto;
  padding: 7px 20px 7px 0;
  white-space: nowrap;
  overflow: hidden;
  appearance:none;
  -moz-appearance:none; /* Firefox */
  -webkit-appearance:none; /* Safari and Chrome */
  background: url('Images/select_background.png') no-repeat right center;
  border: none;

}

.content h1 {
  font-family: "Lato",sans-serif;
  font-size: 1.5em;
  font-weight: 500;
  color:  #555;
}

.content h2 {
  font-family: "Lato",sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  font-style: italic;
  color:  #555;
}

.content p {
	font-family: "Lato",sans-serif;
	font-size: 0.95em;
	color: #555;
}

.code_title {
  padding: 10px;
  margin: 0 0 -12px 0;
  font-family: "Lato",sans-serif;
  font-size: 0.9em;
  font-weight: 300;
  background: #EEE;
}

/* --- Note --- */

.note {
  background: #EEE;
  padding: 5px 30px;
  font-size: 0.9em;
  border-left: 3px solid #AAA;
}

.note h1 {
  font-family: "Lato",sans-serif;
  font-size: 1.2em;
  font-weight: 200;
}

/* --- Carrousel --- */

.carrousel {
  display: flex;
  flex-direction: row;
  background: #EEE;
}

.car_left {
  width: 210px;
  padding: 7px 0px 0px 7px;
  overflow-y: scroll;
}

.car_main {
  flex: 1;
  padding: 10px 10px;
}

.car_main img {
  width: 600px;
}

.carrousel img.thumbnail {
  width: 180px;
  float: left;
  margin: 0 0 4px 0;
  padding: 0;
  border: 3px solid #EEE;
}

.carrousel img.thumbnail_selected, .carrousel img.first {
  width: 180px;
  float: left;
  margin: 0 0 4px 0;
  padding: 0;
  border: 3px solid #555;
}

/* --- Comments --- */

.comment {
  padding: 10px 10px 0 10px;
  white-space: pre-wrap;
  text-align: justify;
}

.comment_nested {
  width: 735px;
  margin-left: 40px;
  padding: 10px 20px 5px 20px;
  white-space: pre-wrap;
  text-align: justify;
  border-left: 3px solid #AAA;
  background-color: #EEE;
}

.comment_header {
  font-family: "Lato",sans-serif;
  font-size: 0.9em;
  font-weight: 300;
  font-style: italic;
}

.comment_form {
  width: 840px;
  padding: 15px 0 0 0;
}

.comment_form_elm {
  animation: Input-out 0.2s linear;
  background-image: none;
  border: 1px solid #CCC;
  border-radius: 4px;
  color: #555;
  font-size: 0.8em;
}

.comment_form_elm:focus {
  animation: Input-in 0.2s linear;
  border-color:  rgb(0, 174, 239); 
}

.comment_inputs {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}

.comment_input {
  display: inline-block;
  margin: 0 0 10px 0;
  padding: 10px;
  width: 45%;
}

.comment_content {
  width: 817px;
  height: 150px;
  margin: 10px 15px 0 0;
  padding: 10px;
  font-family: "Lato",sans-serif;
  font-size: 0.9em;
}

.comment_submit {
  animation: Submit-out 0.2s linear;
  width: 222px;
  margin: 15px auto 0 auto;
  padding: 7px 0px 3px 0;
  background: #EEE;
  border: 0 none;
  border-bottom: 3px solid #BBB;
  border-radius: 4px;
  font-family: "Lato",sans-serif;
  font-size: 0.9em;
  font-weight: 300;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 5px;
  color: #555;
}

.comment_submit:hover {
  animation: Submit-in 0.2s linear;
  color: white;
  background-color: rgb(79, 204, 205);
  border-color: rgb(47, 150, 151);
}

#comment_popup {
  display: none;
  position: absolute;
  width: 840px;
  height: 350px;
  border-radius: 15px;
  font-family: "Lato",sans-serif;
  font-size: 1.5em;
  font-weight: 300;
  line-height: 330px;
  text-align: center;
  background-color: #a9dfbf;
}

/* === FOOTER =========================================================== */

.footer {
	display: flex;
	flex-direction: row;
  justify-content: space-around;
	width: 100%;
	height: 200px;
  margin-top: 50px;
	border-top: 1px solid #AAA;
  padding-top: 30px;
}

.footer_deco {
  display: block;
	width: 150px;
	margin: 0 0 0 10px;
}

.footer h1 {
	font-family: "Lato",sans-serif;
	font-size: 1.2em;
	font-weight: 300;
	color:  #888;
}

.footer p {
	font-family: "Lato",sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	line-height: 1.5em;
}

.copyright {
  margin: 20px 0;
	font-family: "Lato",sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	text-align: center;
	color: #555;
}