html {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Poppins', sans-serif;
    color: #000;
}

.container {
    text-align: center;
    margin: 0;
    padding: 0;
}

nav {
    padding-bottom: 5vh;
    margin-top: 0;
    color: #000;
    padding: 0 16px;
}

nav .social-media {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(6, 60px);
    margin: 0;
    padding: 0;
}

nav .social-media--item {
    display: inline;
}

nav .social-media--link {
    font-size: 24px;
    color: #000;
}

nav .social-media--inat:hover {
    color: #74ac00
}

nav .social-media--facebook:hover {
    color: #3b5998;
}

nav .social-media--instagram:hover {
    color: #bc2a8d;
}

nav .social-media--github:hover {
    color: #999;
}

nav .social-media--bluesky:hover {
    color: #08f;
}

nav .social-media--threads:hover {
    color: #999;
}

.copyright {
    align-content: center;
    margin: 16px 0 0 0;
}

header {
    display: flex;
    gap: 0 16px;
    padding: 0 16px;
    align-items: center;
    position: sticky;
    top: 0;
    height: 80px;
    background-color: #fff;
    z-index: 100;
}

header .logo {
    flex: .25;
}

header .title {
    flex: 2;
    text-align: center;
}

header .logo {
    height: 80px;

}

.search--container {
    display: flex;
    flex: 3;
}

.search {
    position: relative;
    color: #aaa;
    font-size: 16px;
    display: inline-block;
    flex: 1
}

.search input {
    width: 250px;
    height: 32px;
    background: #fcfcfc;
    border: 1px solid #aaa;
    border-radius: 5px;
    box-shadow: 0 0 3px #ccc, 0 10px 15px #ebebeb inset;
    text-indent: 32px;
    width: 100%;
}

.search .fa-search {
    position: absolute;
    top: 10px;
    left: auto;
    right: 10px;
}

main {
    display: flex;
}

section {
    flex: 3;
    padding-top: 16px
}

article {
    padding-bottom: 16px;
    margin: 0 16px 32px;
    outline: 1px solid #ccc;
    border-radius: 3px;
    padding: 4px;
}

article .key-locale {
    border-top: 3px solid #999;
    border-bottom: 3px solid #999;
    padding: 4px;
    margin: 0;
}

article .key-title {
    font-size: 24px;
}

article .key-title--link {
    color: #000;
    text-decoration: none;
}

article .key-title--link:hover {
    color: #999;
    text-decoration: none;
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'  width='40' height='48' viewport='0 0 100 100' style='fill:black;font-size:24px;'><text y='50%'>🍄‍🟫</text></svg>") 16 0, auto;
}
article .key-meta {
    display: grid;
    grid-template-columns: 40% 60%;
    font-size: 14px;
}

article .key-taxon {}
article .key-taxon-grid {
    display: grid;
    grid-template-columns: 100px 1fr;
}

article .key-taxon--label {
    font-size: 11px;
    color: #9999;
    display: inline-block;
}
article .key-taxon--label-sm {
    display: inline-block;
}
article .key-authors--list {}
article .key-taxon--authors-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    baseline-source: first;
}
article.search-result:hover {
    outline: 1px solid #000;
    /* border-top: 3px solid #e2f5be;
    border-bottom: 3px solid #e2f5be; */
}
aside {
    margin: 16px;
    flex: 1;
    height: 100Vh;
    position: sticky;
    overflow: auto;
    top: 96px;
}

aside .menu-external {
    background-color: #f4deba;
}
aside .menu-external .dynamic-link {
    display: block;
}
aside .menu-external .dynamic-link:hover {
    background-color: #e2f5be;
    cursor: pointer;
}
aside .menu-country {
    background-color: #e2f5be;
    margin-top: 32px;
}

aside .menu-country--list {
    list-style: none;
    padding: 0;
}

aside .menu-country--item {
    margin: 4px 0;
}
aside .menu-country--item:hover {
    background-color: #f4deba;
    cursor: pointer;
}

aside .menu {
    padding: 8px;
    border-radius: 5px;
}

footer {
    padding-bottom: 5vh;
    margin-bottom: 0;
}
