* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

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

html, button, input, select, textarea,
.pure-g [class *= "pure-u"] {
    font-family: "proxima-nova", sans-serif;
}


/* --------------------------
 * Element Styles
 * --------------------------
*/

body {
    min-width: 320px;
    color: #777;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    color: rgb(75, 75, 75);
    font-family: sans-serif;
}
h3 {
    font-size: 1.25em;
}
h4 {
    font-size: 1.125em;
}

a {
    color: #666; /* block-background-text-normal */
    text-decoration: none;
}

a:hover {
    color: #333; /* block-normal-text-normal */
}

a:visited {
    color: #333; /* block-normal-text-normal */
}

aside {
    background: #ddd; /*#1f8dd6 same color as selected state on site menu */
    padding: 0.3em 1em;
    border-radius: 3px;
    color: #888;
}
    aside a, aside a:visited {
        color: rgb(239,141,24);
    }


/* --------------------------
 * Layout Styles
 * --------------------------
*/

/* Navigation Push Styles */
#layout {
    position: relative;
    padding-left: 0;
}
    #layout.active {
        position: relative;
        left: 160px;
    }
        #layout.active #menu {
            left: 160px;
            width: 160px;
        }


/* --------------------------
 * Header Module Styles
 * --------------------------
*/

.header {
     font-family: "omnes-pro", sans-serif;
     text-align: center;
     background: #fff;
     padding-top:1em;
 }
    .header h1 {
        font-size: 300%;
        font-weight: 100;
        margin: 0;
    }
    .header h2 {
        font-size: 125%;
        font-weight: 100;
        line-height: 1.5;
        margin-bottom: 1.5em;
        margin-top: -0.5em;
        color: #666;
        padding-left: 0.3em;
        padding-right: 0.3em;
    }

.header {
        padding-bottom: 0em;
    }

 /* --------------------------
  * Content Module Styles
  * --------------------------
 */

/* The content div is placed as a wrapper around all the docs */
.content {
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    padding-right: 1em;
    max-width: 1280px;
}

    .content .content-subhead {
        margin: 2em 0 1em 0;
        font-weight: 300;
        color: #333;
        position: relative;
    }

    .content-subheadprogram {
        margin: 0em 0 0em 0;
        font-weight: 300;
        color: #fff;
        position: relative;
        background-color: #666;
    }


/* --------------------------
 * Footer Module Styles
 * --------------------------
*/

.footer {
    font-size: 87.5%;
    border-top: 1px solid #eee;
    margin-top: 3.4286em;
    padding: 1.1429em;
    background: rgb(250, 250, 250);
}

.legal {
    line-height: 1.6;
}

    .legal-copyright {
        margin-top: 0;
        margin-bottom: 0;
        text-align: left;
    }
    .legal-webmaster {
        margin-top: 0;
        margin-bottom: 0;
    }


/* --------------------------
 * Main Navigation Bar Styles
 * --------------------------
*/

/* Add transition to containers so they can push in and out */
#layout,
#menu,
.menu-link {
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

#layout.active .menu-link {
    left: 160px;
}

#menu {
    margin-left: -160px; /* "#menu" width */
    width: 160px;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1000; /* so the menu or its navicon stays above all content */
    background: #666;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
    #menu a {
        color: #ddd;
        border: none;
        white-space: normal;
        padding: 0.5em;
    }

    #menu .highlighted div {
        color: rgb(239,141,24);
        border: none;
        white-space: normal;
        padding: 0.625em 1em;
    }

    #menu .pure-menu-open {
        background: transparent;
        border: 0;
    }

    #menu .pure-menu ul {
        border: none;
        background: transparent;
    }

    #menu .pure-menu ul {

    }
    #menu .pure-menu .menu-item-divided {
        border-top: 0px solid #fff;
    }

        #menu .pure-menu li a:hover,
        #menu .pure-menu li a:focus {
            background: #333;
        }

        .pure-menu-top {
            background: #333;
        }

    .menu-link {
        position: fixed;
        display: block; /* show this only on small screens */
        top: 0;
        left: 0; /* "#menu width" */
        background: #000;
        background: rgba(0,0,0,0.7);
        font-size: 11px; /* change this value to increase/decrease button size */
        z-index: 10;
        width: 4em;
        height: 4em;
        padding: 1em;
    }

        .menu-link:hover,
        .menu-link:focus {
            background: #000;
        }

        .menu-link span {
            position: relative;
            display: block;
            margin-top: 0.9em;
        }

        .menu-link span,
        .menu-link span:before,
        .menu-link span:after {
            background-color: #fff;
            width: 100%;
            height: .2em;
            -webkit-transition: all 0.4s;
               -moz-transition: all 0.4s;
                -ms-transition: all 0.4s;
                 -o-transition: all 0.4s;
                    transition: all 0.4s;
        }

            .menu-link span:before,
            .menu-link span:after {
                position: absolute;
                top: -.55em;
                content: " ";
            }

            .menu-link span:after {
                top: .55em;
            }

        .menu-link.active span {
            background: transparent;
        }

            .menu-link.active span:before {
                -webkit-transform: rotate(45deg) translate(.5em, .4em);
                   -moz-transform: rotate(45deg) translate(.5em, .4em);
                    -ms-transform: rotate(45deg) translate(.5em, .4em);
                     -o-transform: rotate(45deg) translate(.5em, .4em);
                        transform: rotate(45deg) translate(.5em, .4em);
            }

            .menu-link.active span:after {
                -webkit-transform: rotate(-45deg) translate(.4em, -.3em);
                   -moz-transform: rotate(-45deg) translate(.4em, -.3em);
                    -ms-transform: rotate(-45deg) translate(.4em, -.3em);
                     -o-transform: rotate(-45deg) translate(.4em, -.3em);
                        transform: rotate(-45deg) translate(.4em, -.3em);
            }

    #menu .pure-menu-heading {
        font-size: 125%;
        font-weight: 300;
        letter-spacing: 0.1em;
        color: rgb(239,141,24);
        margin-top: 0;
        padding: 0.5em 0.8em;
    }
    #menu .pure-menu-heading:hover,
    #menu .pure-menu-heading:focus {
        color: #fff;
    }

    #menu .pure-menu-selected {
        background: rgb(239,141,24);
    }

    #menu .pure-menu-program {
        background: rgb(80,80,80);
    }

    #menu .pure-menu-venue {
        background: rgb(80,80,80);
    }

    #menu .pure-menu-registration {
        background: rgba(239,141,24,0.3);
    }

    #menu .pure-menu-challenge {
        background: rgb(31, 141, 214);
    }

        #menu .pure-menu-selected a {
            color: #fff;
        }

        #menu li.pure-menu-selected a:hover,
        #menu li.pure-menu-selected a:focus {
            background: none;
        }


@media screen and (min-width: 35.5em) {

    .legal-license {
        text-align: left;
        margin: 0;
    }
    .legal-copyright,
    .legal-links,
    .legal-links li {
        text-align: right;
        margin: 0;
    }

}

@media screen and (min-width: 48em) {

    .content {
        padding-left: 2em;
        padding-right: 2em;
    }

    .header h1 {
        font-size: 350%;
    }
    .header h2 {
        font-size: 150%;
    }

    .content p {
        font-size: 1.125em;
    }

}

#layout {
        padding-left: 160px; /* left col width "#menu" */
        left: 0;
    }
    #menu {
        left: 160px;
    }
    .menu-link {
        position: fixed;
        left: 160px;
        display: none;
    }
    #layout.active .menu-link {
        left: 160px;
    }

@media (max-width: 58em) {

    
#layout {
    padding-left: 0;
}

#menu {
    left: 0;
}

.menu-link {
        position: fixed;
        left: 0px;
        display: block;
    }

}


    .banner
    {
        background-position: center;
        background-image: url('css/img/banner1.jpg');
        background-repeat: no-repeat;
        /* Make the background image cover the area of the <div>, and clip the excess */
        background-size: cover; 
    }

    aside.banner  {
        height: 30px;
        border-radius: 0px;
        position: relative;
        right: 0;
        padding: 0.5em 0.5em;
        color: white;
        width: 100%;
        font-size: 80%;
        text-align: left;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: #666;
        /* IE9 SVG, needs conditional override of 'filter' to 'none' */
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjQwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
        background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 80%, rgba(255,255,255,1) 100%); /* FF3.6+ */
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(80%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */
        background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
        background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,1) 100%); /* Opera 11.10+ */
        background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,1) 100%); /* IE10+ */
        background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,1) 100%); /* W3C */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-8 */
    }

    aside.banner  span {
        font-size: 80%;
    }

        aside.banner  span a {
            color: #333;
            text-decoration: none;
        }

    .logo-iacr
    {
        text-align: right;
        height: 0px;
        position:relative;
    }

    .logo-iacr img {
        background: rgba(255,255,255,0.4);
        border-radius: 100px;
        padding: 4px;
    }


    .banner
    {
        height: 400px;
    }
    .logo-iacr {
        top: -66px;
        margin-right:2em;
    }
    .logo-iacr img {
        height:141px;
    }
    .only-large {
        display: block;
    }
    .only-small {
        display: none;
    }
    aside.banner {
        top: 370px;
    }

@media (max-width: 58em) {
    .banner
    {
        height: 200px;
        margin-top: 2em;
        margin-bottom: 2em;
    }
    .logo-iacr {
        top: -281px;
        margin-right: 1em;
    }
    .logo-iacr img {
        height:100px;
    }
    .only-small {
        display: block;
    }
    .only-large {
        display: none;
        height:0;
        width:0;
    }
    aside.banner {
        top: 150px;
    }
}


.news {
    background: #ddd; /*#1f8dd6 same color as selected state on site menu */
    color: #666;
    text-align: center;
    border: 3px white solid;
    line-height: 0.5em;
}

.challenge {
    background: rgb(31,141,214);
    color: #fff;
    border: 3px white solid;
    text-align: center;
}

.challenge-color {
    color: rgb(31,141,214);
}

.challenge a {
    color: #fff;
    font-weight: 100;
}

.newswhite {
    color: #666;
    text-align: center;
    border: 3px white solid;
}



.news.rectangle {
    height: 290px;
    padding-top:25px;
}

/* Apply the .box class on the immediate parent of any grid element (pure-u-*) to apply some padding. */
.l-box {
    padding: 10px;
    margin: auto;
}

.news.highlight {
    background: rgb(239,141,24); /*#1f8dd6 same color as selected state on site menu */
    color: #fff;
}

.news h3 {
    font-weight: 100;
    font-size: 150%;
    line-height: 100%;
    font-family: "omnes-pro", sans-serif;
    color: #666;
    padding-top: 0em;
}

.news h5 {
    font-weight: 100;
    font-size: 100%;
    line-height: 100%;
    font-family: "omnes-pro", sans-serif;
    color: #666;
    padding-top: 0em;
}

.news a {
    color: #666;
}

.news a.highlight {
    color: #FFF;
}
.news a.highlight:hover {
    color: #FFF;
}

.news a:hover {
    color: #333;
}

.highlight h3 {
    color: #fff;
}

.highlight h5 {
    color: #fff;
}

.date {
    width: 90px;
    height: 90px;
    margin: 0 auto;
    border: #999 1px solid;
    text-align: center;
    background-color: #efefef;
    margin-bottom: 20px;
}

.dates div {
    text-align: center;
}
.dates p {
    padding-left: 1em;
    padding-right: 1em;
    font-weight: 100;
    font-size: 120%;
    line-height: 100%;
}

.news .date {
    background-color: white;
}

.news .date div.mon {position:relative; top:55px; font-weight: normal; color: #666; font-size: 20px;}
.news .date div.day {position:relative; top:15px; color: rgb(239,141,24); font-size: 45px;}
.news .date div.daysmall {position:relative; top:20px; color: rgb(239,141,24); font-size: 30px;}
.news .date div.houryear {position:relative; top:58px; color: #999; font-size: 15px;}

.date div.mon {position:relative; top:-35px; font-weight: normal; color: #666; font-size: 20px;}
.date div.day {position:relative; top:-15px; color: rgb(239,141,24); font-size: 45px;}
.date div.day-name {position:relative; top:0px; color: #666; font-size: 15px;}

.sponsors img {
    width: 300px;
    max-width: 90%;
    height: auto;
    max-height: 150px;
}

.sponsors img.smaller {
    max-width: 85%;
    height: auto;
    max-height: 145px;
}

.sponsors img.smallerheight {
    width: auto;
    height: auto;
    max-height: 145px;
}

@media screen and (max-width: 25em) {
    .sponsors img {
        width: 250px;
    }

    .sponsors img.anssi {
        max-width: 200px;
    }
}
.sponsors-news a:hover {
    color: #333;
}
.twitter-news a:hover {
    color: rgb(64,151,236);
}

.sponsors {
    text-align: center;
    padding-left:0;
    padding-right:0;
}
.sponsors img {
    margin-bottom: 20px;
    margin-left: 10px;
    margin-right: 10px;
}

.l-box p.text {
    text-align: justify;
    text-justify: inter-word;
}

.l-box p.text a {
    color: rgb(239,141,24);
}

.content-subhead h2 {
    text-align: left;
}

.chair {
    box-sizing: border-box;
    border: 1px solid white;
    background-color: #efefef;
    
    text-align:center;
    padding:0px;
    color: #666;
}

.chair span {
    display:block;
}

.chair span.name {
    font-size: 120%;
}
.chair span.email {
    font-size: 90%;
}

#map-canvas {
    margin: 0;
    padding: 0;
    height: 400px;
    float: left;
    width: 100%;
}

.papers strong {
    color: #555;
}

.papers li {
    padding-bottom: 10px;
}

.programpane {
    background-color: rgb(83,83,83);
    color: white;
}

.programpane h4 {
    color: white;
}
