swb_base/ui/customizationmenu.cs.scss
$item-width: 280px;
$item-bg-full-dark: rgb(33, 33, 33);
$item-bg-extra-dark: rgba(33, 33, 33,0.95);
$item-bg-dark: rgba(33, 33, 33,0.8);

$col-green: #2ecc71;
$col-green-trans: #2ecc7196;
$col-red: #e84118;

CustomizationMenu {
	position: absolute;
	top: 40px;
	left: 60px;
	pointer-events: all;
	align-items: flex-start; // Enables columns with diff heights
	transition: opacity 0.2s ease-out 0s;
	text-shadow: 0px 1px 1px rgba(0,0,0,0.3);
	gap: 4px;

	&:intro {
		opacity: 0.01;
	}

	.categoryWrapper {
		flex-direction: column;

		.weaponName {
			min-width: $item-width;
			align-items: center;
			color: #eccc68;
			text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
			font-weight: 500;
			font-size: 28px;
			font-family: FONTSPRING DEMO - Integral CF;
			padding: 0 12px 2px 12px;
			border-radius: 2px;
			min-height: 60px;
			background-color: rgba( #2222, 0.75 );
			backdrop-filter: blur( 16px );
			margin-bottom: 4px;
		}

		.category {
			margin-bottom: 4px;
			width: $item-width;
			border-radius: 4px;
			cursor: pointer;
			align-items: center;
			min-height: 44px;
			transition: all 0.1s ease-out 0s;
			background-color: rgba( #2222, 0.5 );
			backdrop-filter: blur( 16px );

			&.active {
				border-left: 3px solid $col-green;
				border-bottom-left-radius: 0;
				border-top-left-radius: 0;

				.name {
					color: $col-green;
				}
			}

			&:hover {

				.name {
					color: $col-green;
				}

				&.hasAttachment {
					.name {
						color: white;
					}

					.activeAttachment {
						.name {
							color: $col-green;
							transform: scale(1.04);
						}

						.iconWrapper {
							filter: drop-shadow(0px 0px 6px $col-green);

							.icon {
								height: 60px;
								width: 60px;
							}
						}
					}
				}
			}

			&.hasAttachment {
				min-height: 60px;
				overflow: hidden; // too long attach name

				&.active {
					.name {
						color: white;
					}

					.activeAttachment {
						.name {
							color: $col-green;
						}
					}
				}

				.name {
					font-size: 16px;
					margin-bottom: auto;
					margin-top: 4px;
					color: rgb(200,200,200);
				}

				.activeAttachment {
					opacity: 1;
				}
			}

			.name {
				color: white;
				font-family: Poppins;
				font-size: 22px;
				margin-left: 10px;
				border-radius: 2px;
				transition: font-size 0.05s ease;
				pointer-events: none;
				text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
			}

			.activeAttachment {
				position: absolute;
				width: $item-width;
				height: 60px;
				border-radius: 2px;
				opacity: 0;
				transition: all 0.1s ease-out 0s;
				pointer-events: none;

				.name {
					color: white;
					font-family: Poppins;
					font-size: 20px;
					margin: 28px 0 0 10px;
					transition: all 0.1s ease-out 0s;
				}

				.iconWrapper {
					height: 60px;
					width: 60px;
					border-radius: 2px;
					margin: 0 6px 0 auto;
					//margin-right: -1px;
					filter: drop-shadow(0px 0px 6px #eccc68);
					justify-content: center;
					align-items: center;
					transition: all 0.1s ease-out 0s;

					.icon {
						height: 56px;
						width: 56px;
						background-repeat: no-repeat;
						background-size: cover;
						transition: all 0.1s ease-out 0s;
					}
				}
			}
		}
	}

	.attachmentWrapper {
		flex-direction: column;

		.attachment {
			margin-bottom: 4px;
			width: 260px;
			border-radius: 4px;
			cursor: pointer;
			align-items: center;
			min-height: 40px;
			transition: all 0.1s ease-out 0s;
			background-color: rgba( #2222, 0.5 );
			backdrop-filter: blur( 16px );

			&:hover {
				.name {
					color: $col-green;
				}

				.iconWrapper {
					filter: drop-shadow(0px 0px 6px $col-green);
				}
			}

			&.active {
				min-height: 46px;
				border-left: 3px solid $col-green;
				border-bottom-left-radius: 0;
				border-top-left-radius: 0;

				.name {
					color: $col-green;
					font-weight: bold;
				}

				.iconWrapper {
					filter: drop-shadow(0px 0px 6px $col-green);
					min-height: 46px;
					width: 62px;

					.icon {
						height: 46px;
						width: 46px;
					}
				}
			}

			.name {
				color: white;
				font-family: Poppins;
				font-size: 18px;
				padding-top: 2px;
				margin-left: 10px;
				border-radius: 2px;
				transition: font-size 0.05s ease;
				pointer-events: none;
				text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
			}

			.iconWrapper {
				// height: 100% -> broken somehow
				min-height: 40px;
				width: 52px;
				border-radius: 2px;
				margin-left: auto;
				justify-content: center;
				align-items: center;
				transition: all 0.1s ease-out 0s;
				pointer-events: none;
				filter: drop-shadow(0px 0px 1px white);

				.icon {
					height: 42px;
					width: 42px;
					background-repeat: no-repeat;
					background-size: cover;
					transition: all 0.1s ease-out 0s;
				}
			}
		}
	}

	.descriptionWrapper {
		position: relative;
		width: 400px;
		margin-left: 4px;
		flex-direction: column;
		border-radius: 2px;
		padding: 10px;
		font-family: Poppins;
		background-color: rgba( #2222, 0.5 );
		backdrop-filter: blur( 16px );
		text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
		font-size: 16px;

		&:empty {
			opacity: 0;
		}

		.description {
			color: white;
		}

		.posWrapper {
			margin-top: 10px;
			padding-left: 4px;
			flex-direction: column;
			border-left: 2px solid $col-green;

			.label {
				color: $col-green;
				font-weight: 500;
			}
		}

		.negWrapper {
			margin-top: 10px;
			padding-left: 4px;
			flex-direction: column;
			border-left: 2px solid $col-red;

			&:empty {
				margin-top: 0;
			}

			.label {
				color: $col-red;
				font-weight: 500;
			}
		}
	}
}