/* https://coolors.co/fe5f55-1b1b1b-f3e9dc-69a297-2176ae 

   maybe try this: https://coolors.co/262322-63372c-296eb4-b2a198-1789fc
*/
:root {
	--background-primary: #1b1b1b;
	--background-secondary: #393939;
	--border-primary: #4e4e4e;
    /*
	--color-primary: #fff;
	--color-accent: #fe5f55;

	--color-orange: #fe5f55;
	--color-linen : #f3e9dc;
	--color-green : #69a297;
	--color-blue  : #2176ae;

    --col-khaki: #b2a198;
    --col-azul: #296eb4;
    --col-raisin: #262322;
    --col-brown: #63372c;
    --col-bleu: #1789fc;
    */
    
    --bg-color: #191a1b;
    --caret-color: #79a617;
    --main-color: #79a617;
    --sub-color: #48494b;
    --sub-alt-color: #141516;
    --text-color: #e7eae0;
    --error-color: #a61717;
    --error-extra-color: #731010;
    --colorful-error-color: #a61717;
    --colorful-error-extra-color: #731010;
    
}
body {
	background-color: var(--bg-color);
	color : var(--text-color);
	font-family: 'Ubuntu', sans-serif;
	padding: 0;
	margin: 0;
    overflow-x: hidden;
}
header {
	/* background: var(--color-accent); 
	color: var(--background-primary); */
	margin: 0;
	padding: .5em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--sub-alt-color);
    position: relative;
}
@media(max-width: 768px) {
    header {
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
    }
}
header h1 {
	margin: 0;
    font-weight: 500;
    text-transform: lowercase;
    font-family: monospace;
    font-size: 3em;
    color: var(--main-color);
}
@media(max-width: 768px) {
    header h1 {
        margin-bottom: 0.5em;
    }
}
header h1 span {
    font-size: .75em;
}
header nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1em;
}
header a {
    color: var(--main-color);
    text-decoration: none;
    transition: all .3s;
}
header a:focus,
header a:hover {
    color: var(--sub-alt-color);
    background-color: var(--main-color);
}
#menu {
    position: absolute;
    top: 100%;
    right: 0;
    transition: right .3s;
}
#menu[aria-hidden='true'] {
    right: -100%;
}
#menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#menu ul li{
    display: block;
    padding: .5em 1em;
}
main {
	padding: 1.5em;
    line-height: 1.3;
}
main h1,
main h2,
main h3,
main h4 {
    font-weight: 500;
}
a {
	color: var(--text-color);
	text-decoration-color: var(--main-color);
	transition: all .2s linear;
}
a:hover {
	background-color: var(--text-color);
    color: var(--sub-alt-color)
}
button, 
input,
a.btn {
	border: 1px solid var(--sub-color);
	background-color: var(--sub-alt-color);
	color: var(--text-color);
	padding: .25em 1em;
	/* border-radius: .25em; */
	border: none;
}
button[type=submit] {
    background-color: var(--sub-alt-color);
    border: 1px solid var(--main-color);
    color: var(--main-color);
}
button[type=submit]:hover {
    background-color: var(--main-color);
    border: 1px solid var(--sub-alt-color);
    color: var(--sub-alt-color);
}
input,
textarea {
	background-color: var(--sub-color);
    color: var(--text-color);
}
dl,
form.containerForm {  
	display: grid;
	grid-auto-columns: 1fr 3fr;
	grid-auto-rows: auto;
  	gap: 1em 1em;
  	grid-template-areas:
  		". .";
	max-width: 30em;
}

dt,
form.containerForm label { 
    flex: 0 0 25%; 
    font-weight: 500;
    background-color: var(--sub-alt-color);
    padding: .5em;
}

dd,
form.containerForm input,
form.containerForm textarea { 
    flex: 0 0 75%;
    margin-left: 0;
    padding: .5em; 
}

/* login form */
.login {
    width: 400px;
    background-color: var(--sub-alt-color);
    /*box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.3);*/
    margin: 100px auto;
}
.login h1 {
    text-align: center;
    color: var(--text-color);
    font-size: 24px;
    padding: 20px 0 20px 0;
    border-bottom: 1px solid var(--bg-color);
}
.login form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 20px;
}
.login form label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    background-color: var(--main-color);
    color: var(--bg-color);
    border: 1px solid var(--main-color);
}
.login form input[type="password"], .login form input[type="text"] {
    width: 310px;
    height: 50px;
    border: 1px solid var(--main-color);
    margin-bottom: 20px;
    padding: 0 15px;
}
.login form input[type="submit"] {
    width: 100%;
    padding: 15px;
    margin-top: 20px;
    background-color: var(--bg-color);
    border: 0;
    cursor: pointer;
    font-weight: bold;
    color: var(--text-color);
    transition: background-color 0.2s;
}
.login form input[type="submit"]:hover {
    background-color: var(--caret-color);
    color: var(--sub-alt-color);
    transition: background-color 0.2s;
}

/* Register form */
.register {
    width: 400px;
    background-color: var(--sub-alt-color);
    box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.3);
    margin: 100px auto;
}
.register h1 {
    text-align: center;
    color: var(--text-color);
    font-size: 24px;
    padding: 20px 0 20px 0;
    border-bottom: 1px solid var(--sub-alt-color);
}
.register form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 20px;
}
.register form label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    background-color: var(--main-color);
    color: #ffffff;
    border: 1px solid var(--main-color);
}
.register form input[type="password"], .register form input[type="text"], .register form input[type="email"] {
    width: 310px;
    height: 50px;
    border: 1px solid var(--main-color);
    margin-bottom: 20px;
    padding: 0 15px;
}
.register form input[type="submit"] {
    width: 100%;
    padding: 15px;
    margin-top: 20px;
    background-color: var(--sub-alt-color);
   border: 0;
    cursor: pointer;
    font-weight: bold;
    color: var(--text-color);
    transition: background-color 0.2s;
}
.register form input[type="submit"]:hover {
    background-color: var(--text-color);
    color: var(--sub-alt-color);
    transition: background-color 0.2s;
}

/* results */
.results ul {
    padding: 0;
}
.results a {
	text-decoration: none;
	display: block;
	width: 100%;
}
.results a:hover {
	background-color: var(--sub-alt-color);
	color: var(--main-color);
}
.results ul li {
	list-style: none;
	display: flex;
	width: 100%;
	background: var(--sub-alt-color);
	margin: .25em 0;
	padding: 0;
    font-size: 1.5em;
    line-height: 2em;
}
.results span.id {
    display: inline-block;
    background: var(--sub-color);
    width: 2em;
    text-align: center;
}
.results span.name {
    padding-left: 1em;
}

@keyframes scanner {
    from {top: 0;}
    to {top: 100vh;}
}

@keyframes tasteTheRainbow {
    from {filter: hue-rotate(0deg);}
    to {filter: hue-rotate(359deg);}
}

main.scanner {
    background-color: #79a61733;
    color: var(--main-color);
}

main.scanner::after {
    content: '';
    display: block;
    width: 100vw;
    height: 3em;
    background-image: linear-gradient(rgba(121, 166, 23, 0), rgba(121, 166, 23, 128));
    position: absolute;
    top: calc(100vh + 3em);
    left: 0;
    z-index: 1;
    border-bottom: 1px solid var(--main-color);
    animation-name: scanner;
    animation-duration: 4s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

main.rainbow {
    background-color: red;
    animation-name: tasteTheRainbow;
    animation-duration: 7s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.content dd img {
    max-width: 800px;
}