h1,
h2,
h3,
p,
ul,
ol,
dl,
table,
img {
    margin-top: 1em;
}
h1,
h2,
h3,
p,
li,
dt,
dd,
th,
td {
    font-size: 1.6em;
    line-height: 1.3;
}
h1,
h1 a,
h2,
h2 a,
h3,
h3 a {
    color: #333;
}
h1,
h2,
h3 {
    line-height: 1.1;
    font-weight: bold;
}
h1 {
    font-size: 3em;
}
h2 {
    font-size: 2.2em;
}
h3 {
    margin-top: 1.4em;
}
h3 + * {
    margin-top: 0.6em;
}
h1 a,
h2 a,
h3 a {
    text-decoration: none;
}
ul ul,
ul ol,
ol ul,
ol ol {
    margin-top: 0;
}
dl {
    margin-top: 1.4em;
}
li,
dt,
dd {
    margin-top: 0.1em;
    line-height: 1.1;
}
li {
    margin-top: 0.6em;
    margin-left: 1.5em;
}
li li {
    font-size: 1em;
}
ul li {
    list-style-type: disc;
}
ol li {
    list-style-type: decimal;
}
dt {
    margin-top: 0.9em;
    font-size: 1em;
    font-weight: bold;
    color: #666;
    text-transform: uppercase;
}
table {
    margin-top: 3em;
}
th,
td {
    padding: 0.4em 0.5em;
    border: 1px solid #BBB;
    line-height: 1.2;
    text-align: left;
}
th {
    padding-top: 0.6em;
    background-color: #CCC;
    font-size: 1.1em;
    font-weight: bold;
    vertical-align: bottom;
}
tr:nth-child(even) td {
    background-color: #EEE;
}
table li {
    font-size: 1em;
}
strong {
    font-weight: bold;
}
em {
    font-style: italic;
}
small {
    font-size: 0.8em;
}
.parenthesis::before {
    content: "(";
    margin-right: -3px;
}
.parenthesis::after {
    content: ")";
    margin-left: -3px;
}
.no-break {
    white-space: nowrap;
}
img {
    max-width: 100%;
    height: auto;
    -webkit-border-radius: 0.6em;
    -moz-border-radius: 0.6em;
    border-radius: 0.6em;
}
img.document-thumbnail {
    border: 1px solid #AAA;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
a {
    color: #444;
    text-decoration: underline;
}
a:hover,
a:focus {
    color: #666;
    text-decoration: underline;
}
.button,
.button:hover,
.button:focus {
    color: white;
    text-decoration: none;
}
.button {
    display: inline-block;
    padding: 0.5em 1em;
    background-color: #003A69;
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255, 255, 255, 0.1)), to(transparent));
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1), transparent);
    background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.1), transparent);
    background-image: -ms-linear-gradient(top, rgba(255, 255, 255, 0.1), transparent);
    background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.1), transparent);
    -webkit-border-radius: 0.4em;
    -moz-border-radius: 0.4em;
    border-radius: 0.4em;
}
.button:hover,
.button:focus {
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255, 255, 255, 0.2)), to(rgba(255, 255, 255, 0.1)));
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1));
    background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1));
    background-image: -ms-linear-gradient(top, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1));
    background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1));
}
.highlight {
    background-color: #FFF7AC;
}
.flag {
    padding: 0.1em 0.3em;
    background-color: #BBB;
    -webkit-border-radius: 0.2em;
    -moz-border-radius: 0.2em;
    border-radius: 0.2em;
    font-size: 0.8em;
    font-style: normal;
    color: white;
}
.callout {
    margin-top: 1em;
    padding: 0.4em 0.8em;
    background-color: #DDD;
    background-image: -webkit-gradient(linear, 0% 0%, 100% 0%, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 1)));
    background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    font-size: 1.3em;
}
.callout.emphasize {
    background-color: #8ACAE9;
}
table.schedule th.track,
table.schedule td {
    font-size: 1.5em;
}
table.schedule td.timespan,
table.schedule tr:nth-child(even) td.timespan {
    background-color: #F5F5F5;
}
table.schedule td.timespan {
    font-size: 1.3em;
}
table.schedule .speaker,
table.schedule .speaker a {
    color: #777;
}
table.schedule .speaker a:hover,
table.schedule .speaker a:focus {
    color: #999;
}
table.schedule .room,
table.schedule .speaker {
    display: block;
}
table.schedule td p {
    margin-top: 0;
    font-size: 0.9em;
}
.categories {
    margin-top: 0.4em;
}
table.schedule .categories {
    margin-top: 0;
}
.categories .category {
    display: inline-block;
    margin-top: 0.3em;
    margin-left: 0;
    margin-right: 0.3em;
    list-style: none;
}
#content.event-2012 .categories .category.business .flag {
    background-color: #5A8E22;
}
article.space,
article.session,
article.speaker {
    padding-bottom: 2em;
}
article.space,
article.speaker {
    margin-top: 2em;
}
article.session,
article.speaker,
article.space h2 {
    padding-left: 20px;
    padding-right: 20px;
}
article.session,
article.speaker {
    border-top: 1px dotted #BBB;
}
article.session:first-of-type {
    border-top: none;
}
article.speaker small.twitter {
    margin-left: 16px;
}
article.space h2 {
    margin-top: 0;
    padding-top: 0.4em;
    padding-bottom: 0.4em;
    background-color: #999;
    color: white;
}
article.session p.level {
    margin-top: 0;
    font-size: 1.5em;
    color: #555;
}
@media all and (max-width: 479px) {
    table.schedule {
        font-size: 0.4em;
        -webkit-text-size-adjust: none;
    }
}
@media all and (min-width: 480px) and (max-width: 599px) {
    table.schedule {
        font-size: 0.6em;
    }
}
@media all and (min-width: 600px) and (max-width: 767px) {
    table.schedule {
        font-size: 0.75em;
    }
}
@media all and (min-width: 768px) and (max-width: 1023px) {
    table.schedule {
        font-size: 0.9em;
    }
}
