body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: Arial;
    font-size: 14px;
    line-height: 1.5em;
}

.video-wrapper {
    position: relative;
    z-index: 9;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}

.video-wrapper iframe {
    position: absolute;
        z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.outline-video-wrapper {
    width: 50%;
    margin: 0 auto;
}

h1, h2, h3, h4, h5 {
    line-height: 1.0em;
}

ul {
    list-style: square;
}

aside {
    background: #3f3f3f;
    color: #fff;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 291px;
}

aside.scroll {
    overflow-y:scroll;
}

aside a {
    color: #fff;
    display: block;
    font-size: 12px;
    line-height: 22px;
    margin: 0 0 10px 0;
    text-decoration: none;
}

aside > ul {
    list-style: none;
    margin: 43px 0 0 0;
    padding: 0;
}

aside ul > li ul {
    display: none;
}

aside ul ul li {
    padding-right: 40px;
}

aside > ul > li > a {
    padding: 0 25px;
}

aside ul > li.visible-item ul {
    display: block;
    margin-left: 30px;
}

aside ul > li.visible-item > a {
    background: #343434;
    padding: 13px 25px;
}

.container {
    padding: 27px 49px 20px 321px;
}

iframe {
    display: block;
    margin: 0 auto;
}

figure {
    background-color: #fcfcfc;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    border: 1px solid #f1f1f1;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    padding: 20px;
    text-align: center;
}

figure figcaption {
    color: #666;
    display: block;
    margin: 0 auto;
    width: 40%;
}

.right {
    float: right;
    margin: 30px 0 0 50px;
    max-width: 100%;
}

h1 {
    font-size: 24px;
    font-weight: 400;
    margin: 0 0 18px 0;
    padding: 0;
}

h2 {
    font-size: 30px;
    margin: 0;
    padding: 40px 0 14px 0;
}

h3 {
    margin: 0 0 25px 0;
    padding: 20px 0 0 0;
    font-size: 18px;
}

h4 {
    font-size: 16px;
    padding-top: 20px;
}

h5 {
    padding-top: 10px;
    font-size: 14px;
    text-transform: uppercase;
}

/* Preface */

.preface {
    background: #d5d5d5;
    display: block;
    list-style: none;
    margin: 0 0 45px 0;
    padding: 40px;
}

.preface a {
    color: #000;
    text-decoration: none;
}

.preface a:hover {
    text-decoration: underline;
}

pre {
    border: 1px solid #ccc;
    border-style: none none none solid;
    word-wrap: break-word;
    word-break: break-all;
    max-width: 100%;
    margin: 15px 0 25px 21px;
    padding: 2px 5px 2px 10px;
    position: relative;
}

pre:before {
    background: #f8f8f8;
    content: "";
    width: 20px;
    position: absolute;
    left: -21px;
    top: 0;
    bottom: 0;
}
.class {
    color: #07A;
    direction: ltr;
    display: inline;
    font-family: Consolas, Monaco, 'Andale Mono', monospace;
    font-size: 14px;
    height: auto;
    line-height: 21px;
    text-align: left;
    text-shadow: #FFF 0px 1px 0px;
    white-space: pre;
    width: auto;
    word-spacing: 0px;
}
table {
    border-collapse: collapse;
    margin-top: 30px;
}
table td, table th {
    border: 1px solid #CFCFCF;
    padding: 7px;
}
table tr:first-child th {
    border-top: 0;
}
table tr:last-child td {
    border-bottom: 0;
}
table tr td:nth-of-type(2n) {
    text-align: center;
}
table tr td:first-child,
table tr th:first-child {
    border-left: 0;
}
table tr td:last-child,
table tr th:last-child {
    border-right: 0;
}
table tr:hover td {
    background-color: #F5F2F0;
}
td[title] {
    cursor: pointer;
}
h3 {
    display: inline-block;
}
.desc {
    margin-top: 30px;
}
table {
    min-width: 40%;
}

table + h3 {
    margin-top: 30px;
}

section { width:1024px; }

section ul li { line-height:28px; }

img { padding:10px; margin:10px; border:1px solid #DDD; }

ul li > ul { list-style-type:circle; }

ul li > ul li > ul { list-style-type:disc; }

aside a { color:white; -webkit-transition:color ease-in 0.2s; }

aside a:hover { color:#149ce3; -webkit-transition:color ease-in 0.2s; }

.special { list-style-type:none; }

.special a { color:#888; font-weight:bold; margin-left:-20px; }

#main-navigation ul li { color:#CCC; }

.alert { background:#F44336; border-radius:4px; color:white; padding:5px 30px; font-weight:bold; letter-spacing:1px; width:50%; }

.alert i { font-size:24px; float:left; padding-right:30px; color:#fad63e; }

.alert span { padding-top:4px; display:inline-block; }
