 * {
    box-sizing: border-box;
    outline: none;
}

html {
    --light-blue: #4ea5e0;
    --blue: #3498db;
    --font: "Roboto";
    font-family: var(--font);
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
   width: 100%;
   height: 100%;
   margin: 0;
   position: absolute;
   top: 0; bottom: 0;
   left: 0; right: 0;
   background-color: #eee;
}
canvas {
    box-shadow: 0 0 5px #aaa;
    margin: auto;
    display: block;
}


input[type="file"] {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    left: -100%;
    top: -100%;
}

h1 {
    margin: 0;
    margin-bottom: 20px;
    border-bottom: 3px solid var(--blue);
    color: #333;
}
h2 {
    margin: 0;
    margin-bottom: 20px;
}
h1 > a {
    color: inherit;
    text-decoration: none;
}

a:not([href]) {
    display: none;
}

.btn, .page.needs-hover::before {
    background-color: var(--blue);
    padding: 10px;
    color: white;
    font-size: 100%;
    font-family: var(--font);
    border: none;
    border-radius: 1px;
    cursor: pointer;
    text-decoration: none;
}

.btn:hover, .page.needs-hover::before:hover {
    background-color: var(--light-blue);
    text-decoration: none;
}

input.btn::-webkit-input-placeholder {
    color: white;
}

.page {
    width: 500px;
    margin: auto;
    margin-top: 10px;
    background: white;
    padding: 20px;
    position: relative;
    z-index: 5;
    box-shadow: 0 0 10px #aaa;
}

.page.needs-hover {
    position: relative;
    z-index: 2;
    transition: all .5s;
    box-shadow: none;
    margin-top: -188px;
}

.page.needs-hover::before {
    background: var(--blue);
    bottom: -30px;
    content: "Extra";
    display: block;
    height: 20px;
    left: 50%;
    padding: 5px 15px;
    position: absolute;
    transform: translateX(-50%);
}

.page.needs-hover:hover {
    transform: none;
    margin-top: 10px;
    box-shadow: 0 0 10px #aaa;
}

.page.page-secondary {
    box-shadow: 0 0 5px #aaa;
}

.text-right {
    text-align: right;
}

#result-image {
    display: block;
    margin: 10px;
    background-image: url(./tiled-bg.png);
    max-width: 100%;
}

body.dragging-over > * {
    filter: blur(4px);
    transition: filter .3s;
}

body.dragging-over::after {
    color: white;
    content: "Drop it!";
    font-family: "Open Sans", sans-serif;
    left: 0; right: 0;
    position: absolute;
    text-align: center;
    top: 0; bottom: 0;
    animation: opacitr 1s infinite alternate;
    font-size: 15vw;
}


@keyframes opacitr {
    from {
        background-color: rgba(0, 0, 0, 0.5);
        padding-top: 30px;
    }

    to {
        background-color: rgba(0, 0, 0, 0.7);
        padding-top: 80px;
    }
}

footer {
    text-align: center;
    opacity: .5;
}

a {
    color: #333;
    font-weight: bold;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

hr {
    border: 1px solid #ddd;
    width: 50%;
}
