html {
    background-color: #171921;
    color: #e8e6e3;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

::selection, ::-moz-selection, ::-webkit-selection {
    background-color: #b3485f;
}

p {
    margin: 10px;
}

article > p {
    text-align: left;
    padding: 10px;
}

footer {
    position: fixed;
    backgroundColour: #171921;
    width: 100%;
    bottom: 0;
    box-sizing: border-box;
}

table {
    background-color: #2f3139;
    padding: 10px;
    margin: 8px;
    border-radius: 10px;
    border-spacing: 20px 5px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

tbody {
    border: 1px;
    border-collapse: collapse;
}

progress {
    width: 90%;
    margin: auto 1px;
    border-radius: 10px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

progress::-webkit-progress-bar {
    background-color: #e8e6e3;
    border-radius: 10px;
}

progress::-webkit-progress-value {
    background-color: #FFB6C1;
    border-radius: 10px;
}

progress::-moz-progress-bar {
    background-color: #FFB6C1;
    border-radius: 10px;
}

q {
    font-style: italic;
}

time {
    font-weight: bold;
}

del {
    color: #464544;
    text-decoration-color: #e8e6e3;
    font-style: italic;
}

fieldset {
    background-color: #2f3139;
    border-color: #e8e6e3;
    border-radius: 10px;
    border-width: 2.5px;
    display: inline-flex;
    min-width: 100px;
    margin: 10px 5px;
    justify-self: center;
    flex-wrap: wrap;
    flex-basis: max-content;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

fieldset > legend {
    text-decoration: underline;
}

fieldset > p {
    margin-top: 2px;
    margin-bottom: 2px;
}

ul {
    padding-left: 20px;
}

img {
    border-radius: 10px;
    margin: 10px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.generic-center {
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.center {
    text-align: center;
}

.button {
    background-color: #2f3139;
    color: #e8e6e3;
    border: none;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1.2em;
    margin: 8px 4px;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 6px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.button:hover {
    background-color: #23252c;
    transition: 0.1s;
}

.button:active {
    background-color: #171921;
}

button {
    background-color: #2f3139;
    color: #e8e6e3;
    border: none;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1.2em;
    margin: 8px 4px;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 6px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

button:hover {
    background-color: #23252c;
    transition: 0.1s;
}

button:active {
    background-color: #171921;
}

input {
    background-color: #2f3139;
    color: #e8e6e3;
    border-radius: 6px;
    border: none;
    padding: 5px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.table-center {
    text-align: left;
    margin: 10px auto;
}

icon-display {
    width: 50%;
    max-width: 500px;
    margin: auto;
}

.flex-container {
    align-items: normal;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.flex-contained-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.flex-element {
    display: inline-block;
    margin: 20px;
    padding: 5px;
    width: 30%;
    max-width: 500px;
    min-width: 150px;
    background: #23252c;
    border-radius: 10px;
    padding: 10px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.author-div {
    background-color: #23252c;
    max-width: 350px;
    display: flex;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 900px;
    flex: content;
    flex-wrap: nowrap;
    justify-content: left;
    flex-basis: auto;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.author-picture {
    max-width: 48px;
    min-width: 32px;
    flex: content;
    border-radius: 100px;
    display: inline-block;
    margin-left: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    align-self: center;
}

.author-name-div {
    color: Gainsboro;
    width: 50%;
    flex: content;
    display: inline-block;
    margin-right: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    align-self: center;
}

.content-box {
    width: 100%;
    max-width: 1000px;
    background-color: #23252c;
    border-radius: 20px;
    padding: 5px;
    margin: 30px auto;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.image-paragraph {
    display: flex;
}

.image-paragraph-content {
    margin-left: 5px;
    margin-top: 0;
}

.location-deprecation-notice-header {
    color: #FF3333;
}

.location-deprecation-notice-div {
    color: #000000;
    background-color: #ffffb3;
    border-radius: 10px;
    padding: 10px;
}

.location-contact-info-element {
    margin: 10px;
}

.top-page-header {
    left: 0px;
    top: 0px;
    height: 72px;
    width: 100%;
    margin: auto;
    position: fixed;
    text-align: center;
    background-color: #23252c;
}

.bottom-page-footer {
    left: 0px;
    bottom: -10px;
    height: 55px;
    width: 100%;
    margin: auto;
    position: fixed;
    text-align: center;
    background-color: #23252c;
}

a:link {
    color: #FFB6C1;
    text-decoration: none;
}

a:visited {
    color: #FFB6C1;
    text-decoration: none;
}

a:hover {
    color: #FFC1CA;
    text-decoration: underline;
}

a:active {
    color: #FFD7DD;
    text-decoration: underline;
}

.map-element {
    outline-colour: #FFB6C1;
    display: inline;
}

.div-outer {
    display: table;
    position: absolute;
    top: 77px;
    left: 0;
    height: calc(100vh - 72px - 45px - 10px);
    width: 100%;
}

.div-middle {
    display: table-cell;
    vertical-align: middle;
}

.div-inner {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
}

.news-div-class {
    width: 75%;
    min-width: 200px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.newsfeed-element {
    border-style: solid;
    border-width: 5px;
    border-radius: 20px;
    margin: 20px auto 30px auto;
    background-color: #23252c;
}

.newsfeed-element-picture {
    max-height: 8em;
}

.newsfeed-element-segment-header {
    color: #e8e6e3;
}

.newsfeed-element-segment-body {
    display: flex;
    flex-wrap: wrap-reverse;
}

.newsfeed-element-segment-text {
    color: #e8e6e3;
}

.newsfeed-element-segment-picture {
    color: #e8e6e3;
}

.newsfeed-element-segment-body > p {
    max-width: 95%;
}

.newsfeed-element-relevancy-generic {
    border-color: #e8e6e3;
}

.newsfeed-element-relevancy-holiday {
    border-color: #3399FF;
}

.newsfeed-element-relevancy-warning {
    border-color: #FFFF33;
}

.newsfeed-element-relevancy-alert {
    border-color: #FF3333;
}

.newsfeed-element-relevancy-happened {
    border-color: #2f3139;
}

.article-preview {
    text-align: center;
    padding: 10px;
    border-style: solid;
    border-color: #e8e6e3;
    flex: content;
    background-color: #23252c;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.article-preview-box {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    justify-items: stretch;
    flex-wrap: wrap;
}

.clickable-heading {
    scroll-margin-top: 82px;
}

h1, h2 {
    text-align: center;
    text-decoration: underline;
    margin-bottom: 0px;
}

h3, h4, h5, h6 {
    text-align: center;
    margin-bottom: 0px;
}

select {
    padding: 4px 8px;
    margin: 8px 4px;
    transition: 0.3s;
    background-color: #2f3139;
    color: #e8e6e3;
    border-radius: 10px;
    border-style: none;
    filter: drop-shadow(-2.5px -2.5px 2.5px rgba(0, 0, 0, 0.2)) drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

select:hover {
    transition: 0.1s;
    background-color: #23252c;
}

.autocomplete {
    position: relative;
    display: inline-block;
}

.autocomplete-items {
    position: absolute;
    z-index: 99;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #23252c;
    border: 2px solid #2f3139;
}

.autocomplete-active {
    background-color: #2f3139 !important;
}

.autocomplete-floating-island {
    z-index: 98;
    position: fixed;
    margin-top: 10px;
    padding: 5px;
    background-color: #23252c;
    border-width: 5px;
    border-color: #2f3139;
    border-radius: 10px;
}

.autocomplete-search-bar {
    width: 50%;
    min-width: 100px;
    max-width: 600px;
}

.autocomplete-items div {
    padding: 10px;
    cursor: pointer;
    background-color: #23252c;
}

.autocomplete-items div:hover {
    background-color: #2f3139;
}

.location-image-header {
    width: 90%;
    display: block;
    max-width: max-width;
    border-radius: 10px;
    margin: 20px auto;
}

.location-image-footer {
    width: 45%;
    display: block;
    max-width: max-width;
    border-radius: 10px;
    margin: 20px 5px;
}

.location-image-footer-div {
    width: 90%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.location-image-map-preview {
    width: 50%;
    display: block;
    max-width: max-width;
    border-radius: 10px;
    margin: 20px auto;
}
