:root {
	--color-dark: rgb(10, 10, 18);
	--color-semidark: rgb(34, 36, 44);
	--color-grey: rgb(79, 75, 79);
	--color-light: #fafaff;
	--color-semilight: #95a5a6;
    --color-blue: #3498db;
    --color-purple: #cb89f6;
    --color-green: #2ecc71;
    --color-error: #e74c3c;
}

* {
	box-sizing: inherit;
}

html {
	font-family: sans;
	font-size: 1.1rem;
	height: 100%;
	box-sizing: border-box;
}

body {
    margin: 0;
    height: 100%;
    min-height: 100vh;
	display: grid;
	grid-template-rows: auto 1fr auto;
	background: var(--color-dark);
	color: var(--color-light);
	padding: 0px;
	font-feature-settings: "liga" 0;
	font-weight: 300;
}

a, summary {
	color: var(--color-blue);
    text-decoration: none;
    cursor: pointer;
}

img {
    display: none;
}
img[src] {
    display: block;
}

a:visited {
	color: var(--color-purple);
}
a:hover, summary:hover {
    text-decoration: underline;
}

hr {
   border: 1px solid var(--color-grey);
}

header {
    border-bottom: 4px solid var(--color-semidark);
    .menu-item {
        padding: 0.5em 1em;
        margin: 0;
        font-size: 1.3em;
        display: inline-block;
        img {
            height: 1.3em;
            float: left;
            margin-right: 0.2em;
        }
    }
    a:visited {
        color: var(--color-blue);
    }
    a.active {
        text-decoration: underline;
    }
}

main {
    padding: 0 1em;
    margin-bottom: 1em;
}

footer {
    border-top: 4px solid var(--color-semidark);
    padding: 1em;
    a {
        padding: 1em 0;
    }
}

input, textarea {
    font-size: 1em;
    background: var(--color-semidark);
    color: var(--color-light);
    padding: 0.4em;
    margin-bottom: 0.4em;
    border: 2px solid var(--color-grey);
    border-radius: 0.4em;
}

input[type=submit], button {
    background: var(--color-semidark);
    color: var(--color-blue);
    border: 2px solid var(--color-blue);
    border-radius: 0.2em;
    padding: 0.4em 0.8em;
	font-weight: 600;
}

textarea {
    min-height: 5em;
}

textarea:focus, input:focus{
    outline: none;
}

kbd {
    background-color: var(--color-semidark);
    padding: 0 0.1em;
}

table {
    border-collapse: collapse;
    width: 100%;
    td, th {
        padding: 0.5em;
        border: 1px solid var(--color-grey);
        text-align: center;
    }
}

code, kbd {
    background-color: var(--color-grey);
    padding: 0 0.2em;
}

.container {
    max-width: 70em;
    width: 100%;
    margin: auto;
    margin-top: 1em;
    padding: 1em 2em;
    background-color: var(--color-semidark);
    border: 1px solid var(--color-grey);
    border-radius: 0.4em;
}

.box {
    border: 1px solid var(--color-light);
    padding: 0.5em;
    .header {
        font-weight: bold;
        font-size: 1.4em;
    }
}

.success {
    border-color: var(--color-green);
    color: var(--color-green);
}

.full-width {
    width: 100%;
}

.title {
    img {
        margin: 0 auto;
        max-width: 15em;
    }
}

.search {
    margin-top: 1em;
    input {
        width: 80%;
        font-size: 2em;
    }
}

.result {
    padding: 0.5em;
    margin-top: 0.5em;
    .result-title {
        margin-bottom: 0.2em;
        a {
            font-size: 1.4em;
        }
        img[src] {
            height: 1.6em;
            width: 1.6em;
            margin: 0;
            margin-right: 0.5em;
            display: inline-block;
        }
    }
    .result-url {
        color: var(--color-semilight);
        display: inline-block;
        overflow: hidden;
        height: 1.2em;
        line-height: 1.2em;
        font-size: 0.8em;
        max-width: 100%;
        margin: 0;
        word-break: break-all;
    }
    .result-content {
        margin: 0;
        font-size: 0.9em;
        max-width: 50em;
    }
}

.hidden {
    display: none;
}

.float-right {
    float: right;
}

.nowrap {
    white-space: nowrap;
}

.highlight {
    background: var(--color-grey);
}

.error {
    color: var(--color-error);
}

.mt-1 {
    margin-top: 1em;
}

.mv-1 {
    margin-top: 1em;
    margin-bottom: 1em;
}

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

.center-align {
    margin-left: auto;
    margin-right: auto;
}

mark {
    font-weight: 600;
    background: transparent;
    color: inherit;
}

@media screen and (width <= 1024px) {
    html {
        font-size: 1rem;
    }
    .search {
        input {
            font-size: 1.5em;
            width: 95%;
        }
    }
    .result {
        .result-title {
            a {
                font-size: 1.2em;
            }
        }
    }
}
