html {
    touch-action: manipulation;
    -ms-touch-action: manipulation;
    min-height: 100vh;
}

body {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    min-height: 100vh;

    margin: 0;
    background: #fff;
}
.body-dark {
    background:#000;
}

input {
    font-size: xx-large;

    width: 50%;
    height: 33%;
}

.title-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;

    width: 100%
}


.title-text {
    font-size: xx-large;
    max-width: 50%;
    min-width: 20%;
    font-family: 'Consolas', serif;
    text-align: center;

    white-space: nowrap;
    overflow-x: hidden;

    color: #000;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px inset #000;

    margin-bottom: 15px;
}

.title-text-dark {
    color: #fff;
    border-bottom: 1px inset #fff;
}


.thumbnail {
    width: 256px;
}

.btn {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;

    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    font-family: 'Consolas', serif;
    color: #000;
    font-size: 20px;
    background: #fff;
    padding: 10px;
    margin: 15px 15px;
    border: solid #000 1px;
    text-decoration: none;
    cursor: pointer;
    width: 276px;
}

.btn:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
}

.btn-dark {
    color: #fff;
    background: #000;
    border: solid #fff 1px;
}

.btn-dark:hover {
    background: #fff;
    color: #000;
}

.flex-column {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;

    margin: 0;
}

.label {
    padding-top: 10px;
    font-family: 'Raleway', sans-serif;
}

.info-text {
    font-family: 'Raleway', sans-serif;
    font-size: x-large;
}

.button-area {
    flex-flow: row wrap;
    max-width: calc((12em + 60px) * 5);
    z-index: 5;
}

.tool-btn {
    height: 2em;
    width: 2em;
    margin: 1em 1em 1em 0;
    cursor: pointer;
}

#dark-mode {
    width: 64px;
    height: 64px;
}

#tool-overlay {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
    align-content: flex-start;

    z-index: 10;

    position: fixed;
    bottom: 0;
    height: auto;
    width: 100%;
    overflow: hidden;
}

#tool-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: center;
    align-content: flex-start;

    width: 100%;
}

@media (min-width: 320px) {
    /* smartphones, iPhone, portrait 480x320 phones */
    .is_mobile_device {
        display: block;
    }
}

@media (min-width: 481px) {
    /* portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */

}

@media (min-width: 641px) {
    /* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */
    .is_mobile_device {
        display: none;
    }
}

@media (min-width: 961px) {
    /* tablet, landscape iPad, lo-res laptops ands desktops */

}

@media (min-width: 1025px) {
    /* big landscape tablets, laptops, and desktops */

}

@media (min-width: 1281px) {
    /* hi-res laptops and desktops */

}

/* open-sans-regular - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/OpenSans/open-sans-v15-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Open Sans Regular'), local('OpenSans-Regular'),
    url('fonts/OpenSans/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/OpenSans/open-sans-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/OpenSans/open-sans-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('fonts/OpenSans/open-sans-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/OpenSans/open-sans-v15-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* raleway-regular - latin */
@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/Raleway/raleway-v12-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Raleway'), local('Raleway-Regular'),
    url('fonts/Raleway/raleway-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/Raleway/raleway-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/Raleway/raleway-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('fonts/Raleway/raleway-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/Raleway/raleway-v12-latin-regular.svg#Raleway') format('svg'); /* Legacy iOS */
}

