@import url(https://fonts.googleapis.com/css?family=Exo+2:400,900);

body{
    background:#3DF7EC;
    margin: 0;
    font-family: sans-serif;
    color:#1a1a1a;
    
    line-height: 1.65;
}

/*keeps text at max width, so it's easier for the eye to read*/
.block{
    max-width:640px;
    margin: 0 auto;
    padding: 45px 20px;
    
    position:relative;
}

.block-table{
    display: table;
}
.block-table-cell{
    display: table-cell;
    width: 150px;
}


h2{
    font-size: 2.6em;
    margin-top: 0;
    line-height: 1.1em;
    font-family: 'Exo 2', sans-serif;
    position: relative;
    color: #4F5761;
}

h2::after{
    border-bottom: 2px solid;
    content: "";
    width: 120%;
    position: absolute;
    left: -7em;
    bottom: 0;
    transform: rotateZ(-1.1deg);
}
/*--------------*/
.head{
    height: 90vh;
    /*
    background: url(tdf_2016_logo.png) 52% no-repeat;
    background-size: 60vh;
    */
    background: url(tdf_2016_logo.png) 52% 51% no-repeat;
    background-size: 55vh;
}

.location_date{
    top: 53vh;
    position: relative;
    text-align: center;
    font-family: Consolas, Menlo, monospace;
    color: #fff;
    font-weight: bold;
    font-size: 3vh;
    transition:.277s all;
}

.location_date.dark{
    color:#101010;
}

.location_date::before {
    content: "";
    background: #E2513B;
    width: 100%;
    height: 90%;
    position: absolute;
    z-index: -1;
    left: 0;
    transform: rotateZ(-2deg);
    transition: .277s all;
}

.head canvas {
    z-index: -1;
    position: absolute;
    left: 0;
    top: 0;
}


/*--------------*/
.about{
    text-align: left;
    background-color:#0fda6d;
}

.about .block{
    font-size: 1.2em;
    line-height: 1.5em;
}

.about h4{
    font-size: 0.8em;
    line-height: 0.0em;
    text-align: right;   
}

.about h2{
    font-size: 2.0em;
}

.about .miniblock{
    font-size: 0.7em;
}

.about .section{
    margin-bottom: 50px;
}

/*--------------*/
.register{
    /*text-align: center;
    background-color:#0fda6d;*/
}

.registTextEn{
    font-size: 2.3em;
}

.register .block{
    font-size: 1.0em;
    line-height: 1.0em;
}

.register .miniblock{
    font-size: 0.7em;
}

.register .flexblock{
    font-size: 0.7em;
    
    flex: 1;
    display: flex;
    flex-direction:wrap;
    
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}

.register .flexitem {
    margin: 10px;
}

.register .statetext {
    margin: auto;
    margin-left: 20px;
    margin-right: 20px;
    text-align: center;
}




.register .table{
    font-size: 1.0em;
    line-height: 1.5em;
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
    margin: 20px 20px 20px 0px;
}

.register th{
    padding: 2px;
    text-align: left;
    vertical-align: top;
    color: #333;
    border: 0px solid #b9b9b9;
}

.register td{
    width: 60%;
}

.register th h2{
    font-size: 1.2em;
}

.register tr.title{
    background: #969CAB;
    color:#fff;
}

.register tr.item{
    background: #857C92;
    color:#fff;
}

.register .content{
    width: 100%;
}

.register td{
    padding: 1px 8px;
    text-align: left;
}

.register ul{
    padding-left: 10px;
}

.register .signin{
    margin-bottom: 20px;
}

.signin p{
    font-size: 1.2em;
    line-height: 1.5em;
}

.signin .mini{
    font-size: 0.7em;
    line-height: 1.0em;
}


/*--------------*/

/*--------------*/

.intro{
    color: #fff;
    background-color:#CD0037;
}

/*--------------*/
.registration{
    color: #000;
    background-color:#EF4069;
}

.remote_entry{
    color: #000;
    background-color:#e3ff5f;
}

.location{
    color: #000;
    background-color:#f7be77;
}

/*--------------*/
.social{
    background-color:#3DF7EC;
    text-align:center;
}

.social .block::before {
    content: "";
    background-image: url(symbol/heart.png);
    width: 78px;
    height: 71px;
    position: absolute;
    background-size: contain;
    top: -19px;
    left:0;
}

/*--------------*/
.compos{
    background-color:#e3ff5f;
}

.compos .block{
    /*font-size: 1.2em;
    line-height: 1.5em;*/
}

.compos .rules{
    margin: 0px;
    font-size: 0.7em;
}

.compos .compolist{
    margin: 0px;
}

.compos .detail{
    margin: 0px;
    color: #666;
    font-style: italic;
    font-size: 0.7em;
}

.compos p{
    margin: 4px;
}

.compos h3{
    margin: 30px 0px 0px 0px;
}

.compos h4{
    margin: 0px;
}

.compos .category{
    margin-left: 25px;
}


.aspectWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.aspectWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/*--------------*/
.streaming{
    background-color:#e3ff5f;
}

.schedule h2{
    font-size: 2.5em;
}

.streaming .block{
    font-size: 1.2em;
    line-height: 1.5em;
}

/*--------------*/
.schedule{
    /*text-align: center;
    background-color:#0fda6d;*/
}

.schedule .block{
    font-size: 1.2em;
    line-height: 1.5em;
}

.schedule .timetable{
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
    margin: 20px;
}

.schedule th{
    padding: 2px;
    text-align: left;
    vertical-align: top;
    color: #333;
    border: 0px solid #b9b9b9;
}

.schedule th h2{
    font-size: 1.2em;
}

.schedule tr.event{
    background: #969CAB;
    color:#fff;
}

.schedule tr.deadline{
    background: #857C92;
    color:#fff;
}

.schedule tr.compo{
    background: #90FBA5;
    color:#000;
}

.schedule tr.seminar{
    background: #26E9AD;
    color:#000;
}

.schedule .content{
    width: 100%;
}

.schedule td{
    padding: 1px 8px;
    text-align: left;
}

/*--------------*/
.oldtdf{
    text-align: left;
    background-color:#f7be77;
}

.oldtdf .block{
    font-size: 1.2em;
    line-height: 1.5em;
}

.oldtdf .center{
    text-align: center;
}

/*--------------*/
.contact{
    text-align: left;
    background-color:#f7be77;
}

.contact .block{
    font-size: 1.2em;
    line-height: 1.5em;
}

.contact .center{
    text-align: center;   
}

.contact .small{
    font-size: 0.8em;
}


/*--------------*/
.seminar{
    text-align: left;
    background-color:#0fda6d;
}

.seminar .block{
    font-size: 1.2em;
    line-height: 1.5em;
}

.seminar h4{
    font-size: 1.0em;
    line-height: 0.0em;
    text-align: right;   
}

.seminar .section{
    margin-bottom: 50px;
}


.seminar .author {
    display: flex;    
}

.author .cell1 {
    flex:1;
    padding: 10px;
}
.author .cell2 {
    width: 25%;
}


/*--------------*/
.sponsors{
    text-align: center;
    /*background-color:#0fda6d;*/
    background-color:#dddddd;
}

img.sponsor:hover {
    -webkit-filter: none;
    opacity: 1;
}

.sponsor {
    vertical-align: text-top;
    padding: 20px;
    max-width: 40%;
    max-height: 152px;
    /*-webkit-filter: grayscale(100%) brightness(0.7);*/
    /*opacity: .5;*/
    transition: .277s all;
}
.sponsors h2{
    text-align: left;
}

.sponsors h2::after{
    transform: rotateZ(0.7deg);
}
/*--------------*/
/*fixes start*/
.block-table{
    width:100%;
    text-align:center;
}
/*twitter button vertical align with others on row*/
.block-table-cell #twitter-widget-0{
    vertical-align:bottom;
}
/*fixes end*/

form{
    clear: both;
    width: 95%;
    margin: 0 auto;
}

/*--- CSS for registration section ---*/

form input[type="text"],
form input[type="email"],
form input[type="submit"],
form input[type="file"],
form select,
textarea{
    height: 40px;
    padding: 3px 0 2px 9px;
    font-size: 1em;
    border: 0;
    background: rgba(0, 0, 0, 0.05);
    border-bottom: 3px solid rgba(0, 0, 0, 0.1);
    color: #333;
    width: 100%;
}

textarea{
    min-height: 10em;
}

form select:disabled{
    background: rgba(0, 0, 0, 0.4);    
}

form input[type="submit"]{
    background: #FE492C;
    color: #FFF;
    font-weight: bold;
    line-height: 0;
    font-size: .88em;
    cursor: pointer;
    padding: 19px;
}

.register .alllist{
    margin-top: 20px;
}

.register .people{
    vertical-align:top;
    font-size: 0.8em;
    line-height: 1.0em;
}

.people .person {
    min-width:130px
}

.register .stats{
    /*vertical-align:top;*/
    margin-top: 20px;
    min-width: 150px;
}


span.instruction {
    text-align: right;
    width: 100%;
    display: inline-block;
    font-size: .8em;
    color: #888;
}

span.error {
    /*text-align: right;
    width: 80%;*/
    margin-left: 10px;
    display: inline-block;
    font-size: .8em;
    color: #F22;
}

.remote_entry form .last-updated{
    font-family: monospace;
    background-color: rgba(255,255,255,.4);
    margin-bottom: 1em;
    padding: 1em;
}

.tableblock {
    display: table;
    width:100%;
}

.tableElement1{
    display: table-cell;
    border: 0px
}
.tableElement2{
    display: table-cell;
    border: 0px;
    width: 70%;/* separation ratio */
}
