body {
    background-color: #f8f8f8;
}

h1 {
    text-align: center;
    margin-top: 15px;
    padding-left: 310px;
    margin-bottom: 10px;
}

ul {
    margin: 5px 0px 0px 0px;
    padding-left: 25px;
}

li p {
    margin: 0px;
}

li.change {
    padding: 5px;
}

ol .changeDate {
    font-weight: bold;
    margin-right: 40px; /* to account for list parent */
    padding-top: 10px;
    text-align: center;
}

a {
    color: #a02020;
    text-decoration: none;
}

a:hover {
    color: #ff0000;
}

h1 a {
    color: #000;
}

h1 a:hover {
    color: #666;
}

form {
    margin: 0px;
}

input[type="search"] {
    width: 100%;
    border: 2px solid #777;
    padding: 2px;
}

input[type="submit"] {
    border: 2px solid #000;
    background-color: #eee;
    font-weight: bold;
    padding: 2px 6px;
}

.submit {
    text-align: center;
    margin-top: 15px;
}

.buttons {
    float: right;
    margin-right: 10px;
    width: 300px;
}

.button {
    display: inline-block;
    float: right;
    margin-bottom: 10px;
    margin-left: 12px;
    font-weight: bold;
    font-family: sans-serif;
}

.button a {
    color: #333;
}

.button a:hover {
    color: #666;
}

.types {
    text-align: center;
    margin-top: 20px;
}

.type {
    margin: 0px 20px;
    padding: 5px 10px;
    display: inline-block;
    background-color: #eee;
    font-size: 1.1em;
    border: 1px solid transparent;
}

.type a {
    color: #222;
}

.type a:hover {
    color: #666;
}

.currentType {
    border: 1px solid #222;
}

.categoryLinks {
    text-align: center;
}

.categoryLink {
    margin: 5px;
    padding: 5px 10px;
    display: inline-block;
    background-color: #eee;
    font-weight: bold;
    border: 1px solid transparent;
}

.categoryLink a {
    color: #222;
}

.categoryLink a:hover {
    color: #666;
}

.islands {
    text-align: left;
    font-size: 1.1em;
    display: flex;
    flex-flow: row wrap;
    margin-left: 10px;
}

.island, .info, .centerBox, .search {
    border-radius: 5px 5px 5px 5px;
    border: 1px solid #999;
    padding: 15px;
    margin: 10px;
    width: 250px;
    background-color: #fcfcfc;
}

.label {
    color: white;
    background-color: #404040;
    padding: 3px 5px;
    margin-right: 3px;
    border-radius: 4px;
    font-family: sans-serif;
    font-weight: bold;
    font-size: 0.8em;
}

.island {
    overflow-wrap: break-word;
}

.info, .centerBox, .search {
    font-size: 1em;
    border: 1px solid black;
    width: 600px;
    padding: 20px 25px;
    margin: 25px auto;
}

.info .name, .centerBox .name, .search .name {
    font-size: 1.5em;
    text-align: center;
}

.centerBox .name, .search .name {
    margin-bottom: 15px;
}

.search-info {
    font-size: 0.9em;
    text-align: center;
    margin-bottom: 15px;
}

.info .descr {
    font-size: 1em;
    margin-top: 15px;
    margin-bottom: 15px;
}

.infoItem {
    margin-top: 8px;
    margin-bottom: 8px;
    display: flex;
    flex-flow: column;
}

.infoKey {
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
    background-color: #f0f0f0;
    padding: 2px 5px;
}

.infoValue {
    padding: 0px 5px;
}

.infoValue p {
    display: inline;
}

.category, .completeCategory {
    color: #222;
    border-bottom: 2px solid #222;
    padding: 5px 5px 5px 8px;
    margin-top: 5px;
    font-weight: bold;
    font-size: 1.2em;
}

.category:target {
    animation-name: highlight-category;
    animation-duration: 2s;
}

#search {
    display: none;
}

#search:target {
    display: inline-block;
    padding-top: 15px;
    margin-top: -20px;
    margin-left: -150px;
}

#search input[type="search"] {
    display: inline-block;
    width: 100px;
}

@keyframes highlight-category {
    from { background-color: #ff4; }
    to { background-color: transparent; }
}

.completeCategory {
    border-bottom: 1px solid #555;
    font-size: 1em;
    text-align: center;
    margin-left: 20px;
    margin-right: 20px;
}

.name {
    font-weight: bold;
    margin-bottom: 5px;
}

.name a {
    color: #000;
}

.name a:hover {
    color: #666;
}

.descr {
    font-size: 0.8em;
}

.typeDescr {
    margin-top: 20px;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;

    width: 600px;
    color: #333;
    font-family: sans-serif;
    font-size: 100%;
    font-weight: bold;
}
