/* Misc */

a {
    text-decoration: none;
}

/* Organization */

html {
    /* Space */
    padding: 0;
    margin:  0;

    /* Size */
    width:  100%;
    height: 100%;

    /* Layout */
    display:         flex;
    flex-flow:       column nowrap;
    align-items:     center;
    justify-content: stretch;
}

body {
    /* Space */
    padding: 0;
    margin:  0;

    /* Size */
    width: min(80em, 100%);

    /* Alignment */
    text-align: center;

    /* Layout */
    flex: 1 1 auto;

    /* Layout */
    display:         flex;
    flex-flow:       column nowrap;
    align-items:     stretch;
    justify-content: stretch;
}

header img {
    max-width: 100%;
}

nav {
    display:         flex;
    flex-flow:       row wrap;
    align-items:     flex-start;
    justify-content: center;
}

nav a {
    /* Space */
    padding: 1em;
    margin:  0;

    /* Size */
    width:  6em;
    height: 6em;

    /* Layout */
    display:         flex;
    flex-flow:       column nowrap;
    align-items:     center;
    justify-content: center;
}

section#features {
    flex: 1 1 auto;
}

ul {
    /* Space */
    padding: 0 1em;
    margin:  0 0 1em 0;

    /* Layout */
    display:         flex;
    flex-flow:       row wrap;
    align-items:     stretch;
    justify-content: center;
}

li {
    /* Space */
    padding: 0.5em;
    margin:  0.2em;

    /* Size */
    width:  15em;
    height: auto;

    /* Border */
    border-radius: 0.25em;

    /* Layout */
    display:         flex;
    flex-flow:       column nowrap;
    align-items:     center;
    justify-content: flex-start;
}

h3 {
    margin: 0;
}

footer {
    padding: 0.25em;
    margin:  0;
}

/* Font */

body {
    font-family: sans-serif;
    font-weight: normal;
    font-style:  normal;
    font-size:   14pt;
}

h1 {
    font-family: serif;
    font-weight: bold;
    font-style:  normal;
    font-size:   3em;
}

h3 {
    font-size: 1.5em;
}

/* Color */

html {
    background: #222;
}

body {
    background: white;
}

nav {
    background: #203040;
}

nav a {
    color: white;
    opacity: 50%;
}

nav a:hover, nav a:focus {
    background: #FFFFFF40;
    opacity: 100%;
}

nav a:active {
    background: #FFFFFF60;
    opacity: 100%;
}

h2 {
    color: #808080;
}

section#features {
    background: #F0F0F0;
}

li {
    background: white;
}

h3 {
    color: #22CC66;
}

footer {
    color:      #CCCCCC;
    background: #333333;
}

/* Animations */

header img {
    animation: evanescence 1s;
}

nav img {
    animation: devanescence 1s;
}

nav div {
    animation: evanescence 1s;
}

@keyframes evanescence {
    from {
        opacity:   0;
        translate: 0 10%;
    }
}

@keyframes devanescence {
    from {
        opacity:   0;
        translate: 0 -20%;
    }
}
