/* Variables */

    :root {
        --color-blue-dark    : rgb(16, 118, 195);
        --color-blue         : rgb( 12, 155, 212);
        --color-blue-light   : rgb(165, 211, 240);
        --color-green-dark   : rgb(113, 119, 10);
        --color-green        : rgb(175, 184, 13);
        --color-green-light  : rgb(220, 220,  70);
        --color-yellow       : rgb(250, 233,  80);
        --color-orange       : rgb(238, 129,  14);
        --color-orange-light : rgb(253, 182,  68);
        --color-red-dark     : rgb(156,  25,  31);
        --color-red          : rgb(206,  31,  40);
        --color-red-light    : rgb(240,  58,  58);
        --color-white        : rgb(255, 255, 255);
        --color-gray-light-x : rgb(250, 250, 250);
        --color-gray-light   : rgb(240, 240, 240);
        --color-gray         : rgb(220, 220, 220);
        --color-gray-dark    : rgb( 80,  80,  80);
        --color-black        : rgb( 20,  20,  20);
        --font-sans-serif    : 'Segoe UI', 'Helvetica Neue' , Arial, sans-serif;
    }



/* General styles. */

    body {
        background-color: var(--color-gray-light-x);
        color: var(--color-gray-dark);
        font-family: var(--font-sans-serif);
        font-size: 1.2rem;
    }

    h1 {
        font-family: var(--font-sans-serif);
        font-weight: 900;
    }

        main {
            position: relative;
            text-align: center;
            min-height: 100vh;
        }

        html, body {
            min-height: 100vh;
        }

            .page-child main:after {
                position: absolute;
                top: 50%;
                left: 50%;
                content: '\e83d';
                font-family: var(--font-icons);
                font-size: 5rem;
                font-weight: 900;
                color: var(--color-gray-light-x);
                animation: 0.5s linear infinite loader;
                background: var(--color-blue-dark);
                width: 100px;
                height: 100px;
                line-height: 100px;
                border-radius: 50px;
            }

            @keyframes loader {
                0% {
                    transform: translateX(-50%) translateY(-50%) rotateZ(0);
                }
                100% {
                    transform: translateX(-50%) translateY(-50%) rotateZ(360deg);
                }
            }



/* Content */

    .content {
        position: relative;
        z-index: 1;
        font-size: 1.8rem;
        text-align: left;
        margin-top: 5em;
        margin-bottom: 1em;
        padding: 2em 3em;
        border-radius: 5px;
        max-width: 1680px;
        margin: 50px auto;
    }

        .content h1 {
            font-size: 3em;
            color: var(--color-gray-dark);
            text-align: center;
            margin-top: 25px;
            margin-bottom: 50px;
        }
        
        .content p {
            text-align: center;
            margin-top: 10px;
            margin-bottom: 50px;
            padding: 0 40px 20px 40px;
        }

        .content a,
        .content a:visited {
            display: block;
            border-radius: 3px;
            color: var(--color-gray-dark);
            background: var(--color-gray-light);
            margin-bottom: 2rem;
        }
    
        .content a:hover {
            background: var(--color-gray);
            color: var(--color-gray-dark);
        }

        .content figure {
            position: relative;
            height: 300px !important;
            overflow: hidden;
            padding: 20px;
        }

            .content figure img {
                object-fit: cover;
                object-position: 0 50%;
                width: 100%;
            }
    
        #image-container {
            z-index: 1;
        }
    
    footer {
        margin-bottom: 50px;
    }



/* Controls */

    #controls {
        position: fixed;
        z-index: 1;
        bottom: 1em;
        right: 1em; 
        padding: 1.5em 2.5em;
        background-color: var(--color-gray-dark);
        box-shadow: 0 0 0 3px var(--color-gray);
        border-radius: 3px;
        text-align: left;
        font-family: var(--font-icons), var(--font-sans-serif);
    }

        #controls a {
            color: var(--color-green-light);
        }

        #controls label {
            padding: 0.5em 0;
            line-height: 1;
        }

        #controls label[for="fit-to-screen"] {
            color: var(--color-orange-light);
        }
        
        #controls label[for="actual-size"] {
            color: var(--color-blue-light);
        }