:root {
	 --c-grey-100: #f4f6f8;
	 --c-grey-200: #e3e3e3;
	 --c-grey-300: #b2b2b2;
	 --c-grey-400: #7b7b7b;
	 --c-grey-500: #3d3d3d;
	 --c-blue-500: #688afd;
}

* {
	box-sizing: border-box;
	scrollbar-color: rgb(58, 100, 150) rgb(255, 255, 255);
	scrollbar-width: thin;
}

body,
html {
	padding: 0;
	margin: 0;
	height: 100%;
}

body {
	font-family: sans-serif;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background-color: #f5f5f5;
}

::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}

::-webkit-scrollbar-thumb {
	background-color: rgb(58, 100, 150);
	border-radius: 2px;
}

::-webkit-scrollbar-track {
	background-color: rgb(255, 255, 255);
}

::-webkit-scrollbar-corner {
	background-color: rgb(255, 255, 255);
}

.header {
	background-color: rgb(58, 100, 150);
	padding: 10px 10px;
	display: flex;
	justify-content: space-between;
}

.header-navigation {
	display: flex;
	gap: 20px;
}

.search-form {
	display: flex;
	border-radius: 8px;
	overflow: hidden;
}

.search-form input {
	padding: 0 8px
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

.header-info {
	display: flex;
	gap: 10px;
	align-items: center;
}

.header-info > a {
	background-color: #5a90d2;
	padding: 4px 6px;
	border-radius: 6px;
	color: #fff;
}

.header-info > a:hover {
	background-color: #688afd;
	color: #eaeaea;
}

@media (max-width: 375px) {
	.header-info {
		flex-direction: column;
	}

	.header-info > a {
		align-self: flex-start;
	}
}

#menu__toggle {
	opacity: 0;
}

#menu__toggle:checked ~ .menu__btn > span {
	transform: rotate(45deg);
}
#menu__toggle:checked ~ .menu__btn > span::before {
	top: 0;
	transform: rotate(0);
}
#menu__toggle:checked ~ .menu__btn > span::after {
	top: 0;
	transform: rotate(90deg);
}
#menu__toggle:checked ~ .menu__box {
  	visibility: visible;
}

.menu__btn {
	display: flex;
	align-items: center;
	position: fixed;
	top: 10px;
	right: 20px;

	width: 26px;
	height: 26px;

	cursor: pointer;
	z-index: 20;
}

.menu__btn > span,
.menu__btn > span::before,
.menu__btn > span::after {
	display: block;
	position: absolute;
	z-index: 20;

	width: 100%;
	height: 2px;

	background-color: #ffffff;

	transition-duration: .25s;
}
.menu__btn > span::before {
	content: '';
	top: -8px;
}
.menu__btn > span::after {
	content: '';
	top: 8px;
}

.menu__box {
	z-index: 10;
	display: block;
	position: fixed;
	visibility: hidden;
	top: 0;
	right: 0;

	width: 300px;
	height: 100%;

	margin: 0;
	padding: 80px 0;

	list-style: none;

	background-color: #3A6496FF;
	box-shadow: 1px 0 6px rgba(0, 0, 0, .2);

	transition-duration: .25s;
}

.menu__item {
	display: block;
	padding: 12px 24px;

	color: #333;

	font-family: 'Roboto', sans-serif;
	font-size: 20px;
	font-weight: 600;

	text-decoration: none;

	transition-duration: .25s;
}
.menu__item:hover {
	background-color: #2d4d73;
}

.hamburger-menu {
	display: none;
}

@media (max-width: 520px) {
	.header-navigation {
		display: none;
	}

	.hamburger-menu {
		display: block;
	}
}

main {
	margin: 0 20px;
	padding-bottom: 40px;
}

.inventory-pagination {
	display: flex;
	justify-content: center;
}

.pagination-container {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2rem;
	margin: 1rem 0;
	border-radius: 0.4rem;
	background: #fff;
	box-shadow: 0 0.8rem 2rem rgba(90, 97, 129, 0.05);
}

.pagination-container__numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0.3rem;
	font-size: 1rem;
	cursor: pointer;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 0.2rem;
	background-color: #f6f6f6;
	text-align: center;
}

.pagination-container__numbers:hover {
	background-color: #f2f2f2;
}

.pagination-container__numbers a {
	color: #363636;
	font-weight: 600;
	height: 100%;
	width: 100%;
}

.pagination-container__numbers a:hover {
	color: rgb(76, 131, 196);
}

.pagination-container__numbers.active {
	background:  rgb(58, 100, 150);
	font-weight: 600;
	border: 1px solid  rgb(58, 100, 150);
}

.pagination-container__numbers.active a {
	color: #fff;
	cursor: default;
}

.auditorium-search-container {
	display: flex;
	gap: 8px;
	margin-bottom: 10px
}

@media (max-width: 426px) {
	.auditorium-search-container {
		flex-direction: column;
	}

	.auditorium-search-container select{
		align-self: flex-start;
	}
}

.buildings-select {
	font-size: 1em;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	width: auto;
}

.building {
	border: 1px solid transparent;
}

#auditorium-list, #auditorium-list-search {
	font-size: 15px;
}

.auditoriums {
	border: 1px solid transparent;
}

.actions {
	display: flex;
	gap: 12px;
}

.actions button {
	font-size: 16px;
	text-align: center;
	width: 30px;
	height: 30px;
}

.container {
	min-width: 320px;
	max-width: 400px;
}

.card {
	background-color: #fff;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	margin-top: 24px;
}

.login-label {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	color: #333;
}

.login-form {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
}

.input {
	padding: 10px;
	margin-bottom: 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	transition: border-color 0.3s ease-in-out;
	outline: none;
	color: #333;
}

.login-button {
	background-color: #3A6496FF;
	color: #fff;
	padding: 10px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;
}

.login-button:hover {
	background-color: #2980b9;
}

#written-off-asset {
	background-color: #cb0101;
	color: #ffffff;
}

#written-off-asset:hover {
	background-color: #bd0000;
	color: #ffffff;
}

#written-off-asset a {
	color: #ffffff;
}

td > a {
	font-weight: 500;
	color: #3A6496FF
}


/***** MODAL DIALOG ****/
#modal {
	/* Underlay covers entire screen. */
	position: fixed;
	top:0;
	bottom: 0;
	left:0;
	right:0;
	background-color:rgba(0,0,0,0.5);
	z-index:1000;

	/* Flexbox centers the .modal-content vertically and horizontally */
	display:flex;
	flex-direction:column;
	align-items:center;

	/* Animate when opening */
	animation-name: fadeIn;
	animation-duration:150ms;
	animation-timing-function: ease;
}

#modal > .modal-underlay {
	/* underlay takes up the entire viewport. This is only
	required if you want to click to dismiss the popup */
	position: absolute;
	z-index: -1;
	top:0;
	bottom:0;
	left: 0;
	right: 0;
}

#modal > .modal-content {
	/* Position visible dialog near the top of the window */
	margin-top:10vh;

	/* Sizing for visible dialog */
	width:80%;
	max-width:600px;
	max-height: 700px;

	/* Display properties for visible dialog*/
	border:solid 1px #999;
	border-radius:8px;
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.3);
	background-color:white;
	padding:20px;

	/* Animate when opening */
	animation-name:zoomIn;
	animation-duration:150ms;
	animation-timing-function: ease;
}

.modal-content {
	display: flex;
	flex-direction: column;
}

.modal-closeButton {
	align-self: flex-end;
	padding: 6px 10px;
}

#modal.closing {
	/* Animate when closing */
	animation-name: fadeOut;
	animation-duration:150ms;
	animation-timing-function: ease;
}

#modal.closing > .modal-content {
	/* Animate when closing */
	animation-name: zoomOut;
	animation-duration:150ms;
	animation-timing-function: ease;
}

@keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

@keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
}

@keyframes zoomIn {
	0% {transform: scale(0.9);}
	100% {transform: scale(1);}
}

@keyframes zoomOut {
	0% {transform: scale(1);}
	100% {transform: scale(0.9);}
}

.timeline {
	width: 85%;
	max-width: 700px;
	margin: 20px auto;
	display: flex;
	flex-direction: column;
	padding: 32px 0 32px 32px;
	border-left: 2px solid var(--c-grey-200);
	font-size: 1rem;
}

.timeline-item {
	display: flex;
	gap: 24px;
	align-items: center;
}

.timeline-item + * {
	margin-top: 24px;
}

.timeline-item + .extra-space {
	margin-top: 48px;
}

.timeline-item-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	margin-left: -52px;
	flex-shrink: 0;
	overflow: hidden;
	box-shadow: 0 0 0 6px #fff;
}

.timeline-item-icon svg {
	width: 20px;
	height: 20px;
}

.timeline-item-icon.faded-icon {
	background-color: var(--c-grey-100);
	color: var(--c-grey-400);
}

.timeline-item-icon.filled-icon {
	background-color: var(--c-blue-500);
	color: #fff;
}

.timeline-item-description {
	display: flex;
	gap: 8px;
	align-items: center;
	color: var(--c-grey-400);
}

.history-data {
	font-weight: bold;
	background-color: #3A6496FF;
	color: #fff;
	border-radius: 6px;
	padding: 2px 4px;
}

.item-description {
	flex: 1
}