html, body, h1, h2, h3, ul, li, pre, details {
    margin: 0;
    padding: 0;
}

html {
    line-height: 1;
    text-size-adjust: 100%;
    box-sizing: border-box;
    font-size: 62.5%;
}
body {
    font-size: 1.4rem;
    font-family: sans-serif;
    line-height: 1.4;
    max-width: 96rem;
    margin: 2rem auto;
    padding: 0 2rem;
    background: #eee;
}
*, *:before, *:after {
    box-sizing: inherit;
    background-repeat: no-repeat;
}

header, footer {
    color: #333;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .8);

    a {
        color: #09c;
        text-decoration: none;
    }
    a:hover {
        color: #000;
        text-decoration: underline;
    }
}
header {
    h2 {
        margin: 0 0 1rem;
        font-weight: 500;
    }
}
footer {
    ul ul { padding: .5rem 0 1rem 1rem; }
    ul li { list-style: none; }
    ul li ul li { list-style: square inside; }
}


main {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;

    > section {
        flex: 0 0 auto;
        border: dashed #999 1px;
        border-radius: 3px;
        padding: 2rem;
        width: calc(50% - 1rem);
        margin-bottom: 2rem;

        > div {
            min-height: 4rem;
            margin: 0 0 1rem 0;
        }

        > pre {
            display: block;

            > code {
                height: 100%;
                border-radius: 4px;
                padding: 2rem;
                font-size: 1.2em;
            }

            .hljs { padding: 1em; }
        }

        &.no-code {
            > div{
                min-height: auto;
                margin: 0;
            }
            > pre { display: none; }
        }
    }
}

@media screen and (max-width: 620px) {
    main > section {
        width: 100%;
    }
}



// ---
.beau-selecteur {
    border: solid #333 1px;
    border-radius: 3px;
    padding: .5rem 1rem;
}

// ---
.win95 {
    background: #fff;
    border-top: solid #868b8f 2px;
    border-left: solid #868b8f 2px;
    border-bottom: solid #daddde 2px;
    border-right: solid #daddde 2px;
    box-shadow:
        inset 2px 2px 0 0 #000002,
        inset -2px -2px 0 0 #c3c4c6;
    padding: 2px;

    .selection {
        padding: 2px 8px;
        font-family: sans-serif;
        text-decoration: none;
    }
    .arrow {
        padding: 2px 8px;
        background: #c2c7cb;
        border-top: solid #c8c9cb 2px;
        border-left: solid #c8c9cb 2px;
        border-bottom: solid #000002 2px;
        border-right: solid #000002 2px;
        box-shadow:
            inset 2px 2px 0 0 #fcffff,
            inset -2px -2px 0 0 #868a8e;

        &:after { content: '▾'; }
    }
}

// ---
.xp {
    background: #fff;
    border: solid #859bb5 1px;
    padding: 1px;

    .selection {
        color: #4c5e88;
        font-family: sans-serif;
        text-decoration: none;
        padding: 0 20px 0 8px;
    }
    .arrow {
        background-image: linear-gradient(135deg, #d5e2fd, #b3c9f9);
        border-radius: 2px;
        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);

        &:after {
            content: '';
            display: block;
            width: 19px;
            height: 27px;
            margin: 0 0 0 2px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E %3Cpath fill='none' stroke='%234c5e88' stroke-linecap='square' stroke-width='10' d='M10 10l20 20 20-20'/%3E %3C/svg%3E");
            background-repeat: no-repeat;
            background-position: center;
            background-size: 12px auto;
        }
    }
}

// ---
.aero {
    background-color: #eee;
    background-image: linear-gradient(to bottom, #f1f1f1 0, #ececec 50%, #dedede 51%, #cfcfcf 100%);
    border: solid #707070 1px;
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px #fff;
    padding: 4px 6px;
    color: #090000;
    text-shadow: 0 1px 1px rgba(255, 255, 255, .5);

    .selection {
        font-family: sans-serif;
        text-decoration: none;
        padding: 0 10px 0 0;
    }
}

// ---
.metro {
    border: solid #797979 2px;
    padding: 8px 8px 8px 10px;

    .selection {
        font-family: sans-serif;
        text-decoration: none;
        padding: 0 16px 0 0;
        color: #555;
    }
    .arrow:after {
        content: '';
        display: block;
        width: 16px;
        height: 16px;
        margin: 0 0 0 2px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E %3Cpath fill='none' stroke='%23797979' stroke-linecap='square' stroke-width='10' d='M10 10l20 20 20-20'/%3E %3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 15px auto;
    }
}

// ---
.aqua {
    background: #fff;
    border: solid #6a96d5 2px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 0 10px -2px #6a96d5;

    .selection {
        font-family: sans-serif;
        font-weight: 700;
        text-decoration: none;
        color: #5d5f6b;
        padding: 4px 10px;
    }
    .arrow {
        background-image: linear-gradient(180deg, #c0d7f1 0, #96beee 50%, #c2ecfd 100%);
        border-left: solid #7fa9df 1px;
        padding: 4px 8px;

        &:after {
            color: #626262;
            content: '▾';
        }
    }
}
