@import url(http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Ubuntu:400,400italic,700,700italic|Droid+Sans+Mono);


:root {
    --red: #DD3030;
    --blue: #2E35E0;
    --purple: #391c63;
    --gray: #808080;
    --light-purple: #f1ebf9;
}

* {
    box-sizing: border-box;
}

body {
    background: url(../images/main2.png) #fff;
    font-family: "Ubuntu", Verdana, Trebuchet MS, Sans Serif;
    font-size: 15px;
    line-height: 150%;
    margin: 0;
    padding: 0;
}

/* Title bar */
div.titlebar {
    width: 70%;
    margin: 0 auto;
}

header {
    margin-top: 2em;
    display: block;
    text-align: center;
    color: #000000;
    background: linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    border-radius: 1em;
}

header h1 {
    margin-bottom: 0.2em;
    margin-top: 0em;
    padding-top: 0.4em;
    font-size: 230%;
    text-shadow: 0pc 1px 1px #fff;
    line-height: 1.1em;
}

header h2 {
    border: none;
    font-size: 110%;
    margin: 0em
}

header a {
    text-decoration: none
}

header a:hover#a-cis {
    color: var(--red);
    text-decoration: underline;
}

header a:hover#a-uos {
    color: var(--blue);
    text-decoration: underline;
}


/* The rest of the page that isn't the title bar*/
div.main {
    width: 80%;
    background: #ffffff url(../images/bg.png) repeat;
    margin: 2em auto 3em;
    border: thin solid #bbb;
    border-radius: 0.7em;
    box-shadow: 0px 0px 3px 3px #bbb;
    padding: 0 1em;
}

/* Navigation bar as a list */
ul.navlist {
    padding: 0 0 0 0.5em;
    border-bottom: thin solid #dddddd;
    border-bottom-left-radius: 1em;
    border-bottom-right-radius: 1em;
    display: flex;
    column-gap: 1em;
}

ul.navlist li {
    display: inline-block;
    margin-bottom: 1em;
}

ul.navlist li a {
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-weight: bold
}

ul.navlist li a:hover {
    background-color: #1c633a;
    color: #ffffff;
    border-radius: 0.5em;
}

ul.navlist li a.current {
    background-color: #1c633a;
    box-shadow: 0em 0em 0.1em #000;
    color: #ffffff;
    border-radius: 0.5em;
}

/* Main Content Section */
section.main-content {
    display: flex;
    column-gap: 30px;
    align-items: baseline;
}

/* Main text */
div.content {
    width: 100%;
    overflow-wrap: break-word;
}

div.content h2 {
    border-bottom: 2px solid;
    text-shadow: 0pc 1px 1px white;
}

div.content h3 {
    border-bottom: 1px solid #bbb;
}

/* The sidebar */
div.sidebar {
    font-size: 0.9em;
    text-align: left;
    border-radius: 0.7em;
    background: var(--purple);
    background: linear-gradient(-80deg, #391c63 0%, #492c73 80%, #555577 100%);
    box-shadow: 0em 0em 0.1em black;
    padding: 1em;
    padding-top: 0.1em;
    color: white;
    margin-bottom: 1em;
    min-width: 190px;
    width: 30%;
}

div.sidebar h3 {
    margin: 0.6em 0em 0.4em 0;
    padding: 0 0 0 0;
    font-size: 150%
}

/* Make links a sensible colour */
a {
    color: inherit
}

div.main a:hover {
    color: var(--purple);
    text-decoration: none;
}

/* Make definition lists stand out */
dt {
    font-style: italic
}

dd {
    margin-bottom: 1em
}

dd p {
    margin-top: 0em
}

dl.events dd {
    margin-left: 1em
}

dl.contact {
    font-size: 90%
}

dl.contact dd {
    margin-left: 1em
}

div.footer {
    color: #aaa;
    font-size: 0.8em;
    margin: 3em 0 0.5em;
}

table {
    box-shadow: 0em 0em 0.1em black;
    border-radius: 0.1em;
    padding: 0.5em;
    background-color: #eee;
    width: 100%
}

thead th {
    border-bottom: solid thin #ddd;
}

td {
    vertical-align: top;
    margin-top: 1em
}

tr.odd {
    background-color: #ddd;
}

tr.even {
    background-color: #eee;
}

div.centered {
    text-align: center;
}

img.fullimage {
    max-width: 100%;
    height: auto;
}

a.hoverlink {
    text-decoration: none;
}

a.hoverlink:hover::after {
    content: "\01F517";
}

div.people {
    display: flex;
    flex-wrap: wrap;
}

div.person {
    display: flex;
    align-items: center;
    flex: 50%;
}

@media (max-width: 800px) {
    div.person {
        display: flex;
        align-items: center;
        flex: 100%;
    }
}

div.person-image {
    flex: 33:33%;
    padding: 5px;
}

.people-image {
  border-radius: 50%;
  object-fit: cover;
}

div.person-description {
    flex: 66:67%;
    padding: 5px;
}

.grayish {
    color: var(--gray);
}

.recent-pubs h3.title {
    border-bottom: none;
    font-size: 100%;
    margin-bottom: 1px;
}

.recent-pubs p {
    margin-top: 1px;
}

.recent-pubs p.type {
    font-size: 80%;
}

/* We get some empty links from the RSS for some reason; make them not look like links */
.recent-pubs a.link[href="#"] {
    text-decoration: none;
    cursor: default;
}


div.recent-pubs {
   border-radius: 0.7em;
   background: var(--light-purple);
   padding: 1em;
   padding-top: 0.1em;
   margin-bottom: 1em;
   min-width: 190px;
}

/* Media Queries */
@media screen and (max-width: 960px) {
    div.main {
        padding: 0;
    }

    ul.navlist {
        margin: 1em 1em 0.5em;
        padding-bottom: 0.5em;
        flex-direction: column;
        align-items: center;
        row-gap: 5px;
    }

    section.main-content {
        flex-direction: column;
        align-items: center;
    }

    div.sidebar {
        width: 100%;
        border: none;
        border-radius: 0;
        margin-bottom: 0;
    }

    div.content {
        padding: 0 1em 1em;
    }

    div.footer {
        padding: 0 0 0 1em;
    }
}

@media screen and (max-width: 560px) {
    div.main {
        width: 100%;
        margin: 2em 0 0;
        border: none;
        box-shadow: none;
        padding-top: 1em;
    }

    div.footer {
        padding-bottom: 0.5em;
        margin-bottom: 0;
    }

}
