@import url('https://fonts.googleapis.com/css?family=Fira+Sans:400,700&display=swap');

html {
  font-family: 'Fira Sans', sans-serif;
  --color-1: #82204a;
  --color-2: #558c8c;
  --color-3: #e8db7d;
  --color-bg: #231123;
  --color-fg: #eff7ff;
  --color-gray: rgba(255, 255, 255, 0.1);
  --color-silver: rgba(255, 255, 255, 0.2);
  --color-light: rgba(255, 255, 255, 0.6);
}

body {
  max-width: 1300px;
  margin: 0 auto;
  padding: 1em;
  background: var(--color-bg);
  color: var(--color-fg);
}

a {
    color: var(--color-1);
}

a:hover, a:active {
    color: var(--color-2);
}

summary > h1,
summary > h2,
summary > h3,
summary > h4 {
    display: inline;
}

ul.actions {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ul.actions > li {
    margin: 0.5em 0;
    padding: 0;
}

ul.actions > li a {
    display: block;
    padding: 0.7em;
    margin: 0;
    text-decoration: none;
    border: 1px solid var(--color-silver);
    border-radius: 0.5em;
    background: var(--color-gray);
    color: var(--color-fg);
}

ul.actions > li a:hover,
ul.actions > li a:active {
    background: var(--color-silver);
    color: var(--color-fg);
}

ul.actions details {
    display: block;
    margin: 0.5em 0;
    padding: 0;
}

ul.actions details > summary {
    display: block;
    padding: 0.7em;
    margin: 0;
    text-decoration: none;
    border: 1px solid var(--color-silver);
    border-radius: 0.5em;
    background: var(--color-gray);
    cursor: pointer;
    color: var(--color-fg);
}

ul.actions details > summary:hover,
ul.actions details > summary:active {
    background: var(--color-silver);
}

ul.actions form {
    padding: 0.7em;
    margin: 0;
    border: 1px solid var(--color-silver);
    background: var(--color-gray);
    color: #ccc;
    border-radius: 0.5em;
}

ul.actions details > form {
    border-top: 0;
    border-radius: 0 0 0.5em 0.5em;
}

ul.actions details[open] > summary {
    border-radius: 0.5em 0.5em 0 0 !important;
}

table {
    width: 100%;
}

input[type="submit"] {
    display: block;
    padding: 0.7em;
    margin: 0;
    text-decoration: none;
    border-radius: 0.5em;
    background: var(--color-gray);
    color: var(--color-fg);
    border: 1px solid var(--color-silver);
    cursor: pointer;
    margin-left: auto;
}

input[type="submit"]:hover,
input[type="submit"]:active {
    background: var(--color-silver);
    color: var(--color-fg);
}

select,
input[type="text"],
input[type="password"] {
    display: block;
    padding: 0.7em;
    width: 100%;
    margin: 0.5em 0;
    text-decoration: none;
    border: 1px solid var(--color-light);
    border-radius: 0.5em;
    background: var(--color-light);
    color: var(--color-bg);
}
input[type="text"],
input[type="password"] {
    width: calc(100% - 1.4em);
}

select:focus,
input[type="text"]:focus,
input[type="password"]:focus
select:active,
input[type="text"]:active,
input[type="password"]:active,
select:hover,
input[type="text"]:hover,
input[type="password"]:hover {
    background: var(--color-fg);
    color: var(--color-bg);
}

.flash {
    padding: 0.7em;
    margin: 0.5em 0;
    border-radius: 0.5em;
    background: var(--color-1);
    color: var(--color-fg);
    border: 1px solid var(--color-silver);
}

.cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-gap: 1em;
    margin: 0.5em 0;
}

.cards > div {
    border-radius: 0.5em;
    min-height: 400px;
    background: var(--color-gray);
    padding: 0.5em;
    padding-top: 0;
    border: 1px solid var(--color-silver);
}

.cards > div.back {
    padding: 0;
}
.cards > div.back a {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: var(--color-fg);
    background: var(--color-gray);
}
.cards > div.back:hover a {
    background: var(--color-silver);
}
.cards > div.back a div {
    text-align: center;
}
.cards > div.back a div.emoji {
    font-size: 4rem;
    margin: 1rem;
}
.cards > div.back a div.emoji.hover {
    display: none;
}
.cards > div.back:hover a div.emoji.hover {
    display: block;
}
.cards > div.back:hover a div.emoji:not(.hover) {
    display: none;
}

.tabs {
    display: flex;
    flex-direction: row;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.tabs > a {
    margin: 0;
    padding: 0.3em;
    margin-right: 0.5em;
    text-decoration: none;
    background: var(--color-silver);
    color: var(--color-fg);
    border: 1px solid var(--color-silver);
    border-top: 0;
}

.tabs > .type {
    text-transform: uppercase;
    font-weight: bold;
}

.tabs h2 {
    padding-top: 0;
}

/* nav contains img, h1, and p. Place the image left of the text, but centered vertically */
nav {
    display: flex;
    flex-direction: row;
    align-items: center;
}

nav div, nav img {
    margin: 0;
    padding: 0;
    height: 6rem;
}

nav img {
    border-radius: 2rem;
}

nav div {
    display: flex;
    flex-direction: column;
    align-items: left;
    justify-content: center;
    padding: 0.5rem;
}

nav h1, nav p {
    line-height: 1;
    padding: 0;
    margin: 0.3rem;
}

nav p span {
    font-weight: bold;
}
nav p span:before, nav p span:after {
    content: "'";
}
