@import url("https://fonts.googleapis.com/css?family=Heebo:300,400,600");
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,600,700,800");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");


html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
}

body {
    font-family: Heebo;
    background-color: rgb(249, 251, 252);
    max-width: 100%;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: Roboto;
    font-weight: 800;
}

h1 {
    font-size: 300%;
}
h2 {
    text-align: center;
    font-size: 250%;
}

h3 {
    font-size: 200%;
}
h4 {
    font-size: 150%;
    color: #9f6bc0;
    text-align: center;
    margin-bottom: 1%;
}
h5 {
    font-size: 120%;
}
h6 {
    font-size: 100%;
}

@media screen and (max-width: 980px) {
    h1 {
        font-size: 240%;
    }

    h2 {
        font-size: 200%;
    }
}

@media screen and (max-width: 720px) {
    h1 {
        font-size: 210%;
    }

    h2 {
        font-size: 160%;
    }

    h4 {
        font-size: 130%;
    }
}

@media screen and (max-width: 480px) {
    h1 {
        font-size: 210%;
    }

    h2 {
        font-size: 140%;
    }

    h4 {
        font-size: 130%;
    }
}

ol, ul {
    counter-reset: element;
}
li {
	list-style-type: none;
	counter-increment: element;
	margin-bottom: 10px;
}
li:before {
	content: counter(element);
	padding: 0 20px 6px;
	vertical-align: middle;
	font-weight: bold;
    font-size: 1.1em;
    color: #9f6bc0	
}

/* Screen */

.only-on-small-screen {
    display: none;
}

@media screen and (max-width: 980px) {
    .only-on-big-screen {
        display: none;
    }

    .only-on-small-screen {
        display: flex;
    }
}

/* Headers */

header {
    padding: 2%;
    margin: auto;
    text-align: center;
    color: #9f6bc0;
    background-color: #FFF;
    font-size: 80%;
    box-shadow: 0px 5px 5px lightgray;
}

    @media screen and (max-width: 980px) {
        .alone-header {
            align-items: center;
            position: sticky;
            top: 0px;
            z-index: 4;
        }

        .inner {
            margin: auto;
        }
    }

/* Navigation */

nav {
    width: 18vw;
    text-align: center;
    background-color: #FFF;
    height: 100vh;
    position: sticky;
    top: 0px;
    box-shadow: 0px 10px 10px lightgray;
}

.nav-wrapper {
    margin-top: 10%;
    margin-bottom: 10%;
}

.nav-element {
    font-weight: 700;
    font-size: 150%;
}

.nav-element.selected {
    color: #9f6bc0;
}

@media screen and (max-width: 980px) {
    nav {
        width: 100%;
        height: 90vh;
        background-color: #FFF;
    }

    .nav-header {
        display: none;
    }

    .nav-wrapper {
        margin: 0;
        padding-top: 5%;
        padding-bottom: 5%;
    }
}

/* Buttons */

.button {
    margin: 3px;
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    background: #9f6bc0;
    color: #FFF;
    border-radius: 200px;
    border: solid #9f6bc0 2px;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    height: 2.85em;
    line-height: 2.95em;
    padding: 0 1.5em;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

    .button:hover, .button.selected {
        color: #9f6bc0;
        background: none;
    }

    .button.alt {
        background: none;
        color:#9f6bc0;
    }

    .button.small {
        font-size: 0.8em;
    }

    .button.big {
        font-size: 1.35em;
        padding: 0 2em;
    }

    .button.fit {
        display: block;
        margin: 0 0 1em 0;
        width: 100%;
    }

/* Inputs */

input[type="text"] {
    -webkit-appearance: none;
    outline: 0;
    width: 100%;
    margin: 2%;
    padding-left: 2%;
    height: 40px;
    border: solid 1.5px #FFF;
    border-radius: 20px;
    font-size: 1.2em;
    box-shadow: 0px 3px 5px lightgray;

}

    input[type="text"]:focus,
    input[type="text"]:active {
        border: solid 1.5px #9f6bc0;
    }

/* Tables */

.table-wrapper {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
}

table {
    width: 100%;
}

    table tbody tr {
        font-size: 110%;
        text-overflow: clip;
        overflow: hidden;
        white-space: wrap;
    }

    table td {
        padding: 0.5em 0.5em;
        text-overflow: ellipsis;
    }

    table th {
        font-weight: 700;
        padding-bottom: 0.75em;
        text-align: center;
        margin: auto;
    }

    table thead {
        color: #9f6bc0;
        font-family: Roboto;
        font-weight: 700;
        font-size: 1.5em;
        text-align: center;
    }

    table thead tr {
        margin-bottom: 2%;
    }

    table tfoot {
        border-top: solid 2px;
    }

    table.alt {
        border-collapse: separate;
    }

        table.alt tbody tr td {
            border: solid 1px;
            border-left-width: 0;
            border-top-width: 0;
        }

            table.alt tbody tr td:first-child {
                border-left-width: 1px;
            }

        table.alt tbody tr:first-child td {
            border-top-width: 1px;
        }

        table.alt thead {
            border-bottom: 0;
        }

        table.alt tfoot {
            border-top: 0;
        }

/* Boxes */

.box {
    background-color: #FFF;
    margin: 1%;
    padding: 5px;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 20px;
    box-shadow: 0px 10px 15px lightgray;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s ease;
}

.box::before {
    opacity: 0;
}

    .box.colored {
        background: #9f6bc0;
    }

    .box.fit {
        width: 100%;
    }

    .box.small {
        width: 25%;
    }

    .box.limit {
        min-width: 35%;
    }

    .box.vertical {
        display: block;
    }

    .box.inverted {
        box-shadow: inset 0px 0px 3px lightgray;
    }

    @media screen and (max-width: 980px) {
        .box {
            width: 96%;
        }
    }

/* Clickable */

.clickable {
    cursor: pointer;
}

/* Wrappers */

.wrapper {
    margin-left: 1%;
    margin-right: 1%;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .wrapper.main {
        margin: 0;
        align-items: flex-start;
    }

    .wrapper.title {
        flex-wrap: wrap;
    }

.page-wrap {
    margin-top: 1%;
    width: 82vw;
}

    @media screen and (max-width: 980px) {
        .page-wrap {
            width: 100%;
        }

        .wrapper.main {
            display: block;
        }
    }

.coin-wrap {
    width: 33%;
    margin: 1%;
    text-align: center;
}

/* Containers */

.container {
    -webkit-appearance: none;
    display: flex;
    justify-content: space-between;
    flex-basis: auto;
    flex-grow: 1;
    margin-bottom: 1%;
}

    .container.main {
        margin-left: 5%;
        margin-right: 5%;
    }

    .container.vertical {
        flex-wrap: wrap;
    }

    .container.sub {
        display: block;
    }

    .container.left {
        justify-content: left;
    }

    .container.right {
        justify-content: right;
    }

    @media screen and (max-width: 1300px) {
        .container.main {
            margin-left: 2%;
            margin-right: 2%;
        }
    }

    @media screen and (max-width: 980px) {
        .container {
            flex-wrap: wrap;
            align-items: center;
        }
    }

/* Icons */

.material-icons {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: content 1.2s ease-in-out;
    -webkit-transition: content 1.2s ease-in-out;
    -ms-transition: content 1.2s ease-in-out;
    transition: content 1.2s ease-in-out;
    margin: 20%;
    vertical-align: bottom;
    font-size: 230%;
}

.pic {
    margin-right: 0.9em;
}

@media screen and (max-width: 980px) {
    .star {
        font-size: 180%;
    }
}

@media screen and (max-width: 720px) {
    .star {
        font-size: 140%;
    }
}

/* Percentages */

.percentage.positive {
    color: green;
}

.percentage.negative {
    color:red;
}

/* Others */

.favList {
    height: 40vh;
    display: flex;
    flex-direction: column;
    justify-content: start;
    width: auto;
}

.chart {
    min-width: 50vw;
    min-height: 45vh;
}

@media screen and (max-width: 980px) {
    .doughnut {
        min-width: 50vw;
        min-height: 45vh;
    }
}

.code {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    display: flex;
    justify-content: center;
    font-size: 1.15em;
    color: #FFF;
    background-color: #9f6bc0;
}

    .code:hover {
        color: #9f6bc0;
        background-color: #FFF;
    }