.ksw-profile-page{
	min-height:70vh;
	padding-top:clamp(.75rem, 2vw, 1.5rem);
	background:var(--bs-tertiary-bg, #f4f6f8);
}
.ksw-profile-hero{
	position:relative;
	border-radius:1rem;
	background:var(--bs-body-bg, #fff);
	overflow:visible;
}
.ksw-profile-cover{
	position:relative;
	height:clamp(14rem, 31vw, 25rem);
	border-radius:1rem 1rem 0 0;
	background:#334155;
	background:linear-gradient(135deg, color-mix(in srgb, var(--bs-primary) 72%, #172554), color-mix(in srgb, var(--bs-primary) 30%, #0891b2));
	overflow:hidden;
	touch-action:pan-y;
}
.ksw-profile-cover > img{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	user-select:none;
	-webkit-user-drag:none;
}
.ksw-profile-cover__fallback{
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	color:rgba(255,255,255,.42);
	font-size:clamp(3rem, 10vw, 7rem);
}
.ksw-profile-cover.has-cover .ksw-profile-cover__fallback{ display:none; }
.ksw-profile-cover-star{
	position:absolute;
	top:1rem;
	right:1rem;
	z-index:3;
	display:block;
	font-size:clamp(4rem, 6vw, 5.5rem);
	line-height:1;
}
.ksw-profile-cover-star__link{
	display:inline-grid;
	place-items:center;
	color:inherit;
	text-decoration:none;
}
.ksw-profile-cover-star__link:focus-visible{ outline:3px solid #fff; outline-offset:4px; border-radius:50%; }
.ksw-profile-cover__actions{
	position:absolute;
	right:1rem;
	bottom:1rem;
	z-index:3;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:.5rem;
}
.ksw-profile-cover__edit-actions{
	position:absolute;
	inset:auto 0 0;
	z-index:4;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	padding:.75rem;
	background:rgba(15,23,42,.78);
	color:#fff;
}
.ksw-profile-cover__edit-actions[hidden]{ display:none; }
.ksw-profile-cover.is-repositioning{
	cursor:grab;
	touch-action:none;
	outline:3px solid rgba(var(--bs-primary-rgb), .55);
	outline-offset:-3px;
}
.ksw-profile-cover.is-repositioning:active{ cursor:grabbing; }
.ksw-profile-cover.is-repositioning .ksw-profile-cover__actions{ display:none; }
.ksw-profile-cover__drag-hint{ margin-right:auto; font-weight:600; }

.ksw-profile-identity{
	position:relative;
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	grid-template-areas:
		"avatar identity"
		"avatar actions";
	align-items:start;
	gap:1rem 1.25rem;
	min-height:9rem;
	padding:1.2rem 1.5rem 1.5rem;
}
.ksw-profile-avatar-wrap{
	grid-area:avatar;
	position:relative;
	z-index:2;
	align-self:start;
	width:clamp(8rem, 17vw, 11rem);
	margin-top:clamp(-5rem, -8vw, -4rem);
}
.ksw-profile-avatar{
	display:block;
	width:100%;
	aspect-ratio:1;
	object-fit:cover;
	border:.35rem solid var(--bs-body-bg, #fff);
	border-radius:50%;
	background:var(--bs-tertiary-bg, #eee);
	box-shadow:0 .5rem 2rem rgba(0,0,0,.2);
}
.ksw-profile-avatar-button{
	position:relative;
	display:block;
	width:100%;
	padding:0;
	border:0;
	border-radius:50%;
	background:transparent;
	color:inherit;
}
.ksw-profile-avatar-button:focus-visible{
	outline:3px solid rgba(var(--bs-primary-rgb), .65);
	outline-offset:3px;
}
.ksw-profile-avatar-button__camera{
	position:absolute;
	right:.25rem;
	bottom:.25rem;
	display:grid;
	place-items:center;
	width:2.3rem;
	height:2.3rem;
	border:3px solid var(--bs-body-bg, #fff);
	border-radius:50%;
	background:var(--bs-primary);
	color:var(--bs-white, #fff);
	font-size:.9rem;
	box-shadow:0 .2rem .65rem rgba(0,0,0,.2);
}
.ksw-profile-identity__copy{ grid-area:identity; width:100%; min-width:0; max-width:100%; }
.ksw-profile-name{
	display:flex;
	width:100%;
	min-width:0;
	align-items:center;
	flex-wrap:wrap;
	gap:.45rem;
	margin:0;
	font-size:clamp(1.75rem, 4vw, 2.6rem);
	font-weight:850;
	line-height:1.08;
	overflow-wrap:anywhere;
}
.ksw-profile-handle{ max-width:100%; margin-top:.25rem; color:var(--bs-secondary-color); font-weight:600; overflow-wrap:anywhere; }
.ksw-profile-hero-tagline{ margin-top:.5rem; font-size:1.05rem; color:var(--bs-secondary-color); }
.ksw-profile-hero-meta{
	display:flex;
	flex-wrap:wrap;
	gap:.5rem 1rem;
	margin-top:.65rem;
	color:var(--bs-secondary-color);
}
.ksw-profile-hero-meta span{ display:inline-flex; align-items:center; gap:.4rem; }
.ksw-profile-hero-meta a{ color:inherit; font-weight:600; text-decoration:none; }
.ksw-profile-hero-meta a:hover{ color:var(--bs-primary); text-decoration:underline; }
.ksw-profile-primary-actions{
	grid-area:actions;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:.5rem;
}
.ksw-profile-primary-actions > .d-flex{ gap:.5rem !important; }

.ksw-profile-tabs-wrap{
	position:sticky;
	top:0;
	z-index:20;
	padding:.5rem 0;
	background:var(--bs-tertiary-bg, #f4f6f8);
}
.ksw-profile-tab-content{ min-height:16rem; }
.ksw-profile-tab-content > .tab-pane{ outline:none; }
.ksw-profile-tab-content .card{ border-radius:1rem; }
.ksw-profile-inline-edit{
	display:inline-grid;
	place-items:center;
	width:2.25rem;
	height:2.25rem;
	padding:0;
	border-radius:50%;
}
.ksw-profile-tagline{ font-style:italic; }
.ksw-profile-bio{ white-space:normal; line-height:1.65; }

.ksw-profile-photo-tile{
	display:block;
	aspect-ratio:1;
	border-radius:.9rem;
	overflow:visible;
	background:var(--bs-secondary-bg);
	box-shadow:0 .15rem .75rem rgba(0,0,0,.08);
}
.ksw-profile-photo-lightbox{
	display:block;
	width:100%;
	height:100%;
	border-radius:.9rem;
	overflow:hidden;
}
.ksw-profile-photo-tile img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .2s ease;
}
.ksw-profile-photo-tile:hover img{ transform:scale(1.035); }
.ksw-profile-photo-actions{ z-index:5; }
.ksw-profile-photo-item[data-profile-photo-draggable="1"]{ cursor:grab; touch-action:none; }
.ksw-profile-photo-item[data-profile-photo-draggable="1"]:active{ cursor:grabbing; }
.ksw-profile-photo-item[data-profile-photo-draggable="1"]:focus-visible{
	outline:3px solid rgba(var(--bs-primary-rgb), .65);
	outline-offset:3px;
	border-radius:.9rem;
}
.ksw-profile-photo-grid.is-pointer-sorting{ user-select:none; }
.ksw-profile-photo-item.is-pointer-sorting{
	position:relative;
	z-index:6;
	opacity:.72;
	transform:scale(.97);
}
.ksw-profile-photo-sort-placeholder{
	min-height:10rem;
	border:2px dashed var(--bs-primary);
	border-radius:.9rem;
	background:rgba(var(--bs-primary-rgb), .08);
}
.ksw-profile-photo-upload{
	min-height:100%;
	aspect-ratio:1;
	border:2px dashed var(--bs-border-color) !important;
	border-radius:.9rem !important;
	background:var(--bs-tertiary-bg) !important;
}
.ksw-profile-photo-upload .dz-message,
.ksw-profile-photo-upload .meet-photo-placeholder{ width:100%; height:100%; min-height:9rem; margin:0; }
.ksw-profile-photo-upload.meet-photo-dropzone .dz-preview{
	display:block;
	margin:.75rem auto;
}
.ksw-profile-photo-album-card{ transition:transform .18s ease, box-shadow .18s ease; }
.ksw-profile-photo-album-card:hover{ transform:translateY(-2px); }
.ksw-profile-photo-album-card[type="button"]{ padding:0; }
.ksw-profile-album-image,
.ksw-profile-event-image{
	display:block;
	width:100%;
	height:11rem;
	object-fit:cover;
	background:var(--bs-secondary-bg);
}
.ksw-profile-cover-dropzone{
	min-height:10rem;
	border:2px dashed var(--bs-border-color) !important;
	border-radius:1rem !important;
	background:var(--bs-tertiary-bg) !important;
}

.ksw-profile-friends-lists,
.ksw-profile-friends-views{ flex-wrap:wrap; }
.ksw-profile-friends-search{ width:min(100%, 25rem); }
#profileFriendsList.meet-friends-grid{ margin-top:.25rem; }
#profileFriendsList.row{ margin-left:0; margin-right:0; }
#profileFriendsList{ min-height:12rem; transition:opacity .16s ease; }
#profileFriendsHeader:empty{ display:none; }
.ksw-profile-friends-tools .card-body{ min-height:4.25rem; }
.ksw-profile-region-loading #profileFriendsList{ opacity:.48; pointer-events:none; }
.ksw-profile-region-loading #profileFriendsHeader{ opacity:.65; }
#profilePhotosView{ position:relative; min-height:16rem; transition:opacity .16s ease; }
#profilePhotosView.ksw-profile-region-loading{ opacity:.55; pointer-events:none; }

#profilePaneFeed #feedUserHeader{ display:none !important; }
#profilePaneFeed .feed-item{ border-radius:1rem; overflow:visible; }
#profilePaneFeed #feedComposeCard{ overflow:visible; }

@media (max-width:991.98px){
	.ksw-profile-primary-actions{
		justify-content:flex-start;
		padding-left:0;
	}
}

@media (max-width:575.98px){
	.ksw-profile-page{ padding-top:0; }
	.ksw-profile-page > .container{ padding-left:0; padding-right:0; }
	.ksw-profile-hero{ border-radius:0; }
	.ksw-profile-cover{ height:13.5rem; border-radius:0; }
	.ksw-profile-cover__actions{ right:.65rem; bottom:.65rem; }
	.ksw-profile-cover-star{ top:.65rem; right:.65rem; font-size:3.75rem; }
	.ksw-profile-cover__actions .btn span{ display:none; }
	.ksw-profile-cover__drag-hint{ width:100%; margin:0; text-align:center; }
	.ksw-profile-cover__edit-actions{ flex-wrap:wrap; }
	.ksw-profile-identity{
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:.75rem;
		min-height:0;
		padding:0 1rem 1.15rem;
		text-align:center;
	}
	.ksw-profile-avatar-wrap{ width:8rem; margin-top:-4.25rem; }
	.ksw-profile-name,
	.ksw-profile-hero-meta,
	.ksw-profile-primary-actions{ justify-content:center; }
	.ksw-profile-primary-actions{ width:100%; padding-left:0; }
	.ksw-profile-primary-actions > .btn,
	.ksw-profile-primary-actions > .d-flex{ flex:1 1 auto; }
	.ksw-profile-primary-actions > .d-flex > .btn{ flex:1 1 auto; }
	.ksw-profile-primary-actions .dropdown{ flex:0 0 auto; }
	#profilePaneFriends .btn-group{ width:100%; }
	#profilePaneFriends .btn-group > .btn{ flex:1 1 0; }
	.ksw-profile-friends-search{ width:100%; max-width:none; }
	.ksw-profile-friends-tools .card-body{ align-items:stretch !important; }
	.ksw-profile-friends-privacy .form-select{ width:100% !important; }
	.ksw-profile-tabs-wrap,
	.ksw-profile-tab-content,
	#profileCoverUploadPanel{ margin-left:.75rem; margin-right:.75rem; }
	.ksw-profile-album-image,
	.ksw-profile-event-image{ height:10rem; }
}

@media (prefers-reduced-motion:reduce){
	.ksw-profile-photo-tile img{ transition:none; }
}
