body {
    max-width: 950px; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 20px;
    font-family: Helvetica, sans-serif;
}

#whoami {
    display: inline;
    font-size: 10px;
}

#header {
    margin-top: -15px;
    padding-bottom: 0px;
    margin-bottom: -5px;
    border-bottom: 1px solid #000000;
}

.header-left {
    display: inline-block;
    margin-bottom: -10px;
}

.header-right {
    display: inline-block;
    float: right;
    margin-top: 37px;
    font-size: 15px;
}

.header-label {
    display: inline-block;
    padding-right: 10px;
    font-weight: bold;
}

.header-info {
    display: inline-block;
}


#content {
    float: left;
    max-width: 700px;
    padding-bottom: 30px;
}

#content.full {
    max-width: 100%;
}

#body {
    float: left;
    width: 100%;
}

.right {
    float: right;
    width: 10%;
    padding-bottom: 5px;
}

#nav {
    margin-top: 10px;
    font-variant: small-caps;
}

#courses {
    padding-bottom: 5px;
}


h1 {
    display: inline-block;
    margin-top: 33px;
    margin-bottom: 0px;
    font-size: 33px;
}

h2 {
    display: inline-block;
    /*margin-top: 20px;*/
    margin-bottom: -2px;
    /*font-size: 20px;*/
    font-size: 140%;
}

a:link, a:visited {
    color: #000000;
    font-weight: bold;
}
a:hover {
    color: #C0C0C0;
}

div.level_one {
    /* margin-left: 20px; */
    /* margin-top: 10px; */
    margin-bottom: 10px;
    padding-top: 10px;
    /* padding-left: 10px; */
    padding-right: 10px;
    line-height: 115%;
    /* border: 1px solid #000000; */
}

div.semester {
    display: block;
    margin-top: 10px;
    padding: 5px;
    border: 1px solid #000000;
    background-color: #EEEEEE;
    font-size: 12px;
}

div.courses {
    display: block;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 5px;
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
    border-bottom: 1px solid #000000;
    font-size: 12px;
}

div.courses a {
    text-decoration: none;
}

#right {
    float: right;
    max-width: 240px;
}

@media screen and (max-width: 975px) {
    #content {
        max-width: 100%;
    }
    #right {
        margin-left: auto;
        margin-right: auto;
        float: none;
    }
}
@media screen and (max-width: 400px) {
    .header-right {
        display: none;
    }
}

#office-hours {
    margin-bottom: -15px;
}

.office-hours {
    display: block;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 7px;
    padding-bottom: 5px;
    margin-top: 5px;
    border: 1px solid #000000;
    font-size: 12px;
}

ul.office-hours {
    margin-top: 8px;
    list-style-type: none;
}

ul.office-hours li {
    line-height: 150%;
}

.office-hours .day {
    font-weight: bold;
    min-width: 80px;
    display: inline-block;
}

div.office-hours a {
    text-decoration: none;
}

div.role {
    font-size: 10px;
    padding-bottom: 5px;
}

.level_one ul li:first-child {
    margin-top: -5px;
}

.level_one ul li:last-child {
    margin-bottom: -5px;
}


.level_one ul li {
    margin-bottom: 5px;
}

.to:before {
    content: " \2013  "
}
.to {
    display: inline;
}

#proximity {
    font-style: italic;
}

.sidenote-number { counter-increment: sidenote-counter; }

.sidenote-number:after, .sidenote:before { content: counter(sidenote-counter) " ";
                                           position: relative;
                                           vertical-align: baseline;
                                           color: #f00000; }

.sidenote-number:after { content: counter(sidenote-counter); 
                         font-size: 0.7rem;
                         top: -0.5rem;
                         left: 0.1rem; }

.sidenote:before { content: counter(sidenote-counter) ". ";
                   position: absolute;
                   /* 100% refers to the computed width of the number, so this transform
                    * shifts the number just outside the left edge of the sidenote box,
                    * with a buffer of 0.25rem, no matter how many digits the number has. */
                   -webkit-transform: translateX(-100%) translateX(-0.25rem);
                   -ms-transform: translateX(-100%) translateX(-0.25rem);
                   transform: translateX(-100%) translateX(-0.25rem); }



.sidenote, .marginnote { float:right;
                         clear: right;
                         margin-right: -36%;
                         width: 30%;
                         margin-top: 0;
                         margin-bottom: 0;
                         font-size: 0.8rem;
                         line-height: 1.2;
                         vertical-align: baseline;
                         position: relative; }



.sidenote:before { content: counter(sidenote-counter) ". ";
                   position: absolute;
                   /* 100% refers to the computed width of the number, so this transform
                    * shifts the number just outside the left edge of the sidenote box,
                    * with a buffer of 0.25rem, no matter how many digits the number has. */
                   -webkit-transform: translateX(-100%) translateX(-0.25rem);
                   -ms-transform: translateX(-100%) translateX(-0.25rem);
                   transform: translateX(-100%) translateX(-0.25rem); }


input.margin-toggle { display: none; }

label.sidenote-number { display: inline; }

label.margin-toggle:not(.sidenote-number) { display: none; color: #ccc; }
@media(max-width: 760px) { label.margin-toggle:not(.sidenote-number) { display: inline; }
                           .sidenote, .marginnote { display: none; }
                           .margin-toggle:checked + .sidenote, 
                           .margin-toggle:checked + .marginnote { display: block;
                                                                  float: left;
                                                                  left: 1rem;
                                                                  clear: both;
                                                                  width: 95%;
                                                                  margin: 1rem 2.5%;
                                                                  vertical-align: baseline;
                                                                  position: relative; }
}
