/* 
    Screen layout.

    Base css is:
        andreas01, Version: 2.0 (Jun 25, 2006)
        an open source xhtml/css website layout by Andreas Viklund
        http://andreasviklund.com

    The CSS drop shadows effect is based on the A List Apart article:
        Sergio Villarreal, CSS Drop Shadows, 
        http://www.alistapart.com/articles/cssdropshadows/

    For more list tricks, see:
	    Mark Newhouse, CSS Design: Taming Lists,
        http://alistapart.com/articles/taminglists/

*/

/*
 *========================
 * Body and main container 
 *========================
 */

body {
margin:0 auto;
padding:0;
/*font:76% Verdana,Tahoma,Arial,sans-serif; */
font:0.82em/1.5em Verdana,Tahoma,Arial,sans-serif;
background:#f4f4f4 url(../images/bg.gif) top center repeat-y;
color:#303030;
}

#wrap {
background:#ffffff;
color:#303030;
margin:0 auto;
width:760px;
}

/***** Various tags *****/
a {
text-decoration:none;
font-weight:bold;
color:#286ea0;
background-color:inherit;
}

a:hover {
text-decoration:underline;
color:#286ea0;
background-color:inherit;
}

a img {
border:0;
}


/*
 *========================
 * Header
 *========================
 */

#header {
margin:10px 0 0;
padding:0;
height:45px;
}

#header h1 {
color:#505050;
background-color:inherit;
width:250px;
margin:0 0 10px;
font-size:2.2em;
float:left;
}

#header h1 a{
color:#505050;
background-color:inherit;
text-decoration:none;
}

#header p {
width:500px;
float:right;
text-align:center;
color:#505050;
margin:8px 0 0;
font-size:1.1em;
font-weight:bold;
line-height:1.3em;
background-color:inherit;
}

#frontphoto {
margin:0 0 10px;
border:0;
}


/*
 *========================
 * Left sidebar
 *========================
 */

#leftside {
clear:left;
float:left;
width:140px;
margin:0 0 5px;
padding:0;
}

#leftside h2,#leftside h3 {
color:#505050;
background-color:inherit;
font-size:1.3em;
margin:0 0 5px;
padding:0;
}

#leftside div.announce {
clear:left;
/* margin:50px 0 15px; */
margin-top: 80px;
padding:7px 5px;
width:126px;
font-size:0.9em;
background-color:#f4f4f4;
color:#505050;
border-left:4px solid #cccccc;
line-height:1.5em;
}

#leftside div.announce p {
margin:10px 0 0;
padding:0;
}


/*
 *========================
 * Main menu
 *========================
 */

ul.avmenu {
width:140px;
margin:0 0 18px;
padding:0;
list-style:none;
}

ul.avmenu li {
width:140px;
padding:0;
line-height:1.4em;
display:inline;
}

ul.avmenu li a {
background-color:#f4f4f4;
color:#505050;
font-weight:bold;
width:130px;
float:left;
margin-bottom:5px;
padding:5px 1px 5px 5px;
border-left:4px solid #cccccc;
text-decoration:none;
}

ul.avmenu li a:hover,ul.avmenu li a.current {
background-color:#eaeaea;
border-left:4px solid #286ea0;
color:#505050;
}

ul.avmenu ul {
margin:0 0 0 15px;
padding:0 0 5px 0;
font-size:0.9em;
width:125px;
}

ul.avmenu ul a {
padding:3px 1px 3px 5px;
width:115px;
}

ul.avmenu ul ul {
width:113px;
}

ul.avmenu ul ul a {
width:100px;
}


/*
 *========================
 * Right sidebar
 *========================
 */

#extras {
float:right;
width:140px;
margin:0 0 5px;
padding:0;
line-height:1.4em;
}

#extras p,#extras ul {
font-size:0.9em;
margin:0 0 16px;
padding:0;
}

#extras li {
list-style:none;
line-height:1.2em;
margin:0 0 6px 0;
padding:0;
}

#extras ul ul {
margin:6px 0 0 10px;
padding:0;
}

#extras ul ul li {
margin: 0 0 4px 0;
}

#extras ul ul li a {
font-size:1.1em;
font-weight:normal;
}

#extras h2, #extras h3 {
color:#505050;
background-color:inherit;
font-size:1.2em;
margin:0 0 10px;
padding:0;
}


/*
 *========================
 * Main content
 *========================
 */

#content {
margin:0 150px 5px 150px;
border-left:1px solid #e0e0e0;
border-right:1px solid #e0e0e0;
padding:0 10px;
line-height:1.6em;
}

#contentwide {
margin:0 0 5px 150px;
border-left:1px solid #f0f0f0;
padding:0 0 0 10px;
line-height:1.6em;
}

#content h2,#contentwide h2 {
font-size:1.6em;
margin:0 0 10px;
}

#content h3,#contentwide h3 {
font-size:1.4em;
margin:0 0 8px;
}

#content img,#contentwide img {
padding:1px;
display:inline;
background:#cccccc;
color:#303030;
border:4px solid #f0f0f0;
}

#content ul, #contentwide ul, #content ol, #contentwide ol {
margin:0 0 16px 20px;
padding:0;
}

#content li, #contentwide li {
margin:0;
padding:0 0 0 5px;
}

#content ul ul, #contentwide ul ul, #content ol ol, #contentwide ol ol{
margin:0 0 0 16px;
padding:0;
}

.section-title
{
    padding-bottom: 2px;
    border-bottom: 1px solid #808080;
    font-size: 120%;
    text-align: left;
    font-weight: bold;
/*  clear: both; */
}


/*
 *========================
 * Footer
 *========================
 */

#footer {
clear:both;
margin:0 auto;
padding:10px 0 20px;
border-top:4px solid #f0f0f0;
width:760px;
text-align:center;
color:#808080;
background:#ffffff;
font-size:0.9em;
}

#footer a {
color:#808080;
background-color:inherit;
text-decoration:none;
}

#footer a:hover {
text-decoration:underline;
}


/*
 *========================
 * Various classes
 *========================
 */

.left {
margin:3px 10px 2px 0;
float:left;
}

.right {
margin:2px 0 2px 10px;
float:right;
}

.textright {
text-align:right;
}

.center {
text-align:center;
}

.small {
font-size:0.8em;
}

.bold {
font-weight:bold;
}

.hide {
display:none;
}

.note {
font-size: 0.8em;
color: gray;
}


/*
 *========================
 * Image effects
 *========================
 */

.figure-left 
{
   float: left;
   margin-right: 10px;
   text-align: center;
   padding: 5px;
}

.figure-right
{
    float: right;
    margin-left: 10px;
    text-align: center;
    padding: 5px;
}

.figure-shadow {
  float: left;
  background: url(../images/shadowAlpha.png) no-repeat bottom right !important;
  background: url(shadow.gif) no-repeat bottom right;
  margin: 10px 0 0 10px !important;
  margin: 10px 0 0 5px;
}

#content .figure-shadow img {
  display: block;
  position: relative; 
  background-color: #fff; 
  border: 1px solid #a9a9a9;
  margin: -6px 6px 6px -6px; 
  padding: 4px;
}

.figure-centered {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}



/*
 *========================
 * Publications
 *========================
 */

.paper-title {
    display: block;
    font-style: normal;
    font-weight: bold;
}

.paper-title a {
    color: black; 
}

.paper-authors {
    display: block;
    font-style: italic;
}

.paper-venue {
    display: block;
}

.paper-place-time {
    display: block;
}

.paper-links {
    display: block;
}

ul.biblio {
    list-style: disc url(../images/bullet.png);
}


/*
 *========================
 * Press
 *========================
 */

.press-venue {
    font-style: italic;
}


/*
 *========================
 * CTF
 *========================
 */

ul.ctf-facts {
    list-style:none;
}

.ctf-fact {
   font-weight: bold;
}


/*
 *========================
 * Blog
 *========================
 */

p.post-date {
   color: #A9A9A9;
}

p.post-meta {
    text-align: center;
    color: #A9A9A9;
}


ul.archives {
width:140px;
margin:0 0 18px;
padding:0;
list-style:none;
}

/*
ul.archives li {
width:140px;
padding:0;
line-height:1.4em;
display:inline;
}

ul.archives li a {
background-color:#f4f4f4;
color:#505050;
font-weight:bold;
width:130px;
float:left;
margin-bottom:5px;
padding:5px 1px 5px 5px;
border-left:4px solid #cccccc;
text-decoration:none;
}

ul.archives li a:hover,ul.archives li a.current {
background-color:#eaeaea;
border-left:4px solid #286ea0;
color:#505050;
}
*/

ul.archives ul {
margin:0 0 0 15px;
padding:0 0 5px 0;
font-size:0.9em;
width:125px;
list-style:none;
}

ul.archives a {
padding:3px 1px 3px 5px;
width:115px;
}

ul.archives ul ul {
width:113px;
}

ul.archives ul ul a {
width:100px;
}

form.cmxform fieldset {
  margin-bottom: 10px;
}
form.cmxform legend {
  padding: 0 2px;
  font-weight: bold;
}
form.cmxform label {
  display: inline-block;
  line-height: 1.8;
  vertical-align: top;
}
form.cmxform fieldset ol {
  margin: 0;
  padding: 0;
}
form.cmxform fieldset li {
  list-style: none;
  padding: 5px;
  margin: 0;
}
form.cmxform fieldset fieldset {
  border: none;
  margin: 3px 0 0;
}
form.cmxform fieldset fieldset legend {
  padding: 0 0 5px;
  font-weight: normal;
}
form.cmxform fieldset fieldset label {
  display: block;
  width: auto;
}
form.cmxform em {
  font-weight: bold;
  font-style: normal;
  color: #f00;
}
form.cmxform label {
  width: 120px; /* Width of labels */
}
form.cmxform fieldset fieldset label {
  margin-left: 123px; /* Width plus 3 (html space) */
}

div.blog-navigation span.newer-posts {
  float: left;
  text-align: left;
  font-weight: bold;
  color: #fff;
  width: 49%;
}

div.blog-navigation span.older-posts {
  float: right;
  text-align: right;
  font-weight: bold;
  color: #fff;
  width: 49%;
} 

pre {
  border: 1px dotted rgb(255, 204, 102);
  padding-left: 15px;
  padding-top: 5px;
  padding-bottom: 5px;
  background: #f4f4f4;
}

blockquote {
  border-left: 3px solid rgb(211, 211, 211);
  padding-left: 15px;
}

ul.tagcloud {
  width:140px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
  display: inline;
}

a.tag-rare {
  font-size: small;
}
a.tag-normal {
  font-size: medium;
}
a.tag-frequent {
  font-size: large;
}

/* pygmentize -S colorful -f html -a .codehilite */
.codehilite  { background: #f0f0f0; }
.codehilite .c { color: #60a0b0; font-style: italic } /* Comment */
.codehilite .err { border: 1px solid #FF0000 } /* Error */
.codehilite .k { color: #007020; font-weight: bold } /* Keyword */
.codehilite .o { color: #666666 } /* Operator */
.codehilite .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
.codehilite .cp { color: #007020 } /* Comment.Preproc */
.codehilite .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
.codehilite .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
.codehilite .gd { color: #A00000 } /* Generic.Deleted */
.codehilite .ge { font-style: italic } /* Generic.Emph */
.codehilite .gr { color: #FF0000 } /* Generic.Error */
.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.codehilite .gi { color: #00A000 } /* Generic.Inserted */
.codehilite .go { color: #808080 } /* Generic.Output */
.codehilite .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.codehilite .gs { font-weight: bold } /* Generic.Strong */
.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.codehilite .gt { color: #0040D0 } /* Generic.Traceback */
.codehilite .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.codehilite .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.codehilite .kp { color: #007020 } /* Keyword.Pseudo */
.codehilite .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
.codehilite .kt { color: #902000 } /* Keyword.Type */
.codehilite .m { color: #40a070 } /* Literal.Number */
.codehilite .s { color: #4070a0 } /* Literal.String */
.codehilite .na { color: #4070a0 } /* Name.Attribute */
.codehilite .nb { color: #007020 } /* Name.Builtin */
.codehilite .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
.codehilite .no { color: #60add5 } /* Name.Constant */
.codehilite .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.codehilite .ni { color: #d55537; font-weight: bold } /* Name.Entity */
.codehilite .ne { color: #007020 } /* Name.Exception */
.codehilite .nf { color: #06287e } /* Name.Function */
.codehilite .nl { color: #002070; font-weight: bold } /* Name.Label */
.codehilite .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.codehilite .nt { color: #062873; font-weight: bold } /* Name.Tag */
.codehilite .nv { color: #bb60d5 } /* Name.Variable */
.codehilite .ow { color: #007020; font-weight: bold } /* Operator.Word */
.codehilite .w { color: #bbbbbb } /* Text.Whitespace */
.codehilite .mf { color: #40a070 } /* Literal.Number.Float */
.codehilite .mh { color: #40a070 } /* Literal.Number.Hex */
.codehilite .mi { color: #40a070 } /* Literal.Number.Integer */
.codehilite .mo { color: #40a070 } /* Literal.Number.Oct */
.codehilite .sb { color: #4070a0 } /* Literal.String.Backtick */
.codehilite .sc { color: #4070a0 } /* Literal.String.Char */
.codehilite .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
.codehilite .s2 { color: #4070a0 } /* Literal.String.Double */
.codehilite .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
.codehilite .sh { color: #4070a0 } /* Literal.String.Heredoc */
.codehilite .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
.codehilite .sx { color: #c65d09 } /* Literal.String.Other */
.codehilite .sr { color: #235388 } /* Literal.String.Regex */
.codehilite .s1 { color: #4070a0 } /* Literal.String.Single */
.codehilite .ss { color: #517918 } /* Literal.String.Symbol */
.codehilite .bp { color: #007020 } /* Name.Builtin.Pseudo */
.codehilite .vc { color: #bb60d5 } /* Name.Variable.Class */
.codehilite .vg { color: #bb60d5 } /* Name.Variable.Global */
.codehilite .vi { color: #bb60d5 } /* Name.Variable.Instance */
.codehilite .il { color: #40a070 } /* Literal.Number.Integer.Long */

div.status-msg {
  text-align: center;
  padding: 10px;
  margin: 15px;
  border: 1px solid;
  border:1px dotted #e0e0e0;
  background-color:#f4f4f4;
color:#505050;
border-left:4px solid #cccccc;
line-height:1.5em;
}


/*
 *========================
 * Publications
 *========================
 */

.publication_header {
    font-weight:bold;
    padding-left: 20px;
    padding-right: 10px;
    vertical-align: top;
}

.publication_section {
    padding-top: 0.5em;
    padding-bottom: 2em;
    padding-left: 0.3em;
    padding-right: 0.3em;
}

.awards {
    color: #990000;
}

/*
 *========================
 * Teaching 
 *========================
 */

.teaching .course-id {
    font-style:italic
}

.teaching .course-title {
    font-style:italic
}

table.zebra {
    border-collapse: collapse;
    border: 1px solid #b3b3b3;
}

table.zebra tr td {
    padding: 3px 8px;
}

table.zebra th {
    padding: 3px 8px;
    background: #999999;
    border-bottom: 1px solid #b3b3b3;
}

table.zebra tr.even {
    background: #cccccc;
}

table.zebra tr.even td {
    background: #f2f2f2;
}

tr.lecture-tobedone td {
    color: #cccccc;
}

tr.lecture-tobedone td a {
    color: #5aa0b4;
}

span.tt {
    font-family: Monaco, "Lucida Console", Courier;
}

td.mark {
    text-align: right
}

div.warn {
    border: 1px dashed red;
    margin: 5pt;
    padding: 5pt;
}

