/**
 * FILEPATH: /c:/Development/stavit_site/style/projects.css
 * 
 * This file contains the CSS styles for the projects section of a website.
 * It includes styles for the container, inner container, project images, project list, and project content.
 * The styles define the layout, positioning, background colors, and transitions for the projects section.
 */

.projects_container {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--space-24) 0;
	position: relative;
}

.projects_container::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background-image: url("../assets/pixel_bg.png");
	background-repeat: repeat-x;
	background-size: 32%;
	opacity: 0.25;
}

.projects_inner_container {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	width: 66.66%;
	max-width: 1280px;
	min-width: 744px;
	z-index: 3;
}

.project_image {
	position: fixed;
	width: 25vw;
	height: 25vw;

	background-color: #555555;
	transform: translateY(-50%);
	top: 50%;
	right: 16.66%;

	background-size: cover;
	background-position: 50% 50%;

	z-index: 4;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease-in, visibility 0.2s;
}

/* shown while hovering a project (js/projects_events.js) */
.project_image.visible {
	visibility: visible;
	opacity: 1;
}

.number_title {
	width: 60px;
	transition: 0.2s;
}


.project_list {
	width: 100%;
	overflow: hidden;
}

.project {
	display: flex;
	align-items: center;
	gap: var(--space-10);
	padding: var(--space-6) 0;
	width: 50%;
}


.project_content {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

.project_description {
	font-size: var(--text-md);
	font-weight: 300;
	opacity: var(--muted-opacity);
	z-index: -2;
}


.project_title {
	position: relative;
	font-size: var(--text-xl);
    transition: 0.2s;
}

/* hover / keyboard focus: project color and underline */
@media (hover: hover) and (pointer: fine) {
	.project:is(:hover, :focus-visible) :is(.project_title, .number_title) {
		color: var(--project-color);
	}

	.project:is(:hover, :focus-visible) .project_title_line {
		transform: scale3d(1, 1, 1);
	}
}

.project_title_line {
	position: absolute;
	bottom: 0;
	z-index: -1;
	width: 100%;
	height: 20px;
	transform: scale3d(0, 1, 1);
	transform-origin: 0% 50%;
	transition: transform 0.5s;
}

.plus-line {
	display: block;
	content: "";
	/* Removes default content */
	font-family: "Pixelify Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: var(--text-base);
	position: relative;
	width: 100%;
	height: 0;
	opacity: 0.3;
	z-index: -1;
}

.plus-line::before {
	content: "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
	/* Repeat "+" character */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	/* Stretch to fit container */
	/* centre the plus signs on the line, so the rows above and below look evenly spaced
	   (0.35em rather than 50%: the "+" glyph sits slightly low in its box) */
	line-height: 1;
	transform: translateY(-0.35em);
}

.pink_bg {
	background-color: var(--pink_opacity);
}

.orange_bg {
	background-color: var(--orange_opacity);
}

.yellow_bg {
	background-color: var(--yellow_opacity);
}

.green_bg {
	background-color: var(--green_opacity);
}

.light_blue_bg {
	background-color: var(--light_blue_opacity);
}

.blue_bg {
	background-color: var(--blue_opacity);
}

.purple_bg {
	background-color: var(--purple_opacity);
}