| 
									
										
										
										
											2022-06-09 12:51:19 +02:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 	GoToSocial | 
					
						
							| 
									
										
										
										
											2024-01-13 16:33:53 +01:00
										 |  |  | 	Copyright (C) GoToSocial Authors admin@gotosocial.org | 
					
						
							|  |  |  | 	SPDX-License-Identifier: AGPL-3.0-or-later | 
					
						
							| 
									
										
										
										
											2022-06-09 12:51:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 	This program is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  | 	it under the terms of the GNU Affero General Public License as published by | 
					
						
							|  |  |  | 	the Free Software Foundation, either version 3 of the License, or | 
					
						
							|  |  |  | 	(at your option) any later version. | 
					
						
							| 
									
										
										
										
											2022-06-09 12:51:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 	This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  | 	but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  | 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  | 	GNU Affero General Public License for more details. | 
					
						
							| 
									
										
										
										
											2022-06-09 12:51:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 	You should have received a copy of the GNU Affero General Public License | 
					
						
							|  |  |  | 	along with this program.  If not, see <http://www.gnu.org/licenses/>. | 
					
						
							| 
									
										
										
										
											2022-06-09 12:51:19 +02:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | .page { | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 	/*  | 
					
						
							|  |  |  | 		Profile page can be a little wider than default | 
					
						
							|  |  |  | 		page, since we're using a side-by-side column view. | 
					
						
							|  |  |  | 	*/ | 
					
						
							|  |  |  | 	grid-template-columns: 1fr minmax(auto, 60rem) 1fr; | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	grid-template-columns: 1fr min(92%, 65rem) 1fr; | 
					
						
							| 
									
										
										
										
											2022-04-15 14:33:01 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | .profile .column-split { | 
					
						
							|  |  |  | 	display: flex; | 
					
						
							|  |  |  | 	flex-wrap: wrap; | 
					
						
							|  |  |  | 	gap: 1rem; | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | .profile .profile-header { | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	background: $profile-bg; | 
					
						
							| 
									
										
										
										
											2022-07-13 11:28:05 +02:00
										 |  |  | 	border-radius: $br; | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 	margin-bottom: 1rem; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-13 13:53:29 +01:00
										 |  |  | 	.moved-to { | 
					
						
							|  |  |  | 		padding: 1rem; | 
					
						
							|  |  |  | 		text-align: center; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 	.header-image-wrapper { | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 		position: relative; | 
					
						
							|  |  |  | 		padding-top: 33.33%; /* aspect-ratio 1/3 */ | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		img { | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 			position: absolute; | 
					
						
							|  |  |  | 			top: 0; | 
					
						
							|  |  |  | 			left: 0; | 
					
						
							|  |  |  | 			right: 0; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 			width: 100%; | 
					
						
							|  |  |  | 			height: 100%; | 
					
						
							|  |  |  | 			object-fit: cover; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	/*  | 
					
						
							|  |  |  | 		Basic info container has the user's avatar, display- and username, and role | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 		It's partially overlapped over the header image, by a negative margin-top. | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	*/ | 
					
						
							|  |  |  | 	$avatar-size: 8.5rem; | 
					
						
							|  |  |  | 	$name-size: 3rem; | 
					
						
							|  |  |  | 	$username-size: 2rem; | 
					
						
							|  |  |  | 	$overlap: calc($avatar-size - $name-size - $username-size); | 
					
						
							| 
									
										
										
										
											2022-07-04 16:23:59 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	.basic-info { | 
					
						
							|  |  |  | 		position: relative; | 
					
						
							|  |  |  | 		display: grid; | 
					
						
							|  |  |  | 		box-sizing: border-box; | 
					
						
							|  |  |  | 		grid-template-columns: $avatar-size auto 1fr; | 
					
						
							|  |  |  | 		grid-template-rows: $overlap $name-size auto; | 
					
						
							| 
									
										
										
										
											2022-07-04 16:23:59 +02:00
										 |  |  | 		grid-template-areas: | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 			"avatar . ." | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 			"avatar namerole namerole" | 
					
						
							|  |  |  | 			"avatar namerole namerole"; | 
					
						
							| 
									
										
										
										
											2022-07-04 16:23:59 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 		margin: 1rem; | 
					
						
							|  |  |  | 		margin-top: calc(-1 * $overlap); | 
					
						
							|  |  |  | 		gap: 0 1rem; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		.avatar { | 
					
						
							| 
									
										
										
										
											2022-07-04 16:23:59 +02:00
										 |  |  | 			grid-area: avatar; | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 			height: $avatar-size; | 
					
						
							|  |  |  | 			width: $avatar-size; | 
					
						
							| 
									
										
										
										
											2022-09-29 12:02:41 +02:00
										 |  |  | 			border: 0.2rem solid $avatar-border; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 			border-radius: $br; | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 			overflow: hidden; /* prevents image extending beyond rounded borders */ | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			img { | 
					
						
							|  |  |  | 				height: 100%; | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 				width: 100%; | 
					
						
							|  |  |  | 				object-fit: cover; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 		.namerole { | 
					
						
							|  |  |  | 			grid-area: namerole; | 
					
						
							| 
									
										
										
										
											2022-11-15 10:19:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 			display: grid; | 
					
						
							|  |  |  | 			gap: 0 1rem; | 
					
						
							|  |  |  | 			box-sizing: border-box; | 
					
						
							|  |  |  | 			grid-template-columns: auto 1fr; | 
					
						
							|  |  |  | 			grid-template-rows: $name-size auto; | 
					
						
							|  |  |  | 			grid-template-areas: | 
					
						
							|  |  |  | 				"displayname displayname" | 
					
						
							|  |  |  | 				"username role"; | 
					
						
							| 
									
										
										
										
											2022-11-15 10:19:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 			.displayname { | 
					
						
							|  |  |  | 				grid-area: displayname; | 
					
						
							|  |  |  | 				line-height: $name-size; | 
					
						
							|  |  |  | 				font-size: 1.5rem; | 
					
						
							|  |  |  | 				font-weight: bold; | 
					
						
							| 
									
										
										
										
											2022-11-15 10:19:32 +01:00
										 |  |  | 			} | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 	 | 
					
						
							|  |  |  | 			.username { | 
					
						
							|  |  |  | 				min-width: 0; | 
					
						
							|  |  |  | 				grid-area: username; | 
					
						
							|  |  |  | 				line-height: $username-size; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 				font-size: 1rem; | 
					
						
							|  |  |  | 				font-weight: bold; | 
					
						
							|  |  |  | 				color: $fg-accent; | 
					
						
							|  |  |  | 				user-select: all; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 			.role { | 
					
						
							|  |  |  | 				background: $bg; | 
					
						
							|  |  |  | 				color: $fg; | 
					
						
							|  |  |  | 				border: 0.13rem solid $bg; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 				grid-area: role; | 
					
						
							|  |  |  | 				align-self: center; | 
					
						
							|  |  |  | 				justify-self: start; | 
					
						
							|  |  |  | 				border-radius: $br; | 
					
						
							|  |  |  | 				padding: 0.3rem; | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | 				line-height: 1.1rem; | 
					
						
							|  |  |  | 				font-size: 0.9rem; | 
					
						
							|  |  |  | 				font-variant: small-caps; | 
					
						
							|  |  |  | 				font-weight: bold; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 				&.admin { | 
					
						
							|  |  |  | 					color: $role-admin; | 
					
						
							|  |  |  | 					border-color: $role-admin; | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 				&.moderator { | 
					
						
							|  |  |  | 					color: $role-mod; | 
					
						
							|  |  |  | 					border-color: $role-mod; | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2022-11-15 10:19:32 +01:00
										 |  |  | 			} | 
					
						
							| 
									
										
										
										
											2022-07-13 11:28:05 +02:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-13 11:28:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | @media screen and (max-width: 750px) { | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 	.profile .profile-header { | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 		.basic-info { | 
					
						
							|  |  |  | 			grid-template-columns: auto 1fr; | 
					
						
							|  |  |  | 			grid-template-rows: $avatar-size $name-size auto; | 
					
						
							|  |  |  | 			grid-template-areas: | 
					
						
							|  |  |  | 				"avatar avatar" | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 				"namerole namerole" | 
					
						
							|  |  |  | 				"namerole namerole"; | 
					
						
							|  |  |  | 			 | 
					
						
							|  |  |  | 			.namerole { | 
					
						
							|  |  |  | 				grid-template-columns: 1fr; | 
					
						
							|  |  |  | 				grid-template-rows: $name-size auto; | 
					
						
							|  |  |  | 				grid-template-areas: | 
					
						
							|  |  |  | 					"displayname displayname" | 
					
						
							|  |  |  | 					"username role"; | 
					
						
							|  |  |  | 				 | 
					
						
							|  |  |  | 				.displayname { | 
					
						
							|  |  |  | 					font-size: 1.4rem; | 
					
						
							|  |  |  | 				} | 
					
						
							| 
									
										
										
										
											2022-07-13 11:28:05 +02:00
										 |  |  | 			} | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-13 11:28:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | .profile .statuses-wrapper { | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	flex: 65 25rem;  | 
					
						
							|  |  |  | 	display: flex; | 
					
						
							|  |  |  | 	flex-direction: column; | 
					
						
							|  |  |  | 	gap: 0.4rem; | 
					
						
							| 
									
										
										
										
											2023-07-08 09:54:26 +02:00
										 |  |  | 	min-width: 0%; | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-13 11:28:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | .profile .statuses { | 
					
						
							|  |  |  | 	display: flex; | 
					
						
							|  |  |  | 	flex-direction: column; | 
					
						
							|  |  |  | 	gap: 0.4rem; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 	.rss-icon { | 
					
						
							|  |  |  | 		display: block; | 
					
						
							|  |  |  | 		margin: -0.25rem 0; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		.fa { | 
					
						
							|  |  |  | 			font-size: 2rem; | 
					
						
							|  |  |  | 			object-fit: contain; | 
					
						
							|  |  |  | 			vertical-align: middle; | 
					
						
							|  |  |  | 			color: $orange2; | 
					
						
							|  |  |  | 			/* | 
					
						
							|  |  |  | 				Can't size a single-color background, so we use | 
					
						
							|  |  |  | 				a linear-gradient that's effectively white. | 
					
						
							|  |  |  | 			*/ | 
					
						
							|  |  |  | 			background: linear-gradient(to right, $white1 100%, transparent 0) no-repeat center center; | 
					
						
							|  |  |  | 			background-size: 1.2rem 1.4rem; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2023-05-14 12:15:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	.backnextlinks { | 
					
						
							|  |  |  | 		display: flex; | 
					
						
							|  |  |  | 		justify-content: space-between; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.next { | 
					
						
							|  |  |  | 			margin-left: auto; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2022-04-15 14:33:01 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | .profile .about-user { | 
					
						
							|  |  |  | 	flex: 35 14rem; | 
					
						
							|  |  |  | 	border-radius: $br; | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							| 
									
										
										
										
											2022-11-15 10:19:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	.col-header { | 
					
						
							|  |  |  | 		margin-bottom: -0.25rem; | 
					
						
							| 
									
										
										
										
											2022-06-21 10:48:42 +02:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2022-04-15 14:33:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-27 11:23:52 +01:00
										 |  |  | 	dt { | 
					
						
							|  |  |  | 		font-weight: bold; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	.fields { | 
					
						
							|  |  |  | 		background: $profile-bg; | 
					
						
							|  |  |  | 		display: flex; | 
					
						
							|  |  |  | 		flex-direction: column; | 
					
						
							|  |  |  | 		padding: 0 0.5rem; | 
					
						
							|  |  |  | 		padding-top: 0.25rem; | 
					
						
							| 
									
										
										
										
											2022-07-13 09:57:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 		.field { | 
					
						
							|  |  |  | 			padding: 0.25rem; | 
					
						
							|  |  |  | 			display: flex; | 
					
						
							|  |  |  | 			flex-direction: column; | 
					
						
							|  |  |  | 			border-bottom: 0.1rem solid $gray2; | 
					
						
							| 
									
										
										
										
											2022-07-13 09:57:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-21 12:21:37 +01:00
										 |  |  | 			> dt, > dd { | 
					
						
							|  |  |  | 				word-break: break-word; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 			&:first-child { | 
					
						
							|  |  |  | 				border-top: 0.1rem solid $gray2; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2022-07-13 09:57:47 +02:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	.bio { | 
					
						
							|  |  |  | 		background: $profile-bg; | 
					
						
							|  |  |  | 		padding: 1rem 0.75rem; | 
					
						
							|  |  |  | 		padding-bottom: 1.25rem; | 
					
						
							| 
									
										
										
										
											2022-07-13 09:57:47 +02:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | 	.accountstats { | 
					
						
							|  |  |  | 		background: $bg-accent; | 
					
						
							|  |  |  | 		padding: 0.75rem; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		display: grid; | 
					
						
							|  |  |  | 		grid-template-columns: auto 1fr; | 
					
						
							|  |  |  | 		gap: 0.25rem 1rem; | 
					
						
							| 
									
										
										
										
											2022-10-08 14:00:39 +02:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2023-05-11 17:46:32 +02:00
										 |  |  | } |