body {
    background-color: #383B43;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.5em;
    text-align: center;
}

#wrapper {
    background-image: url("../images/luca-bravo-_QdFx92MO2U-unsplash.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
    padding: 0.5em 1em;
}

nav {
    margin: 0.5em 0;
}

header {
    color: #FFFFFF;
}

a {
    color: #808080;
    text-decoration: none;
}

a:active, a:hover {
    text-decoration: underline;
}

nav {
    text-align: right;
}

nav > ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

nav > ul > li {
    display: inline-block;
    margin: 0.25em;
}

nav > ul > li > a {
    color: #F5F5F5;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

nav > ul > li > a:active, nav > ul > li > a:hover {
    color: #000000;
    text-decoration: none;
}

nav > ul > li > a.selected {
    background-color: #000000;
    border-radius: 1em;
    color: #FFFFFF;
    padding: 0.5em 1em;
}

#portrait {
    border-radius: 50%;
    height: 200px;
    width: 200px;
}

#header_name_title {
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 1em;
    display: inline-block;
    padding: 1em 1em;
}

#header_name_title h1, #header_name_title h2 {
    margin: 0;
}

#header_name_title h1 {
    margin-bottom: 0.25em;
}

#icons {
    margin-top: 0.5em;
}

#name {
    font-size: 1.5em;
}

#title {
    font-size: 1.3em;
}

#cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.card {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 1em;
    color: #000000;
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 0;
    margin: 0.5em;
    min-width: 640px;
    padding: 0.75em;
}

.card a {
    color: #000000;
}

.card h3 {
    margin: 0;
    padding: 0;
}

.card img.icon, main img.icon {
    height: 72px;
    margin: 0;
    padding: 0;
    width: 72px;
}

#apps_wrapper {
    display: flex;
    flex-direction: column;
}

#newspod_row, #android_row {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

#android_row div {
    margin: 0.5em;
}

.app_title {
    font-size: 1.25em;
    font-weight: bold;
}

img.site_icon {
    height: 48px;
    width: 48px;
}

main {
    padding: 0.5em;
}

main h3 {
    margin: 0.5em 0;
}

main.white_bg {
    background-color: #FFFFFF;
}

#contact {
    background-color: #3CADD4;
    color: #FFFFFF;
    padding: 0.5em;
}

#contact a {
    color: #000000;
}

#get_email {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

#get_email > div {
    flex-basis: 0;
    flex-grow: 0;
}

input[type="submit"] {
    background-color: #383B43;
    border: 0;
    border-radius: 1em;
    color: #FFFFFF;
    cursor: pointer;
    font-size: 1em;
    padding: 0.75em;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

input[type="submit"]:hover {
    background-color: #444751;
}

input[type="submit"]:active {
    background-color: #2C2F35;
}

footer {
    align-items: center;
    color: #858585;
    display: flex;
    justify-content: center;
    padding: 1.5em 0.5em;
}

footer > div {
    flex-basis: 0;
    flex-grow: 1;
}

.hidden {
    display: none;
}

img.gallery_thumbnail {
    height: 600px;
    width: 800px;
    object-fit: contain;
}

img.app_thumbnail {
    height: 200px;
    width: 200px;
    object-fit: contain;
}

#flex_wrapper {
    align-content: center;
    display: flex;
    flex-direction: column;
    text-align: left;
}

.flex_row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0.5em;
}

.flex_left_col {
    flex-shrink: 0;
    margin-right: 0.5em;
}

.flex_left_col.app_col {
    min-width: 300px;
    text-align: center;
}

.flex_left_col img {
    vertical-align: middle;
}

.flex_right_col {
    flex-shrink: 1;
    margin-left: 0.5em;
    max-width: 60%;
}

.flex_row:nth-child(2n + 1) {
    background-color: rgba(144, 144, 144, 0.075);
}