@import 'https://fonts.googleapis.com/css?family=Montserrat:400,700|Open+Sans:400,700|Roboto+Mono:100,300';

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;

    overflow: hidden;

    font-family: 'Open Sans', sans-serif;

    color: #8e98a7;
    background: #FBFBFC;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
}

h1, h2 {
    color: #363D46;
}

h3 {
    font-weight: 300;
}

h4 {
    font-size: 1.2em;
    color: #363D46;
    margin: 0;
}

h5 {
    font-size: 1em;
    margin: 0;
    color: #7a92ce;
}

.Page {
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.Page.Hidden {
    position: absolute;
}

.Overview {
    display: flex;
    flex-direction: column;

    max-width: 85%;

    overflow: auto;

    align-items: center;
    justify-content: center;
}

.Selection {
    display: flex;
    flex-direction: row;

    max-width: 100%;
    
    padding: 3em;
}

.Selection > .choice {
    width: 10em;
    height: 11em;

    border-radius: 10%;
    border: 2px solid #EBECEC;
    
    margin-left: 2em;

    display: flex;

    align-items: center;
    justify-content: center;
    flex-direction: column;
    
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;

    padding: 0.7em;
    box-sizing: border-box;

    -webkit-transition: linear background 0.2s;
    transition: linear background 0.15s;
}

.Selection > .choice:hover {
    cursor: pointer;
    background: #EBECEC;
}

.Selection > .choice > img {
    display: block;
    flex: 1 1 0;
    margin-bottom: 1em;
}

#ViewSidebar {
    display: none !important;
    width: 16em !important;
}

.Selection > .choice:first-child { margin-left: 0; }

input[type=text].biginput {
    display: block;
    border: none;
    outline: none;
    background: #F0F0F0;
    border-bottom: 0.2em solid #EAEAEA;
    font-size: 1.25em;
    line-height: 1.25;
    padding: 0.4em 1em;
    margin-bottom: 1em;
    box-sizing: border-box;
    width: 100%;

    overflow: auto;

    font-family: "Open Sans", "Lato", sans-serif;
}

input[type=text].biginput.error {
    border-bottom-color: #ea6556;
}

input[type=button].biginput, button.biginput {
    border: none;
    background: #7dd744;
    border-bottom: 0.2em solid #6fbe3c;
    font-size: 1.25em;
    line-height: 1.25;
    padding: 0.4em 1em;
    width: 100%;
    color: rgba(0, 0, 0, 0.6);
    cursor: pointer;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: rgba(0,0,0,0.4);
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: rgba(0,0,0,0.4);
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: rgba(0,0,0,0.4);
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: rgba(0,0,0,0.4);
}

.thick {
    font-family: "Montserrat", "Open Sans", sans-serif !important;
}

.medium {
    font-family: "Open Sans", sans-serif !important;
    font-weight: bold;
}

.thin {
    font-family: "Open Sans", sans-serif !important;
}

.inline {
    display: inline;
}

.emoticon {
    font-family: 'Roboto Mono';
    letter-spacing: -0.2em;
    transform: rotate(90deg);
    display: inline-block;
    overflow: visible;
}

.button {
    cursor: pointer;
    transition: color 0.2s ease;
}

.button:hover {
    color: #363D46;
}

.pad {
    margin-left: 1em;
}

input[type=button].biginput:active, button.biginput:active {
    color: rgba(0, 0, 0, 0.4);
}

#Page-Module {
    display: flex;
    flex-direction: column;
    align-items: stretch;

    z-index: 1;
    background: #FBFBFC;
}

#Page-Module > div {
    width: 100%;
    flex: 1 0 auto;

    display: flex;
    flex-direction: row;
}

#Page-Module > div:first-child > div, #Page-Module > div:last-child > div {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center; 

    overflow: hidden;
}

#Page-Module > div:first-child, #Page-Module > div:last-child {
    height: 4em;
    flex: 0 0 auto;
}

.clip {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.padded-box {
    padding: 0.75em;
    box-sizing: border-box;
}

#Page-Module > div:first-child > div:not(:last-child), #Page-Module > div:last-child > div:not(:last-child) {
    border-right: 1px solid #EBECEC;
}

#Page-Module > div:first-child {
    border-bottom: 1px solid #EBECEC;
}

#Page-Module > div:last-child {
    border-top: 1px solid #EBECEC;
    z-index: 1;
    background: #FBFBFC;
}

#Page-Module > div:nth-child(2) {
    flex: 0 1 auto;
    height: 100%;
}

#Page-Module > div:nth-child(2) > div {
    overflow: scroll;
}

#Sidebar {
    overflow: initial;
    width: auto;
    padding: 1em;

    flex: 1 0 auto;

    border-right: 1px solid #EBECEC;
}

#Sidebar > div {
    margin-top: 1em;
}

#Sidebar * {
    overflow: initial;
}

ul {
    margin-top: 0.3em;
    padding-left: 0.75em;
}

li {
    list-style-type: none;

    border-bottom: 1px solid #EBECEC;
    padding-bottom: 0.3em;
    margin-bottom: 0.6em;
}

img {
    max-width: 100%;
    max-height: 100%;
}

img.space {
    padding: 0.75em;
    box-sizing: border-box;
}

.giant {
    font-size: 10em;
    line-height: 1;
    margin: 0;
}

#Page-Error {
    display: none;
}

.Error-Code {
    font-family: 'Roboto Mono';
    font-weight: 100;
}

#Body {
    display: flex !important;

    flex-wrap: wrap;
    align-content: flex-start;

    width: 100%;
}

.Module-Wrapper {
    width: 33%;
    padding: 1em;

    box-sizing: border-box;
}

.Module-Template {
    overflow: hidden;
    border-radius: 0.5em;
    border: 1px solid #EBECEC; 

    padding: 0.5em 0.57em 0.75em 0.75em;
}

.Module-Template > div {
    flex: 1 0 auto;
}

.Module-Template > div:last-child {
    padding: 0.5em 0em;
    /* height: 2em; */
}

.Module-Template > div:first-child {
    display: flex;
    flex-direction: row;

    height: 5em;
    box-sizing: border-box;
}

.Module-Template > div:first-child > div {
    flex: 1 1 auto;
    min-width: 30%;

    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.Module-Template > div:first-child > div:last-child > i {
    font-size: 1.25em;
}

.Module-Template > div:first-child > div:last-child > i:not(:last-child) {
    padding-right: 0.75em;
    border-right: 1px solid #EBECEC;
    margin-right: 0.5em;
}

.Module-Template > div:last-child > p {
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    font-size: 0.9em;
}

.Add {
    background: #80D54E;
}

.Info {
    background: #e8e14e;
}

/**
 *? The MIT License (MIT)
 *
 * Copyright (c) 2015 Tobias Ahlin
 *?
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * >the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * s>ubject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * co>pies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 **/

.spinner {
  width: 70px;
  text-align: center;
}

.spinner > div {
  width: 18px;
  height: 18px;
  background-color: #444;

  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

@media only screen and (max-width: 975px) {
    .Module-Wrapper {
        width: 50%;
    }
}

@media only screen and (max-width: 650px) {
    .Module-Wrapper {
        width: 100%;
    }

    .Type-TypeName.medium {
        display: none;
    }
}

@media only screen and (max-width: 460px) {
    #ViewSidebar {
        display: flex !important;
    }

    #Sidebar {
        display: none;

        position: absolute;
        background: white;
        height: inherit;
    }

    #Sidebar.show {
        display: block;
    }

    #ShareOptions {
        display: none !important;
    }
}
