/*---------------------
    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 {
    padding:20px;
    border-radius: 10px;
}

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

body {
	background:white;
	text-align: center;
	font-family: Futura, "Trebuchet MS", Arial, sans-serif;
}

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

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

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

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

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

h4 i {
	margin-right:5px;
}

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

input {
    -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;
	text-align: left;
	background:rgb(34, 33, 33);
	color:white;
	position:absolute;
}

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 {
	color:white;
	padding:10px;
	text-transform:uppercase;
	font-size:12px;
	display: inline-block;
}

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

.table-text-container {
	padding:30px;
	color:gray;
	font-size:16px;
}

/* form */

form {
	background: white;
}

.form-article form {
	padding:20px;
	margin:0px auto;
	border:1px solid lightgray;
	text-align: left;
}

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

form p {
	margin-bottom:20px;
}

form label {
	color:gray;
	text-align: left;
	font-size:14px;
	display: block;
	margin-bottom: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:16px;
    margin:0px auto;
    width:100%;
    background:white;
    border-radius:0px;
	margin-bottom:8px;
}

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;
    color:white;
	background:#d01d1d;
	margin-top:20px;
	text-transform: uppercase;
	font-weight: bold;
}

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

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;
}

.empty {
	max-width: 500px;
	margin:20px auto;
	box-shadow:0px 2px 14px #ddd;
	padding:20px;
	border-radius:10px;
	display: flex;
	flex-direction: column;
	gap:1rem;
}

/* form message */
.text-container {
	text-align: left;
	color:black;
	padding:10px;
	font-size:17px;
	font-weight:normal;
}

.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: 9;
	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:#d01d1d;
	display: inline-block;
	margin:2px;
}

nav a:hover {
	background:black;
}

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

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

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

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

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

#burger + label span {
	position: absolute;
	width: 100%;
	height: 2px;
	top: 50%;
	margin-top: -1px;
	left: 0;
	background: red;
	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: 2;
	padding-bottom: 70px;
	background:white;
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

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

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

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

#icon-container {
	position: absolute;
	right:20px;
	top:0px;
	z-index: 99;
	height:40px;
	margin-top:-10px;
}

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

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

.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 {
	padding: 10px;
	height:240px;
	display: flex;
	justify-content: center;
	align-items: center;
}

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

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

.product .info {
	font-size:16px;
	padding:10px;
	vertical-align: middle;
	height:60px;
	display: flex;
	justify-content: center;
	align-items: center;
}

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

.product .week {
	position:absolute;
	top:10px;
	right:10px;
	font-size:12px;
	background:rgba(200,200,200,0.3);
	padding:5px;
	text-align:center;
	text-transform:uppercase;
	border-radius:5px;
}

.product .stats div {
	padding:0.2rem;
	margin:0px;
	font-size:0.6rem;
	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:0px solid #ddd;
	color:white;
	font-weight: bold;
	cursor: pointer;
	font-size: 0.8rem;
	flex:1;
	padding: 0.3rem;
	transform:1s ease all;
	text-transform: uppercase;
}

.product .vote-a,
.product .vote-a-btn {
	background:rgb(70, 150, 70);
}

.product .vote-a-btn {
	border-radius: 10px 0px 0px 10px;
}

.product .vote-b,
.product .vote-b-btn {
	background:rgb(172, 21, 21);
}

.product .vote-b-btn {
	border-radius: 0px 10px 10px 0px;
}

/* pagination */

.pagination {
	list-style: none;
}

.pagination a,
.pagination span {
	display: inline-block;
	font-size: 16px;
	margin:5px;
	font-weight: bold;
	color:#777;
	padding:10px;
	border-radius: 10px;
	box-shadow:0px 2px 8px #ddd;
}

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

.pagination span {
	color:lightgray;
}

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

/* date fiter */
#week,
#season,
#year,
#filter-btn-container {
	margin: 0px;
}

#filters {
	display: flex;
	flex-direction: column;
	gap:1rem;
}

#date-filters {
	display: flex;
	align-items: center;
	justify-content: center;
}

#date-filters div label {
	font-size:0.8rem;
	text-transform: uppercase;
	display: block;
	text-align: center;
}

#date-filters div select {
	font-size:1rem;
	border:none;
	background: #fff;
	display: block;
	margin:3px;
	padding:5px;
	border-radius:10px;
	box-shadow:0px 2px 8px #ddd;
	cursor: pointer;
}
#week-select {
	width: 160px;
}
/* type fiter */
#type-filters {
	max-width:600px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#type-filters a,
#type-filters span {
	font-size:0.7rem;
	display: inline-block;
	padding:0.5rem;
	margin:5px;
	text-transform: uppercase;
	border-radius: 10px;
	box-shadow:0px 2px 8px #ddd;
	color:#777;
}

#type-filters span {
	color:lightgray;
}

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

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

#filter-btn-container button {
	padding:5px;
	border:0px;
	border-radius: 5px;
	background:white;
	cursor: pointer;
}

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

/* search */
#search {
	padding:0px;
	background:transparent;
	margin:20px auto;
	width:750px;
	max-width:100%;
	/* box-shadow:0px 0px 10px #999; */
	border:1px solid lightgray;
	position: inherit;
}

#livesearch {
	padding:0px;
	background:white;
	text-align: left;
	position: absolute;
	z-index: 9;
	width:750px;
	max-width:100%;
}

#livesearch a {
	display: flex;
	height:50px;
	border-bottom:1px solid #eee;
	padding:5px;
}

#livesearch span {
	flex:4;
	display: block;
	padding:5px;
}

#livesearch img {
	width:50px;
}


#search .search_inputs {
	display: flex;
}

#search input {
	border-radius:0px;
	border:0px;
	padding:10px;
	margin:0px;
}

#search input:focus {
	outline: none;
}

#search input[type='text'] {
	flex:3;
}

#search input[type='submit'] {
	flex:1;
	background:black;
	color:white;
}

#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: 10px;
	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: 0.8rem;
	text-align: left;
}

.notification span {
	flex:5;
}

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

@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%;
	}
}