body {
	padding-top: 0;
	min-height: 0;
}

@media(max-width: 767px) {
	.swipe-enabled .profiles {
		overflow-x: scroll;
		
		height: calc(100dvh - 2.25rem - 1.25rem - 54px);
		scroll-snap-type: x mandatory;
	}
	
	.profiles {
		padding: .75rem 0;
	}
	
	.swipe-enabled .row.profiles {
		margin: 0;
		flex-wrap: nowrap;
	}
	
	.swipe-enabled .profile {
		position: relative;
		scroll-snap-align: center;
		height: calc(100dvh - 2.25rem - 3rem - 54px);
	}
	
	.container-profiles.swipe-enabled {
		padding: 0;
	}
	
	.container-profiles.swipe-enabled > .row > div {
		flex: none;
		padding-left: .75rem;
		padding-right: .75rem;
	}
	
	#btn-toggle {
		min-width: 48px;
	}
	
	.container-profiles:not(.swipe-enabled) .profile {
		margin-bottom: .75rem;
	}
	
	.container-profiles:not(.swipe-enabled) .profile img {
		position: relative;
		height: auto;
		aspect-ratio: 1;
	}
	
	.container-profiles:not(.swipe-enabled) .profile .caption {
		height: auto;
	}

	.container-profiles:not(.swipe-enabled) .profile .caption > .row {
		align-items: center;
	}
	
	.container-profiles:not(.swipe-enabled) .profile .caption .detail-extra {
		display: none;
	}
}

@media(min-width: 768px) {
	.profile {
		position: relative;
		margin: .75rem 0;
		height: 575px;
		background: var(--bs-dark);
	}
	
	.modal-body .table th {
		width: 50%;
	}
}

.profile img {
	position: absolute;
	width: 100%;
	height: calc(100% - 14.375rem);
	object-fit: scale-down;
	object-position: center;
}

.profile .caption {
	background: rgba(255,255,255,.95);
	z-index: 1;
	height: 14.375rem;
}

.badge {
	padding-top: .225rem;
}

.text-bg-secondary {
	color: #fff;
	background-color: #212529 !important;
}

#filter {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	z-index: 2;
}

#filter .form-check-input:checked {
	background-color: rgba(255,255,255,.2);
	border-color: rgba(255,255,255,.5);
}

#filter .form-check-input:focus {
	border-color: #fff;
	box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25);
}

#filter .form-switch .form-check-input:focus {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23cccccc'/%3e%3c/svg%3e");
}

#filter .form-switch .form-check-input:checked {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}

#filter .form-control:focus,
#filter .form-select:focus {
	border-color: #fff;
	box-shadow: 0 0 0 .25rem rgba(255,255,255,.25);
}

/* no image */

.no-image {
	height: 100%;
	max-height: 50%;
	display: flex;
	justify-content: center;
}

.no-image .rounded-circle {
	height: 128px;
	width: 128px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-self: center;
}

.no-image .rounded-circle span {
	align-self: center;
}

.modal-body form {
	padding: 0 !important;
}