body {
	background-color: #1E1E2E;
	color: #ffffff;
}

.Header {
	position: relative;
	height: 100px;
	background-color: #3E3E4E;
	display: flex;
	justify-content: center;
	align-items: center;
}

.Header a img {
	height: 90px;
}

.TopRightButtons {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);

	display: flex;
	gap: 10px;
}

.LoginButton {
	color: white;
	padding: 10px 20px;

	border-radius: 8px;
	border: solid 2px;

	text-decoration: none;
	font-family: 'Helvetica Neue', sans-serif;
	font-weight: bold;
}

.LoginButton:hover {
	background-color: #5750d4;
}

.Profile {
	background-color: transparent;
	color: #ffffff;

	border: solid 2px #888899;
	border-radius: 8px;

	font-family: 'Helvetica Neue', sans-serif;
	font-size: 20px;
	font-weight: bold;

	padding: 10px;

	cursor: pointer;
}

.Profile:hover {
	background-color: #505060;
}

.ProfileMenu {
	position: absolute;
	top: 110%; 
	left: -25%;
	background-color: #3E3E4E;
	border-radius: 15px;
	padding: 5px 0;
	min-width: 100px;
}

.ProfileMenu a {
	display: block;
	padding: 8px 12px;
	color: white;
	text-decoration: none;
	font-family: Helvetica neue, sans-serif;
	font-weight: bold;
	font-size: 18px;
	border-radius: 15px;
}

.ProfileMenu a:hover {
	background-color: #505060;
}


.UploadButtonRectangle {
	background-color: transparent;
	color: #ffffff;

	border: solid 2px #888899;
	border-radius: 8px;

	font-family: 'Helvetica Neue', sans-serif;
	font-size: 18px;

	padding: 10px 20px;
	text-decoration: none;
}

.UploadButtonRectangle:hover {
	background-color: #505060;
}

.SearchFilters {
	display: flex;
	max-width: 1320px;
	justify-content: center;
	margin: 0 auto;
}

.SearchInput {
	color: #DDDDEE;
	background-color: transparent;

	border: solid 2px #3E3E4E;
	border-radius: 20px;
	
	font-size: 18px;
	padding: 5px 5px 5px 15px;

	margin: 0 10px;
}

.filter {
	display: flex;
	flex-direction: column;
	align-items: center;

	cursor: pointer;

	position: relative;

	color: #868696;
	background-color: transparent;

	border: solid 2px #3E3E4E;
	border-radius: 20px;

	font-size: 18px;
	font-family: Helvetica, sans-serif;

	padding: 5px 20px;

	margin: 0 10px;
}

.filter .Dropdown {
	display: flex;
	flex-direction: column;

	position: absolute;
	top: 120%;

	background-color: #1E1E2E;
	padding: 10px;

	border: solid 2px #3E3E4E;
	border-radius: 10px;
}

.filter .Dropdown span {
	white-space: nowrap;
}

.filter .FilterKey {
	margin-right: 5px; 
	font-family: Arial, Helvetica, sans-serif;

}

.filter .FilterValue {
	color: #CCCCDD; 
	font-family: Arial, Helvetica, sans-serif;
}

.ApplyFiltersButton {
	cursor: pointer;

	color: #CCCCDD;
	background-color: transparent;

	border: solid 2px #3E3E4E;
	border-radius: 20px;

	font-size: 18px;
	font-family: Helvetica, sans-serif;

	padding: 5px 20px;

	margin: 0 10px;
}

.Themes {
	display: flex;
	flex-wrap: wrap;
	max-width: 1320px;
	justify-content: center;
	margin: 0 auto;

}

.Theme {
	display: flex;
	flex-direction: column;

	background-color: #3E3E4E;
	margin: 20px;

	width: 385px;
	height: 305px;

	border-radius: 15px;
	
	justify-items: center;
	text-align: center;
}

.Theme .LikeBadge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #333344;
	color: #CCCCDD;
	font-family: Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 20px;
	margin-top: 8px;
	transition: all 0.2s ease;
}

.Theme .LikeBadge:hover {
	background: #f43f5e;
	color: white;
	cursor: pointer;
	transform: scale(1.05);
}

.Theme .CommentBadge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #2e3344; 
	color: #aaccff;     
	font-family: Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 20px;
	margin-top: 8px;
	transition: all 0.2s ease;
}

.Theme .CommentBadge:hover {
	background: #3b82f6; 
	color: white;
	cursor: pointer;
	transform: scale(1.05);
}

.ThemeMenuOptions {
	display: flex;
	position: absolute;
	right: 10px;
	font-size: 20px;
	cursor: pointer;
}

.ThemeMenuOptions .Dropdown {
	position: absolute;
	top: 120%;

	background-color: #3E3E4E;

	border-radius: 10px;
}

.ThemeMenuOptions .Dropdown span {
	display: block;
	padding: 8px 12px;
	color: white;
	text-decoration: none;
	font-family: "Helvetica neue", sans-serif;
	font-weight: bold;
	font-size: 18px;
	border-radius: 15px;
}

.ThemeMenuOptions .Dropdown span:hover {
	background-color: #505060;
	transform: scale(1.05);
}

.Title {
	color: #DDDDEE;
	font-family: 'Helvetica Neue', sans-serif;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.5px;

	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;

	max-width: 90%;
	margin: 0 auto;
}

.Main {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 20px;
	max-width: 80%;
	margin: 20px auto;
}

form {
	display: flex;
	flex-direction: column;
}

#ExternalLinks input {
	background-color: #3E3E4E;
	color: #ffffff;
	border-radius: 15px;
	border-color: transparent;
	font-size: 22px;
	padding: 10px;
	margin-bottom: 0;
	margin-top: 10px;
}

form input, form textarea {
	background-color: #3E3E4E;
	color: #ffffff;
	border-radius: 15px;
	border-color: transparent;
	font-size: 22px;
	padding: 10px;
	margin-bottom: 15px;
}

form button {
	font-size: 22px;
	font-family: Helvetica, sans-serif;
	font-weight: bold;

	width: 300px;
	height: 45px;
	padding: 10px;
	margin: 0 auto;

	background-color: #3E3E4E;
	color: #FFFFFF;

	border-radius: 10px;
	border: solid 2px #FFFFFF;
}

form button:hover {
	transform: scale(1.05);
	background-color: #505060;
}

.Description {
	width: 1000px;
	height: 350px;
}

#ImageUpload {
	margin-bottom: 0px;
	width: 100%;
}

.TagSection {
	display: flex;
	flex-direction: column;
	margin-bottom: 10px;
	height: fit-content;
}

.Tag {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.Tag select {
	background-color: #3E3E4E;
	color: #ffffff;
	border-radius: 15px;
	border-color: transparent;
	padding: 10px;

	font-size: 26px;
	font-family: Helvetica, sans-serif;

	margin-top: 10px;
}

.OtherInput {
	color: #ffffff;
	background-color: #3E3E4E;

	margin: 10px 0 0 15px;

	border-radius: 15px;
	border: solid 2px #3E3E4E;

	padding: 10px;

	font-size: 26px;
	font-family: Helvetica, sans-serif;

}

.SmallAddTagButton {
	font-family: Helvetica, sans-serif;
	font-weight: bold;
	padding: 10px;
	height: 45px;
	width: 50px;
	color: #FFFFFF;
	background-color: #3E3E4E;
	display: flex;
	justify-content: center;
	align-items: center;
	border: none;
	border-radius: 10px;
	font-size: 22px;
	margin: 10px 0 0 0;
}

.SmallAddTagButton:hover {
	transform: scale(1.05);
	background-color: #505060;
}

.ThemeDescription {
	color: #CCCCDD;
	font-size: 20px;
	margin-top: 20px;
	font-family: Helvetica, sans-serif;
}

.ThemeTitle {
	color: #CCCCDD;
	font-family: 'Helvetica', sans-serif;
	font-size: 32px;
	letter-spacing: 0.5px;
	margin: auto 0;
}

.ThemeAuthor {
	color: #A6A6FF;
	text-decoration: none;
	font-family: 'Helvetica', sans-serif;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.5px;
	display: inline-block;
	margin: auto 0;
}

.ThemeAuthor:hover {
	color: #8888FF;
	text-decoration: underline;
}

.ThemeDate {
	color: #8888AA;
	font-size: 14px;
	font-family: 'Helvetica', sans-serif;
	margin: auto 0;
}

.ThemesPostSeperator {
	height: 3px;
	width: 3px;
	background-color: #888888;
	margin: auto 8px;
	border-radius: 100%;
	border: solid 1px #888888;
}

.ThemesImages {
	position: relative;
	margin-right: 20px;
}

.ThemesImageDisplay{
	display: none;
	width: 1000px;
	height: auto;
	border-radius: 15px;
	border: solid 5px #3E3E4E;
}

.ThemesImageDisplay.active {
	display: block;
}

.NextPreviousImageButton {
	position: absolute;
	top: 50%;

	width: 50px;
	height: 50px;

	border-radius: 50%;
	border: none;

	font-family: "Helvetica", sans-serif;
	font-size: 20px;

	background-color: rgba(0, 0, 0, 0.3);
	color: #ffffff;
}

.NextPreviousImageButton:hover {
	background-color: rgba(50, 50, 50, 0.3);
}

.Stats {
	background-color: #3E3E4E;
	border-radius: 20px;
	width: 400px;
	height: max-content;
	overflow: hidden;
}

.StatsText {
	color: #CCCCDD;
	font-family: Arial, Helvetica, sans-serif;
	width: max-content;
	margin: 5px auto;
}

.Row {
	display: flex;
	margin-left: 2px;
	width: 93%;
	height: fit-content;
	justify-content: space-between;
}

.RowButton {
	display: flex;

	/* Width is (same percantage as .row + 10px (Because of padding and minus border)) */
	width: calc(93% + 10px);

	justify-content: space-between;

	background-color: transparent;

	border: solid 2px #888899;
	border-radius: 10px;

	margin-bottom: 20px;
	padding: 6px 6px 3px 6px;

	transition: all 0.2s ease;
	cursor: pointer;
}

.RowButton h3 {
	margin: 0;
}

.RowButton:hover {
	transform: scale(1.05);
	background-color: #505060;
}

.Key {
	color: #ccccdd;
	font-size: 18px;
	font-family: Helvetica, Arial,  sans-serif;
	font-weight: 500;
	margin: 0 0 20px 0;

}

.Value {
	color: #ccccdd;
	font-size: 18px;
	font-family: Helvetica, Arial,  sans-serif;
	width: max-content;
	margin: 0 0 20px 8px;
}

.Links {
	margin-top: 20px;
}

.Links button {
	background-color: #3E3E4E;
	color: #ffffff;

	font-family: Helvetica, sans-serif;
	font-size: 20px;
	font-weight: bold;

	border: solid 2px #888899;
	border-radius: 15px;

	width:  100%;
	height: 45px;

	transition: all 0.2s ease;
	cursor: pointer;
}

.Links button:hover {
	transform: scale(1.05);
	background-color: #505060;
}

.ThemeTags {
	display: flex;
	flex-direction: column;
	margin-top: 15px;
}

.ThemeTags a {
	width: fit-content;

	color: #CCCCDD;
	color: #ffffff;
	background-color: #3E3E4E;

	border-radius: 15px;
	padding: 10px;

	font-family: Helvetica, sans-serif;
	font-size: 20px;

	margin-top: 5px;

	text-decoration: none;

	transition: background-color 0.2s ease;
}

.ThemeTags a:hover {
	background-color: #505060;
}

.Comments {
	margin-top: 20px;
}

.CommentInput {
	background-color: transparent;
	color: #DDDDff;

	font-family: Helvetica, sans-serif;
	font-size: 20px;

	border-radius: 15px;
	border: solid 3px #3E3E4E;

	width: 60%;

	padding: 10px;
	
	display: block;
	margin: 0 auto;
}

.CommentInputText {
	background-color: transparent;
	color: #DDDDff;

	font-family: Helvetica, sans-serif;
	font-size: 20px;

	border: none;

	width: calc(100% - 3px);

	outline: none;
	resize: none;

	padding: 5px;
}

.CommentInputButton {
	background-color: #3E3E4E;
	color: #DDDDFF;

	border: none;
	border-radius: 15px;

	font-size: 18px;

	padding: 10px;

	transition: all 0.2s ease;
	cursor: pointer;
}

.CommentInputButton:hover {
	transform: scale(1.05);
	background-color: #505060;
}

.Comment {
	border-radius: 8px;
	padding: 10px 14px;
	margin: 8px 0;
	margin-left: 15px;
	border: 1px solid #3e3e4e;
}

.CommentUsername {
	font-family: Helvetica, sans-serif;
	font-size: 20px;
	font-weight: bold;
	color: #8888FF;
	text-decoration: none;
}

.CommentText {
	font-family: Helvetica, sans-serif;
	font-size: 20px;
	margin: 4px 0 8px 0;
	color: #e0e0e0;
}

.CommentButton {
	display: flex;

	background-color: transparent;

	border: solid 2px #3E3E4E;
	border-radius: 10px;

	margin-right: 10px;
	padding: 6px 6px 3px 6px;

	transition: all 0.2s ease;
	cursor: pointer;
}

.CommentButton:hover {
	transform: scale(1.05);
	background-color: #505060;
}

.CommentButton h3 {
	margin: 0;
}

.CommentButtons {
	display: flex;
	width: 10%;
}


.LoginSubmit {
	font-size: 22px;
	font-family: Helvetica, sans-serif;
	font-weight: 400;

	width: 300px;
	height: 45px;
	padding: 10px;
	margin: 0 auto;
	
	background-color: #3E3E4E;
	color: #A6A6A7;

	border-radius: 10px;
	border: solid 2px #6E6E7E;
}

.ProfileTitle {
	font-family: Helvetica, sans-serif;
	font-size: 48px;
	font-weight: bold;

	text-align: center;
	margin-bottom: 0px;
	color: #ccccdd;
}

.Underline {
	background-color: #ccccdd;
	width: 120px; 
	height: 3px;
	margin: 10px auto 30px auto; 
	border-radius: 2px;
}

.ViewOptions {
	margin-bottom: 25px;
}

.ViewOptions a {
	font-size: 20px;
	font-weight: bold;
	color: #ccccdd;
	border: solid 1px #3E3E4E;
	border-radius: 25px;
	padding: 6px 18px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ViewOptions a:hover {
	background-color: #505060;
	transform: scale(1.05);
}

.Posts {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.Post {
	background-color: #3E3E4E;
	width: 914px;
	height: fit-content;
	border-radius: 30px;

	margin-bottom: 10px;
	transition: transform 0.2s ease;
}

.Post:hover {
	transform: translateY(-5px);
}

.PostTitle {
	font-family: "Helvetica Neue", sans-serif;
	font-size: 22px;
	color: #ccccdd;
	margin-left: 15px;
	margin-bottom: 5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
