:root{
    --maincolor: #444;
    --lgraycolor: #EEE;
    --dgraycolor: #888;
    --leadcolor: RGB(0, 45, 105);
}

body {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 100%;
    background-color: #FAFAFA;
}

b, strong {
    font-weight: bold;
}

i {
    font-style: italic;
}

/* cas-session-container */

#cas-session-container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 0.6em 0.7em 0.65em 0.7em;
    border-bottom: 0.1em solid var(--lgraycolor);
    color: var(--dgraycolor);
    font-size: 0.8em;
    line-height: 135%;
    background-color: #FAFAFA;
}

#cas-session-container b,
#cas-session-container a {
    color: var(--maincolor);
    text-decoration: none;
}

#cas-session-container a:hover {
    text-decoration: underline;
}

#cas-session-container img.flag {
    display: inline-block;
    height: 1em;
    vertical-align: middle;
}

@media all and (max-width: 900px) {
    #cas-session-container {
        display: block;
    }
}

/* main-header */

#main-header {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 0.25em solid var(--leadcolor);
    padding: 0 1em;
    background-color: white;
}

#main-header .main-header-logo {
    display: flex;
    justify-content: flex-start;
    flex-flow: row nowrap;
    align-items: center;
}

#main-header .main-header-logo img {
    padding: 0.5em;
    height: 6.5em;
    object-fit: cover;
    object-position: 0 0;
}

#main-header .main-header-logo h1 {
    height: 2em;
    border-left: 0.05em solid var(--lgraycolor);
    font-size: 2em;
    line-height: 2em;
    padding: 0 0.5em;
    color: var(--dgraycolor);
}

#main-header .main-header-menu {
    padding: 2em;
}

#main-header .main-header-menu ul {
    line-height: 2.5em;
}

#main-header .main-header-menu ul li {
    display: inline-block;
}

#main-header .main-header-menu ul li a {
    text-decoration: none;
    color: var(--leadcolor);
    padding: 0.5em 0.75em;
    -webkit-border-radius: 0.35em;
    -moz-border-radius: 0.35em;
    border-radius: 0.35em;
    text-transform: uppercase;
}

#main-header .main-header-menu ul li a.active {
    background-color: var(--lgraycolor);
}

@media all and (max-width: 1100px) {
    #main-header {
        font-size: 0.8em;
        padding: 0;
    }

    #main-header .main-header-logo img {
        width: 5em;
        margin-right: 0.5em;
    }
}

@media all and (max-width: 750px) {
    #main-header {
        flex-flow: column nowrap;
        justify-content: center;
        font-size: 0.8em;
    }

    #main-header .main-header-menu {
        display: block;
        text-align: center;
    }

    #main-header .main-header-menu ul {
        margin-top: -1.5em;
        margin-bottom: -0.5em;
    }
}

/* main-footer */

#main-footer {
    padding: 1em 2.5em 2.5em 2.5em;
    clear: both;
}

#main-footer p {
    color: var(--dgraycolor);
    font-size: 0.8em;
    line-height: 1.35em;
}

#main-footer p a {
    color: var(--dgraycolor);
}

#main-footer p a:hover {
    color: var(--leadcolor);
}

@media all and (max-width: 1000px) {
    #main-footer {
        padding: 1em;
    }
}

/* global-warnings */

#global-warning {
    background-color: #ffe0e0;
    padding: 1em 2.5em 1.2em 2.5em;
    line-height: 1.25em;
}

@media all and (max-width: 1000px) {
    #global-warning {
        padding: 1em;
    }
}

/* person-jump-filter */

#jump-filter {
    background-color: var(--lgraycolor);
    padding: 1em 2.5em;
}

#jump-filter form {
    max-width: 90em;
    position: relative;
}

#jump-filter h2 {
    font-size: 1.2em;
    color: var(--leadcolor);
    font-weight: bold;
    margin-bottom: 0.75em;
}

#jump-filter input {
    box-sizing: border-box;
    width: 100%;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.2em;
    background-color: #FAFAFA;
    border: 0.1em solid var(--dgraycolor);
    padding: 0.5em 0.65em;
}

#search-suggestions{
    list-style: none;
    width: 100%;
    max-width: 90em;
    position: absolute;
    z-index: 1000;
}

#search-suggestions li a {
    display: block;
    text-decoration: none;
    background-color: var(--lgraycolor);
    border-bottom: 0.05em solid var(--dgraycolor);
    color: var(--maincolor);
    padding: 0.65em 0.75em;
    line-height: 1.25em;
}

#search-suggestions li a:hover,
#search-suggestions li.selected a {
    background-color: white;
}

#search-suggestions li a b {
    font-weight: bold;
    color: var(--leadcolor);
}

#search-suggestions li a span {
    display: block;
    font-size: 0.8em;
    line-height: 1.35em;
    margin-top: 0.25em;
}

#search-suggestions.with-photo a {
    min-height: 3em;
    padding-left: 4.5em;
}

#search-suggestions.with-photo img {
    float: left;
    margin-left: -3.75em;
    width: 3em;
    height: 3em;
    -webkit-border-radius: 1.5em;
    -moz-border-radius: 1.5em;
    border-radius: 1.5em;
}

@media all and (max-width: 1000px) {
    #jump-filter {
        padding: 1em;
    }
}

/* main */

main {
    padding: 1.5em 2.5em 0.5em 2.5em;
}

main header {
    margin-bottom: 1.5em;
}

main header h1 {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 0.5em;
}

main header h1 span {
    font-weight: normal;
    color: var(--dgraycolor);
}

main header h2 {
    margin-top: -0.5em;
    font-size: 1.2em;
    line-height: 1.25em;
}

main header h2 a {
    color: var(--dgraycolor);
    text-decoration: none;
    border-bottom: 0.1em dotted var(--dgraycolor);
}

main header h2 a:hover {
    border-bottom-style: solid;
}

@media all and (max-width: 1000px) {
    main {
        padding: 1em;
    }
}

main .list {
    max-width: 90em;
}

main .list table {
    width: 100%;
    margin: 1em 0;
    line-height: 1.35em;
}

main .list table a {
    color: var(--leadcolor);
    text-decoration: none;
    border-bottom: 0.1em dotted var(--dgraycolor);
}

main .list table a:hover {
    border-bottom-style: solid;
}

main .list table tr:nth-child(even) {
    background-color: white;
}

main .list table th,
main .list table td {
  padding: .5em;
  text-align: left;
}

main .list table thead th {
    background-color: var(--leadcolor);
    color: white;
}

main .list table .note {
    display: block;
    font-size: 0.8em;
    line-height: 1.35em;
    margin-bottom: 0.25em;
}

main .list table img.profile-photo {
    vertical-align: top;
    margin-bottom: 0;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
}

main .list table img.logo-orcid {
    height: 1.5em;
    vertical-align: middle;
    margin-right: 0.5em;
}

@media screen and (max-width: 1000px) {
    main .list table {
        margin-bottom: 0.5em;
    }

    main .list table thead {
      display: none;
    }
    
    main .list table tr {
      border-bottom: 0.1em solid var(--lgraycolor);
      display: block;
      margin-bottom: 0.5em;
      background-color: white;
    }
    
    main .list table td {
      border-bottom: 0.05em solid var(--lgraycolor);
      display: block;
      font-size: .8em;
      padding-left: 10em;
      min-height: 1.5em;
    }
    
    table td::before {
      content: attr(data-label);
      float: left;
      margin-left: -10em;
      padding-left: 0.75em;
      color: var(--leadcolor);
      font-weight: bold;
      text-transform: uppercase;
    }
    
    table td:last-child {
      border-bottom: 0;
    }
}

main .list .page-navigator li {
    display: inline-block;
    margin-right: 0.25em;
    line-height: 135%;
}

main .list .page-navigator li a {
    text-decoration: none;
    color: var(--dgraycolor);
    border: 0.05em solid var(--dgraycolor);
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    padding: 0.25em;
    text-align: center;
    line-height: 1.5em;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
}

main .list .page-navigator li a:hover,
main .list .page-navigator li a.active {
    background-color: var(--leadcolor);
    color: white;
}

main .tree {
    max-width: 90em;
}

main .tree > ul {
    font-size: 1.15em;
    line-height: 2em;
}

main .tree a {
    color: var(--leadcolor);
    text-decoration: none;
    border-bottom: 0.1em dotted var(--dgraycolor);
}

main .tree a:hover {
    border-bottom-style: solid;
}

main .tree a.no-border,
main .tree a.no-border:hover {
    border-bottom: none;
}

main .tree ul ul {
    margin-left: 1.5em;
}

main .tree ul ul ul {
    margin-left: 3em;
}

main .tree ul ul li {
    padding: 0 0.5em 0 2em;
    border-left: 0.1em solid var(--leadcolor);
}

main .tree ul ul li:last-child {
    border-left: none;
}

main .tree ul ul li:before {
    position: relative;
    top: -0.3em;
    height: 1em;
    width: 1.5em;
    margin-right: -1.5em;
    color:white; 
    border-bottom: 0.1em solid var(--leadcolor);
    content: "";
    display: inline-block;
    left: -2.1em;
}

main .tree ul ul li:last-child:before {
    left: -2em;
    border-left: 0.1em solid var(--leadcolor);   
}

@media screen and (max-width: 1000px) {
    main .tree ul ul {
        margin-left: 1em;
    }

    main .tree ul ul ul {
        margin-left: 1em;
    }
}

@media screen and (max-width: 600px) {
    main .tree > ul {
        font-size: 0.9em;
    }

    main .tree ul ul {
        margin-left: 0.25em;
    }

    main .tree ul ul ul {
        margin-left: -0.75em;
    }
}

main .profile-summary .profile-photo {
    float: left;
    margin-left: -14em;
}

main .profile-summary .profile-photo.nofloat {
    float: none;
    margin-left: 0;
}

main .profile-summary .profile-photo img {
    width: 12em;
    border: 0.2em solid white;
}

main .profile-summary {
    box-sizing: border-box;
    max-width: 75em;
    color: var(--leadcolor);
    padding-left: 14em;
}

main .profile-summary-items {
    display: table;
    width: 100%;
}

main .profile-summary a {
    color: var(--leadcolor);
    text-decoration: none;
    border-bottom: 0.1em dotted var(--dgraycolor);
}

main .profile-summary a:hover {
    border-bottom-style: solid;
}

main .profile-summary-item {
    display: table-row;
    background-color: white;
    line-height: 1.25em;
}

main .profile-summary-item-label {
    display: table-cell;
    vertical-align: top;
    width: 14em;
    padding: 0.75em 0.75em 0.5em 0.75em;
    border-bottom: 0.1em solid var(--lgraycolor);
}

main .profile-summary-item-label label {
    font-weight: bold;
    text-transform: uppercase;
}

main .profile-summary-item-label label span.note {
    color: var(--lgraycolor);
}

main .profile-summary-item-content {
    display: table-cell;
    vertical-align: top;
    padding: 0.75em 0.75em 0.5em 0.75em;
    border-bottom: 0.1em solid var(--lgraycolor);
}

main .profile-summary-item-content p {
    margin-bottom: 0.5em;
}

main .profile-summary-item-content li {
    list-style-type: circle;
    margin-left: 1.5em;
    margin-bottom: 0.5em;
}

main .profile-summary-item-content ol li {
    list-style-type: decimal;
}

main .profile-summary-item-content ul.errorlist{
    background-color: #ffe0e0;
    padding: 0.5em 0.5em 0.1em 0.5em;
    margin-bottom: 0.5em;
}

main .profile-summary-item-content img.logo-usos {
    height: 2em;
    vertical-align: middle;
}

main .profile-summary-item-content img.logo-orcid {
    height: 1.5em;
    vertical-align: middle;
    margin-right: 0.5em;
}

main .profile-summary-item-content span.note {
    color: var(--dgraycolor);
    display: block;
    font-size: 0.9em;
}

main .profile-summary-item-content span.note a {
    color: var(--dgraycolor);
}

main .profile-summary-item-content input,
main .profile-summary-item-content textarea {
    box-sizing: border-box;
    width: 100%;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1em;
    background-color:white;
    border: 0.07em solid var(--lgraycolor);
    padding: 0.5em 0.65em;
}

main .profile-summary footer.last-seen-note {
    color: var(--dgraycolor);
    margin-top: 1em;
    font-size: 0.8em;
}

main .profile-summary aside {
    margin: 1em 0;
}

main .profile-summary aside h2 {
    font-weight: bold;
    font-size: 1.2em;
}

main .profile-summary-full {
    padding-left: 0;
}

@media screen and (max-width: 1000px) {
    main .profile-summary {
        padding-left: 0;
    }

    main .profile-summary .profile-photo {
        float: none;
        margin-left: 0;
        margin-bottom: 1em;
    }
    
    main .profile-summary .profile-photo img {
        width: 10em;
    }

    main .profile-summary-items {
        display: block;
    }

    main .profile-summary-item {
        display: block;
    }

    main .profile-summary-item-label {
        display: block;
        border-bottom: none;
    }

    main .profile-summary-item-content {
        display: block;
    }
}

/* General classes */

main .buttons {
    margin-top: 0.75em;
    margin-bottom: 1em;
}

main .profile-summary-items .buttons {
    margin-bottom: 0;
}

main .button {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1em;
    -moz-border-radius: 0.25em;
    -webkit-border-radius: 0.25em;
    border-radius: 0.25em;
    display: inline-block;
    padding: 0.6em 0.75em;
    text-decoration: none;
    text-wrap: none;
    width: auto;
    line-height: 1.25em;
    border: none !important;
    margin-bottom: 0.5em;
}

main .button:hover{
    text-decoration: none;
    cursor: pointer;
}

main .button:active{
    position: relative;
    top: 1px;
}

main .button-small{
    font-size: 0.9em;
    padding: 0.5em 0.65em;
}

main .button-grey{
    -moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
    -webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
    box-shadow: inset 0px 1px 0px 0px #ffffff;
    background-color: #F2F2F2;
    color: #666666;
    text-shadow: 1px 1px 0px #ffffff;
}

main .button-grey:hover{
    background-color: #E8E8E8;
    color: #666666;
}

main .button-red{
    -moz-box-shadow: inset 0px 1px 0px 0px #fab3ad;
    -webkit-box-shadow: inset 0px 1px 0px 0px #fab3ad;
    box-shadow: inset 0px 1px 0px 0px #fab3ad;
    background-color: #fa665a;
    color: #ffffff !important;
    text-shadow: 1px 1px 0px #98231a;
}

main .button-red:hover{
    background-color: #d34639;
    color: #ffffff;
}

main .button-blue{
    -moz-box-shadow: inset 0px 1px 0px 0px #cae3fc;
    -webkit-box-shadow: inset 0px 1px 0px 0px #cae3fc;
    box-shadow: inset 0px 1px 0px 0px #cae3fc;
    background-color: #79bbff;
    color: #ffffff !important;
    text-shadow: 1px 1px 0px #287ace;
}

main .button-blue:hover{
    background-color: #4197ee;
    color: #ffffff;
}