
body, html {
    font-family: sans-serif;
}

body {
    padding: 0px;
    margin: 0px;
    font-size: .9rem;
    line-height: 1.5;
}

h1, h2 {
    font-family: "Linux Libertine", Georgia, Times, serif;
    font-weight: normal;
    margin: 10px 0px;
    border-bottom: 1px solid #bbb;
    display: grid;
}

h1 span, h2 span {
    display: contents;
}

.box {
    background-color: #f4f4ff;
    border: 1px solid #bbb;
    padding: 10px;
    font-size: .8rem;
    line-height: 2em;
}

.box h2 {
    margin: 0px;
}

.site {
    display: flex;
    flex-direction: column;
}

.sidebar {
    display: flex;
    flex-direction: row;
    background-color: #f4f4ff;
    font-size: .8rem;
    border-bottom: 1px solid #a7d7f9;
    overflow: auto;
}

.sidebar ul {
    margin: 0px;
    padding: 20px;
    list-style-type: none;
}

@media only screen and (min-width: 768px) {
    .infobox {
        margin-left: 15px;
    }
    .site {
        display: flex;
        flex-direction: row;
    }
    .sidebar {
        overflow: unset;
        display: flex;
        flex-direction: column;
        border-right: 1px solid #a7d7f9;
    }
    main {
    }
}

.contents {
    display: inline-block;
    padding-right: 30px;
}

.box h3 {
    text-align: center;
    font-size: .9rem;
}

main {
    min-width: 230px;

    padding: 10px 30px;
}

main iframe {
    min-width: 300px;
    max-width: 350px;
}

.show {
    display: flex;
    flex-wrap: wrap;
}

.show div {
    padding: 10px;
}

.contents h3 {
    text-align: center;
    margin: 0px;
    margin-bottom: 5px;
}

.infobox {
    font-family: arial;
    margin-top: 10px;
    float: right;
    max-width: 250px;
}

.infobox h3 {
    text-align: center;
    margin: 0px;
    margin-bottom: 5px;
}

.infobox img {
    display: block;
    width: 168px;
    margin: 0 auto;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

.infobox table tr th {
    vertical-align: text-top;
    text-align: left;
}

quote {
    font-style: italic;
    margin-left: 2em;
    display: block;    
}

.author {
    text-align: right;
}


article {
    width: 36em;
}

article p, article li {
    width: 36em;
    line-height: 1.5em;
    font-size: 1.1em;
}

.img {
    background-color: #eee;
    padding: 10px;
    max-width: 500px;
    font-size: .8em;
}

.img img {
    width: 100%;
}
.banner {
    display: block;
    background-color: #eee;
    border-bottom: 1px solid #ddd;
    width: 100%;
    padding: 10px;
}

.demo {
    color: #999;
}

ol {
    counter-reset: item;
}
ol li {
    display: block;
    position: relative;
}
ol li:before {
    content: counters(item, ".")".";
    counter-increment: item;
    position: absolute;
    margin-right: 100%;
    right: 10px; /* space between number and text */
}

ol li.sec:before{
    font-size: 1.5em;
}

ol li.sec2:before{
    font-size: 1.1em;
}

a {
    text-decoration: none;
    color: #0645ad;
}

a:hover {
    text-decoration: underline;
}

h2 a, h3 a {
    color: black;
}

h2 a:hover, h3 a:hover {
    text-decoration: none;
}

cite a {
    color: green;
}

cite {
    color: green;
}

cite:hover {
    cursor: pointer;
    text-decoration: underline;
}


#gravity { width: 100%; margin: 5px 0; border-spacing: 5px; }
  #gravity td { text-align: center; vertical-align: middle; padding: 5px 0; background-color: #d0d0d0; width: 33%; }
  #gravity a { }
    #gravity a:hover { color: #505050; background: none; }

.red .tipsy-inner { background: red; }
.red .tipsy-arrow-n { border-bottom-color: red; }
.red .tipsy-arrow-s { border-top-color: red; }
.red .tipsy-arrow-e { border-left-color: red; }
.red .tipsy-arrow-w { border-right-color: red; }

:target {
   background-color: #ffa;
}

.tipsy { font-size: 10px; position: absolute; padding: 5px; z-index: 100000; }
  .tipsy-inner { background-color: #000; color: #FFF; max-width: 200px; padding: 5px 8px 4px 8px; text-align: center; }

  /* Rounded corners */
  .tipsy-inner { border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
  
  /* Uncomment for shadow */
  /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/
  
  .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; }
  
  /* Rules to colour arrows */
  .tipsy-arrow-n { border-bottom-color: #000; }
  .tipsy-arrow-s { border-top-color: #000; }
  .tipsy-arrow-e { border-left-color: #000; }
  .tipsy-arrow-w { border-right-color: #000; }
  
  .tipsy-n .tipsy-arrow { top: 0px; left: 50%; margin-left: -5px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; }
    .tipsy-nw .tipsy-arrow { top: 0; left: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;}
    .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none;  border-left-color: transparent; border-right-color: transparent;}
  .tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-style: solid; border-bottom: none;  border-left-color: transparent; border-right-color: transparent; }
    .tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; border-top-style: solid; border-bottom: none;  border-left-color: transparent; border-right-color: transparent; }
    .tipsy-se .tipsy-arrow { bottom: 0; right: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; }
  .tipsy-e .tipsy-arrow { right: 0; top: 50%; margin-top: -5px; border-left-style: solid; border-right: none; border-top-color: transparent; border-bottom-color: transparent; }
  .tipsy-w .tipsy-arrow { left: 0; top: 50%; margin-top: -5px; border-right-style: solid; border-left: none; border-top-color: transparent; border-bottom-color: transparent; }

.metadata {
    background-color: #eef;
    padding: 5px;
}

.highlight {
    background-color: yellow;
    padding: 3px;
}

p.labels span {
    color: black;
    font-style: normal;
    background-color: #dce6f8;
    padding: 5px 10px;
    border-radius: 3px;
    margin: 30px 0px;
    line-height: 30px;
}