/*---------------------
    Main
----------------------*/

a, article, body, div, footer, h1, h2, h3, h4, h5, h6, hr, iframe, img, li, main, p, section, table, th, tr, td, ul, ol  { /* reset */
	margin: 0px auto;
	padding: 0px;
}

html {
	box-sizing:border-box;
}

*,
*:before,
*:after {
	box-sizing:inherit;
}

article.info_article {
	max-width:900px;
	padding:20px;
	border-radius: 10px;
}

a {
	transition: all 0.3s ease;
	text-decoration: none;
	color:#919191;
}

label a {
	text-decoration: underline;
}

body {
	background:white;
	text-align: center;
	font-family: 'VT323', monospace;
	color:#919191;
}

main {
	padding-top:80px;
	min-height:80vh;
}

h1 {
	transition:all ease 0.3s;
	padding:20px;
	color:white;
}

h2 {
    transition: all 0.3s ease;
	font-size: 26px;
}

h3 {
    text-align: center;
    font-size:25px;
    padding:5px 0px;
	text-transform: uppercase;
}

h4 {
    margin:10px;
    padding:10px;
    font-weight: 100;
	font-size: 22px;
	text-align: left;
}

h4 i {
    margin-right:5px;
}

h5 {
    font-size: 20px;
    margin-bottom: 5px;
}

input {
    appearance: none;
    -webkit-border-radius:0;
    border-radius:0;
}

hr {
    margin:20px 5px 0px 5px;
    border:1px solid lightgray;
}
/* logo */
#logo {
	max-width: 800px;
}

#logo img {
	width:100%;
}

/* Footer
----------------------*/
footer {
	width: 100%;
	padding:10px;
}

footer div.footer-links {
	max-width:1200px;
}

footer a img {
	width:40px;
}

footer .link_list {
	list-style: none;
	text-align: left;
	display: inline-block;
	text-align: center;
	align-content: flex-start;
	vertical-align: text-top;
	margin:0px;
}

footer .link_list {
	display: block;
	margin-top:0px;
}
footer .link_list a {
	padding:10px;
	text-transform:uppercase;
	font-size:12px;
	display: inline-block;
}

footer p {
	margin: 0px auto;
	padding:10px;
	text-align: center;
	text-transform: uppercase;
}

/* form */

form {
	padding:20px;
	margin:0px auto;
	border:1px solid lightgray;
	background:white;
}

form .row span {
    display:block;
    padding-top:5px;
    font-size:12px;
}

form label {
	color:gray;
	text-align: left;
	font-size:16px;
	display: block;
	padding:5px;
	text-transform: uppercase;
}

form input[type='text'],
form input[type='email'],
form input[type='submit'],
form input[type='number'],
form input[type='password'],
form input[type='tel'],
form input[type='datetime'],
form input[type='file'],
form select {
	border:1px solid lightgray;
	padding:10px;
	font-size:1.5rem;
	margin:0px auto;
	width:100%;
	background:white;
	font-family: 'VT323', monospace;
	color:#919191;
	font-weight:100;
	appearance: none;
	-webkit-appearance: none;
	border-radius:0px;
}

form input:focus {
    border:none;
}
form textarea {
    width:100%;
    border:1px solid lightgray;
    min-height:200px;
    resize: none;
    padding:10px;
    margin:0px;
    font-size:16px;
}

form input[type='submit'] {
	cursor: pointer;
	background:#d9d9d9;
	margin-top:20px;
	text-transform: uppercase;
	font-weight: bold;
}

form input[type='submit']:hover {
    background:#c2c2c2;
}

form .compact {
    display: flex;
}

form .numbers {
    display: flex;
}

form .radio_list {
    display: flex;
}

form .numbers .radio {
    margin: auto;
    width:40px;
}

form .flex-container {
    display:flex;
}

form input[type="checkbox"] {
	padding:5px;
	border:1px solid gray;
	cursor: pointer;
	vertical-align: bottom;
	display: inline-block;
}

input[type="checkbox"] ~ label {
	padding: 5px;
	margin: 0px;
	display: inline-block;
}

form input[type="checkbox"]:checked {
	background:darkred;
}

form img {
	width:100%;
}

form span {
	color:gray;
	text-align: left;
	padding:5px;
}

.text-container {
	text-align: left;
	padding:10px;
	font-size:17px;
	font-weight:normal;
	width: 800px;
	max-width: 100%;
}

.text-container p {
	padding:8px;
}

.text-container span {
	padding:0px;
	text-align:center;
	color:rgb(177, 177, 177);
	display: block;
}

/* nav */
nav {
	width:100%;
	z-index: 2;
	text-align: center;
	padding:5px;
	position:fixed;
	background:white;
}

nav a {
	padding:8px;
	text-transform: uppercase;
	font-weight: bold;
	font-family: Futura, "Trebuchet MS", Arial, sans-serif;
	font-size: 1.5rem;
	font-style: normal;
	font-variant: normal;
	font-weight: bold;
	color:white;
	background:black;
	display: inline-block;
	margin:2px;
}

nav a:hover {
	background:black;
}

#main_links {
	display: inline-block;
}

@media screen and (max-width:550px) {
	#main_links {
		display: none;
	}
}

/* hamburger menu
--------------------*/
#burger {
    cursor: pointer;
    float: right;
    margin-right: 20px;
    position: relative;
    margin-top:5px;
	border: none;
}

#burger + label {
	transform:1s all ease;
	position: fixed;
  	top: 22px;
  	left: 22px;
  	height: 20px;
  	width: 18px;
  	z-index: 99;
	padding:10px;
}

#burger + label span {
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  margin-top: -1px;
  left: 0;
  background: #919191;
  transition: .5s;
}

#burger + label span:first-child {
  top: 4px;
}

#burger + label span:last-child {
  top: 16px;
}

#burger + label:hover {
  cursor: pointer;
}

#burger:checked + label span {
  opacity: 0;
  top: 50%;
}

#burger:checked + label span:first-child {
  opacity: 1;
  transform: rotate(45deg);
}

#burger:checked + label span:last-child {
  opacity: 1;
  transform: rotate(-45deg);
}

#burger-menu {
    transition: all 0.3s ease;
	left: -101%;
	text-align: center;
	position: fixed;
	height: 100%;
	overflow-y: scroll;
	z-index: 99;
    padding-bottom: 70px;
	background:white;
	width:100%;
}

#burger-menu::-webkit-scrollbar {
    width: 0 !important
}

#burger-menu a {
	color: white;
	margin-left: 0px;
	transition: all 0.3s;
    display: inline-block;
    padding: 18px;
	transition: .5s;
  	transition-delay: 0s;
	opacity: 0;
	max-width: 200px;
}

nav input:checked ~ #burger-menu {
  	left: 0px;
}
nav input:checked ~ #burger-menu a {
  	opacity: 1;
  	transition-delay: .0s;
}

/* site-links */
#site-links {
	position: fixed;
	right:10px;
	top:10px;
	padding:0px;
}

#site-links a {
	padding:5px;
	font-size: 1rem;
	background:red;
}

/* Product */
#products {
	list-style: none;
	padding:5px;
	text-align: center;
}

.product {
	width: 280px;
	margin:10px;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	position:relative;
	overflow:hidden;
	box-shadow:0px 2px 10px #ddd;
	overflow:hidden;
}

.product .edit {
	padding:0px 10px;
	font-size:30px;
	border-radius: 50%;
	display: block;
	position: relative;
	text-align: center;
	width:50px;
	transform: rotate(45deg);
	margin:0px auto;
}

.product .img {
	height:220px;
	padding:0px;
	line-height: 240px;
}

.product img {
	vertical-align: middle;
	width:100%;
	padding:10px;
}

.product h3 {
	font-weight: normal;
	text-align: center;
	padding:0px;
}

.product .info {
	padding:10px;
	vertical-align: middle;
}

.product span {
	font-size: 1.3rem;
}

.product .price {
	position:absolute;
	top:10px;
	left:10px;
	margin:0px auto;
	text-align:center;
	background:rgba(200,200,200,0.3);
	padding:5px;
	font-size:1.3rem;
}

.product .type {
	position:absolute;
	top:10px;
	right:10px;
	margin:0px auto;
	text-align:center;
	background:rgba(200,200,200,0.3);
	padding:5px;
	font-size:1.3rem;
}

.product .stats div {
	padding:0.2rem;
	margin:0px;
	font-size:0.8rem;
	font-weight: bold;
	margin-bottom:0px;
	transition: width 0.5s;
}

.product .data {
	display: flex;
	margin: 0px 10px 10px 10px;
}

.product .stats {
	padding:0px;
	display:flex;
	color:white;
}

.product .data button {
	display: block;
	border:1px solid lightgray;
	color:white;
	font-weight: bold;
	cursor: pointer;
	font-size: 1rem;
	flex:1;
	padding: 0.2rem;
	transform:1s ease all;
	text-transform: uppercase;
	font-family: 'VT323', monospace;
}

.product .vote-a,
.product .vote-a-btn {
	background:lightgray;
}

.product .data button.vote-a-btn:active {
	background:green;
}

.product .vote-b,
.product .vote-b-btn {
	background:darkgray;
}

/* pagination */
.pagination {
	list-style: none;
}

.pagination a,
.pagination span {
	display: inline-block;
	padding:1rem;
	box-shadow:0px 0px 4px lightgray;
	font-size: 20px;
	margin:10px;
	font-weight: bold;
}

.pagination a:hover {
	color:black;
	background: #faf7f7;
}

.pagination span {
	color:lightgray;
}

.pagination .spacer {
	box-shadow:none;
}

/* type fiter */
#type-filters {
	max-width:600px;
}
#type-filters a,
#type-filters span {
	font-size:1rem;
	display: inline-block;
	padding:0.5rem;
	margin:5px;
	text-transform: uppercase;
	border-radius: 5px;
	box-shadow:0px 2px 8px #ddd;
}

#type-filters span {
	color:lightgray;
}

#type-filters a:hover {
	color:black;
	background: #f3f3f3;
}

#type-filters a.active {
	background:#f3f3f3;
}

/* */
#table-form img {
	width:80px;
}

#notification-container {
	position: fixed;
	bottom:1rem;
	z-index: 9;
	display: flex;
	flex-direction: column;
	gap:0.1rem;
}

.notification {
	max-width: 100%;
	width:300px;
	background-color: #4CAF50;
	color: white;
	text-align: center;
	padding: 0.5rem;
	opacity: 1;
	animation: slideUp 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
	border-radius: 5px;
	margin-bottom:5px;
	margin-left:5px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	font-size: 1rem;
	text-align: left;
}

.notification span {
	min-width: 250px;
}

.notification .close-btn {
	padding:0.5rem;
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
	border:0px;
	color:white;
	border:0px;
	background:transparent;
	font-size: 1rem;
	cursor: pointer;
}

@keyframes slideUp {
	from {
		top: -100px;
		transform: translateY(100%);
	}
	to {
		top: 10px;
		transform: translateY(0);
	}
}

.notification.notification-fade {
	animation: fadeOut 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes fadeOut {
	from {
		opacity: 100%;
	}
	to {
		opacity: 0%;
	}
}

.empty {
	margin:1rem auto;
	max-width: 400px;
}