/* In your main CSS file (e.g., /assets/css/style.css) */
@font-face {
  font-family: 'Roboto';
  src: url('/assets/fonts/Roboto-Regular.ttf') format('ttf');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: url('/assets/fonts/Roboto-Medium.ttf') format('ttf');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: url('/assets/fonts/Roboto-Bold.ttf') format('ttf');
  font-weight: 700;
  font-style: normal;
}

html{
	height: 100vh;
	background: rgb(232,234,246);
	background: linear-gradient(-30deg, rgba(225,245,254,1) 0%, rgba(232,234,246,1) 70%, rgba(225,245,254,1) 100%);
	overflow: hidden;
}

html body{
	height: 100vh;
	background: transparent url(../img/pattern.png) center center repeat;
	background-size: initial;
	overflow-y: scroll;
	overflow-x: hidden;
	padding-top: 48px;
	padding-bottom: 24px;
	font-family: 'Roboto', sans-serif;
}

body.loading > #main {
	visibility: hidden;
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

/* When the body is fully loaded, it will become visible */
body > #main {
	visibility: visible;
	opacity: 1;
}

html body.intro{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.grecaptcha-badge{
	display: none !important;
}

a,
.btn-link{
	color:#3f51b5;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.5s ease-in-out;
}

a:hover,
.btn-link:hover,
a:active,
.btn-link:active,
a:focus,
.btn-link:focus{
	color: #8bc34a;
}

h3{
	margin-top: .5rem;
	margin-bottom: .5rem;
}

#logout a.text-danger{
	color:#dc3545;
	opacity: 0.5;
	transition: color, opacity 0.5s ease-in-out;
}

	#logout a.text-danger:hover{
		color:#bb2d3b;
		opacity: 1;
	}

.navbar{
	box-shadow: 0px 6px 12px 0px rgba(26,35,126,0.1);
	padding: 8px ;
}

	.navbar.bg-colored{
		background-color: #ffffff;
	}


	.navbar .navbar-header{
		font-size: 1.3em;
		font-weight: 600;
	}

	
		.navbar .navbar-header .logo{
			height: 40px;
			width: 40px;
			margin-right: 12px;
			background: url(/assets/img/logo.webp) center center no-repeat;
			background-size: contain;
			display: inline-block;
			vertical-align: middle;
		}


	.navbar .navbar-header .title{
		display: inline-block;
	}
		
	.profile{
		font-size: 1.8em;
		color: #3f51b5;
	}
	
	.header .navbar-back{
		font-weight: 600;
		font-size: 1.2em;
		text-decoration: none;
	}

	.header .sort-link{
		--bs-btn-color: #3f51b5;
	}

		.header.bg-purple .sort-link{
			--bs-btn-color: #ffffff;
		}

	.header .sort-link:hover{
		color: #8bc34a;
	}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #3f51b5;
    --bs-btn-border-color: #3f51b5;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #303f9f;
    --bs-btn-hover-border-color: #303f9f;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #283593;
    --bs-btn-active-border-color: #283593;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #9fa8da;
    --bs-btn-disabled-border-color: #9fa8da;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #8bc34a;
    --bs-btn-border-color: #8bc34a;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #689f38;
    --bs-btn-hover-border-color: #689f38;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #33691e;
    --bs-btn-active-border-color: #33691e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #dcedc8;
    --bs-btn-disabled-border-color: #dcedc8;
}

.intro{
	padding-left:30px;
	padding-right:30px;
}

.intro .logo{
		max-width: 90px;
	}

.card {
	border-radius:20px;
	padding: 24px;
	border-color: #e8eaf6;
	box-shadow: 0px 6px 12px 0px rgba(26,35,126,0.1);

}

	.card .btn-block{
		width: 100%;
	}

		.intro .card{
			width: 100%;
			max-width: 400px;
		}

.product{
	position: relative;
	border-radius:20px;
	padding:12px 60px 12px 72px;
	margin: 12px 0;
	background: #fff;
	box-shadow: 0px 6px 12px 0px rgba(26,35,126,0.1);
	position: relative;
	transition: opacity .15s ease-in-out;

}
	#done .product{
		padding-right: 95px;
	}

#todo{
	margin-top: 1.5rem !important;
}

#empty{
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

	#empty .img{
		height: 200px;
		width: 100%;
		background: transparent url(/assets/img/empty.png) top center no-repeat;
		background-size: auto 200px;
	}

#placeholder{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

	#placeholder img{
		max-width: 200px;
	}
	
	#placeholder h4 {
    font-size: calc(1.275rem + .3vw);
    font-weight: 500;	
	font-family: 'Roboto', sans-serif;
}

#done .product{
	opacity: 0.6;
	
}

#done .product:hover{
	opacity: 0.9;
}


#sortItems > div{
	align-items: center !important;
	justify-content: space-between !important;
	display: flex !important;
}

#sortItems span{
	display: inline-block;
}

#sortItems span button{
	border-radius:15px;
	padding:4px 12px;
	margin:0;
}

.category-icon {
	position: absolute;
	top:calc(50% - 24px);
	left: 16px;
}

	.category-icon .icon{
		width: 48px;
		height: 48px;	
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		font-size: 24px;
	}
	
.item-name{
	font-size: 1.2em;
}

	
.item-category{
	position: relative;
	font-size: 0.8em;
	color: #797979;
	top: -2px;
}


.item-actions{
	position: absolute;
	right:16px;
	top: calc(50% - 15px);
}


	.item-actions .btn-light{
		color: #f8f9fa;
	}

		.item-actions .btn-light:hover{
			color: #212529;
		}

.add-product{
	text-align: center;
}

@media (max-width: 991px){
	
html body{
	padding-bottom: 35px;
}
	
	.add-product .btn.btn-cta{
		z-index: 1000;
		position: fixed;
		bottom: 16px;
		right:16px;	
		font-size: 1.5rem;
		padding: 10px 18px;
		border-radius: 50%;	
		box-shadow: 0px 6px 12px 0px rgba(26,35,126,0.3);
	}
		.add-product .btn.btn-cta span{
			display: none;	
		}	
		
		.add-product button{		
			transition: all 0.3s ease-in-out;
		}
		
		.add-product button[aria-expanded="true"]{
			background-color: #8bc34a;
			border-color: #8bc34a;
			box-shadow: 0px 12px 24px 0px rgba(26,35,126,0.3);
		}
			
			.add-product button[aria-expanded="true"] i{
				transform: rotate(45deg);
			}		
		
	#addItemForm{
		z-index: 1000;
		position: fixed;
		bottom: 90px;
		right:12px;	
		
	}		
	
	#addItemForm .card {
		box-shadow: 0px 6px 12px 0px rgba(26,35,126,0.5);
		margin-bottom: 0 !important;

	}

	#empty{
		margin: 80px 0 !important;
	}

	.navbar.bg-colored{
		background-color: #3f51b5;
	}

	.navbar.bg-colored .navbar-header{
		color: #ffffff;
	}

	.navbar.bg-colored .sort-link{
		--bs-btn-color: #ffffff;
	}

	.navbar.bg-colored .navbar-link{
		color: #ffffff !important;
	}

	.navbar .navbar-header .logo {
		background: url(/assets/img/logo-white.webp) center center no-repeat;
		background-size: contain;
	}

}


@media (max-width: 767px){

	#sortItems > div{
		align-items: center !important;
		justify-content: space-between !important;
		display: flex !important;
		flex-direction: column;

	}

	#sortItems label{
		margin-bottom: 10px;
	}

	#sortItems span{
		width:100%;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

}

@media (max-width: 575px){
	#addItemForm{
		left:12px;
	}
}

@media (max-width: 480px){
	.add-product #addItemForm {
        left: 12px;
    }
}
	