#logo {
  width: 300px;
  height: 175px;
  background: no-repeat center/150% url(example-logo.png);
  margin-left: 1em;
}

body {
  font-size: x-large;
  font-family: Verdana, Arial;
  margin: 0;
}

header {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}

nav {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: end;
  row-gap: 1em;
}

nav ul {
  display: flex;
  list-style-type: none;
}

figure {
  margin: 0;
  text-align: center;
}

figure img {
  width: 60%;
}

figcaption {
  font-style: italic;
  margin: 0.5em 1em 1em;
}

figure img {
  transition: width 0.5s;
}

blockquote {
  font-size: xx-large;
  font-weight: bold;
}

@media (min-width: 801px) {
  main, footer {
    width: 800px;
    margin: 1em auto;
  }
  figure.shape-landscape img {
    width: 800px;
  }
}
@media (min-width: 601px) {
  figure img {
    display: block;
    margin: 0 auto;
  }
  figure.shape-square img {
    width: 500px;
  }
}
nav li a {
  font-weight: bold;
  padding: 0.5em;
  margin: 0.25em;
  border: 2px solid silver;
  border-radius: 5px;
  text-decoration: none;
}

nav li.selected a {
  color: black;
  background: silver;
}

nav li:not(.selected) a:hover {
  background: #EEE;
}

footer form {
  z-index: -10;
}

footer section {
  text-align: center;
}

footer section a {
  margin: 0 auto;
}

.randomizer figure {
  display: none;
}

.jsDisabled .randomizer figure:first-child {
  display: revert;
}

.tabs {
  text-align: center;
}

table {
  border-collapse: collapse;
}

table caption {
  font-weight: bolder;
}

table td {
  border: 1px solid black;
  padding: 0.5em;
}

summary {
  cursor: pointer;
}

body, header {
  transition: background 1.5s, color 1.5s;
}

nav li a {
  transition: background 1.5s, color 1.5s, border-color 1.5s;
}

a, a:visited {
  transition: color 1.5s;
}

body, header, .night body, .night header {
  background: #333;
  color: #EEE;
}

nav li a, .night nav li a {
  color: #569156;
}

.day body, .day header {
  background: #DDD;
  color: #222;
}
.day nav li a {
  color: #274922;
}
.day a {
  color: blue;
}
.day .no-visited-link-color a:visited {
  color: blue;
}

.night nav li.selected a {
  background: gray;
}
.night a {
  color: cyan;
}
.night .no-visited-link-color a:visited {
  color: cyan;
}
.night a:visited {
  color: auto;
}

@media (prefers-color-scheme: light) {
  body, header {
    background: #DDD;
    color: #222;
  }
  nav li a {
    color: #274922;
  }
}
#dayNightSwitcher {
  display: none;
  position: fixed;
  bottom: 1em;
  right: 1em;
}

.jsEnabled #dayNightSwitcher {
  display: revert;
}
.chat-bubble {
        margin: 40px;
        display: inline-block;
        position: relative;
        width: 70%;
        height: auto;
        border: 8px solid #666;
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
}

.chat-bubble:before {
        content: ' ';
        position: absolute;
        width: 0;
        height: 0;
        left: auto;
        right: -40px;
        bottom: 75px;
        border: 20px solid;
        border-color: #666 transparent transparent #666;
}
.chat-bubble:after{
        content: ' ';
        position: absolute;
        width: 0;
        height: 0;
        left: auto;
        right: -20px;
        top: 38px;
        bottom: auto;
        border: 12px solid;
        border-color: transparent transparent transparent transparent;
}

.chat-bubble > div {
        padding: 1em;
        text-align: left;
        line-height: 1.5em;
}

.chat-bubble > div > p {
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
}
