.speaker {
    margin: 0 0 3em;
    padding: 1em 0 0;
    clear:both;
}

.talk_tip .speaker {
    padding: 0;
    margin: 0;
}

.speaker .headshot {
    float: left;
    margin: 0;
    overflow: hidden;
    box-shadow: 0 0 10px #666666;
}

.talk_tip .speaker .headshot {
    margin: 10px 15px 10px 10px;
}

.talk_tip .speaker h3 {
    line-height: normal;
    margin-bottom: -20px;
}

#p_talk h5 {
    font-size: 120%;
}

.speaker .info {
    margin-left: 220px;
}

.talk_tip .speaker .info {
    margin-left: 0;
}

.speaker h3 {
    font-size: 2em;
    font-weight: 400;
    margin: 0 1em -5px 0.7em;
    padding: 0.2em 0 0;
}

.speaker h4 {
    color: gray;
    font-style: italic;
    font-weight: normal;
    margin: 1em 1em 1.5em 1.5em;
    padding: 0 0 5px 2em;
}

.speaker h3 .twitter {
    padding-left: 0.5em;
    font-size: 60%;
}

.talk_tip .speaker h4 {
    margin-left: 120px
}

.speaker h5 {
    margin: 0 0 3px 0;
    padding: 0 0 3px 0;
    font-weight: normal;
    font-size: 130%;
    border-bottom: 1px solid gray;
}

.talk_tip #p_talk {
    clear: both;
    padding: 1em;
}

.speaker dl {
    margin: 1em 1em 1.5em 1.5em;
}

.speaker dl dt {
    float: left;
    font-weight: bold;
}

.speaker dl dd {
    display: table-cell;
    padding-left: .8em;
}

.tag {
    font-variant: small-caps;
    font-weight: normal;
    border-radius: 6px;
    background-color: gray;
    color: white;
    margin: 0 0 5px 0;
    padding: 3px 5px;
    min-width: 6em;
    text-align: center;
}

.tag.small {
    width: 1.2em;
    min-width: 0;
    display: inline-block;
    padding: 1px 3px;
    font-size: 70%;
    margin: 2px 5px 2px 0;
}
.tag.small.family {
    width: 3em;
}

.f_wrap {
    display: inline-block;
    whitespace: nowrap;
}

.talk_tip .tag {
    float: right;
    margin: 0em 0.6em 0.6em 0;
}

.tag.session {
    background-color: gray;
}
.tag.short {
    background-color: #CCC;
}
.tag.tutorial, .tag.workshop {
    background-color: black;
}
.tag.keynote {
    background-color: #534c58;
}
.tag.plenary {
    background-color: #000000;
}
.tag.beginner  {
    background-color: #534c58;
}
.tag.advanced {
    background-color: #9C3A41;
}

.tag.wordpress {
    background-color: #0B9FD1;
}
.tag.drupal {
    background-color: #2078BC;
}
.tag.magento {
    background-color: #EF672F;
}
.tag.joomla {
    background-color: #E31F21;
}
.tag.zendframework {
    background-color: #69B44A;
}
.tag.symfony {
    background-color: #353436;
}
.tag.laravel {
    background-color: #F17070;
}
.tag.family {
    background-color: #2194CB;
}

div.t_talk img {
    border-radius: 4px !important;
    box-shadow: 0 0 2px #585858;
}

table.day {
    border-collapse: collapse;
    border: none;
    border-bottom: 3px solid #F9D06B;
    width: 100%;
    margin-bottom: 2em;
}

table.day td, table.day th {
    font-size: 12px;
}

table.day tbody th {
    vertical-align: middle;
}

table.day p {
    line-height: normal;
}

table.day a {
    text-decoration: none;
}

table.day caption {
    background: #5B4479;
    text-align: left;
    font-size: 150%;
    color: white;
    padding: 0.5em 1em;
}

table.day thead {
    background: #F9D06B;
    font-weight: bold;
    color: #5E4780;
}

table.day thead th:first-child {
/*    width: 12%;  */
}

table.day thead th {
/*    width: 17.5%; */
/*    width: 1em; */
}

table.day tbody tr th:first-child {
    white-space: nowrap !important;
    font-size: 90%;
}

table.day tbody tr td img {
    float: left;
    margin-right: 10px;
}

table.day tbody tr td {
    padding: 0.8em;
}

table.day tbody tr td .t_title {
    padding: 0;
    margin: 5px 0;
}

table.day tbody tr td {
    position: relative;
}

table.day tbody tr td div.t_sblock {
    position: absolute;
    bottom: 8px;
    width: 100%;
}
/* Hack-fix:  Ensure that we have 50 spare pixels after the title for the floating headshot */
table.day tbody tr td div.t_title::after {
    content:'';
    display: block;
    height: 30px;
    width: 1px;
}

table.day tbody tr td p.t_speaker {
    padding: 0;
    margin: 0 0 0 5px;
    font-size: 80%;
    font-style: italic;
    display: table-cell;
    vertical-align: middle;
    height: 30px;
}

table.day tbody tr td.type_text {
    text-align: center;
}

table.day tbody tr td.type_3 { /* Keynote */
    padding-left: 100px;
    padding-right: 100px;
}

table.day div.t_talk:after {
    /* Clearfix */
    display: table;
    content: "";
    clear: both;
}

table.day tbody tr td.type_3 div.t_title {
    font-size: 120%;
    width: 500px;
    float: right;
}

table.day tbody tr td.type_3 p.t_speaker {
    font-size: 100%;
    float: left;
    clear: left;
    display: block;
    width: 80px;
    text-align: center;
    padding: 0;
    margin: 5px 0 0 0;
    white-space: nowrap;
}

table.day tbody tr td.type_3 div.t_sblock {
    bottom: -10px;
}

table.day tbody tr td.type_3 img {
    padding: 0;
    margin: 0 5px;
}

table.day tbody tr div.t_multi {
    margin: 0 5px;
    float: left;
}

table.day tbody tr div.t_multi img {
    margin: 0;
}

table.day tbody tr td.t_full.type_text, table.day tbody tr td.t_full.type_text a {
    font-size: 110%;
    font-weight: bold;
}

table.day tbody tr {
    background: white;
}

table.day tbody tr:nth-child(even) {
    background: #EDEDED;
}

.f_legend {
    font-size: 80%;
    width: 100%;
    text-align: center;
}

.ui-widget.talk_tip {
    max-width: 500px !important;
    border-radius: 6px 6px 6px 6px !important;
}

.ui-widget.talk_tip p, .ui-widget.talk_tip h5 {
    font-size: 90%;
    line-height: normal;
}

.ui-widget.talk_tip p {
    padding-bottom: 0;
    margin-bottom: 0;
}

div.content_wrap div.main_border div.main div.container_16 div.grid_10 {
    overflow: visible !important;
}