/***************************************
Launchpad Child Project Single Stylesheet: Arc Architects
*****************************************/
/*
Loaded on project single pages only, after launchpad-platform-child.css (uses its tokens).
*/
/***************************************
Table of Contents:

Projects: Single
Projects: Navigation
Reduced Motion
*****************************************/

/*************************************
#PROJECTS: SINGLE - START
**************************************/
.description-gallery .has-media .hic-box {
	display: flex;
	align-items: flex-start;
	gap: var(--lp--custom-preset--ps-column-gap);
}
.description-gallery.image-left-content .has-media .hic-box > .hic-media-container {
	width: calc(100% * 2 / 3 - var(--lp--custom-preset--ps-column-gap) / 2);
}
.description-gallery.image-left-content .has-media .hic-box > .hic-content {
	width: calc(100% / 3 - var(--lp--custom-preset--ps-column-gap) / 2);
}
.description-gallery .hic-content > .hic-blurb > p:first-child {
	margin-top: 0;
}

/* Slider */
.description-gallery .image-slider .hic-image {
	aspect-ratio: 612 / 460;
	background-size: cover;
	background-position: center;
}
.description-gallery .image-slider .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 15px;
	height: 40px;
	margin: 0;
	padding: 0;
	font-size: 0;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	cursor: pointer;
}
.description-gallery .image-slider .slick-arrow::before {
	content: '';
	display: block;
	width: 15px;
	height: 40px;
	opacity: 1;
	background: var(--lp--base-preset--heading--color);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 40'%3E%3Cpath d='M14 1 1 20l13 19' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 40'%3E%3Cpath d='M14 1 1 20l13 19' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.description-gallery .image-slider .slick-prev {
	left: 18px;
}
.description-gallery .image-slider .slick-next {
	right: 18px;
}
.description-gallery .image-slider .slick-next::before {
	transform: scaleX(-1);
}
.description-gallery .image-slider .slick-dots {
	display: none !important;
}

/* Project details (e.g. Builder) */
.arc-project-info {
	margin: 13px 0;
}
.arc-project-info h4 {
	margin: 0 0 2px;
	font-size: 21px;
	font-weight: 400;
	line-height: 28px;
	color: var(--lp--base-preset--heading--color);
}
.arc-project-info h6 {
	margin: 0;
	font-size: 13px;
	font-weight: 300;
	line-height: 23px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--lp--base-preset--body--color);
}

/* Stacked images: photos stacked in the left third, text in the right two-thirds */
.description-gallery.arc-project--stacked .has-media .hic-box > .hic-media-container {
	width: calc(100% / 3 - var(--lp--custom-preset--ps-column-gap) / 2);
}
.description-gallery.arc-project--stacked .has-media .hic-box > .hic-content {
	width: calc(100% * 2 / 3 - var(--lp--custom-preset--ps-column-gap) / 2);
}
.description-gallery.arc-project--stacked .image-grid {
	margin: 0;
}
.description-gallery.arc-project--stacked .image-grid > * {
	width: 100%;
	padding: 0;
	margin-bottom: var(--lp--custom-preset--gutter);
}
.description-gallery.arc-project--stacked .image-grid .hic-image {
	aspect-ratio: 780 / 586;
	background-size: cover;
	background-position: center;
}

@media (max-width: 1023px) {
	.description-gallery .has-media .hic-box {
		flex-direction: column;
	}
	/* Stacked projects put the text first on small screens. */
	.description-gallery.arc-project--stacked .has-media .hic-box {
		flex-direction: column-reverse;
	}
	.description-gallery.image-left-content .has-media .hic-box > .hic-media-container,
	.description-gallery.image-left-content .has-media .hic-box > .hic-content,
	.description-gallery.arc-project--stacked .has-media .hic-box > .hic-media-container,
	.description-gallery.arc-project--stacked .has-media .hic-box > .hic-content {
		width: 100%;
	}
}
/*************************************
!PROJECTS: SINGLE - END
**************************************/

/*************************************
#PROJECTS: NAVIGATION - START
**************************************/
.bottom-page-elements {
	padding-bottom: var(--lp--custom-preset--content-bottom);
}
.body-content:has(+ .bottom-page-elements) {
	padding-bottom: 0;
}
.arc-psnav {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	/* The Code element prints no grid container, so the nav keeps its own side gutter. */
	width: calc(100% - 2 * var(--lp--custom-preset--side-padding));
	max-width: calc(var(--lp--custom-preset--grid-width) - 30px);
	min-height: 29px;
	margin: 67px auto 0;
}
.arc-psnav .hic-post-meta-nav a {
	font-family: var(--lp--base-preset--heading--font-family);
	font-size: 13px;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--lp--base-preset--brand-color--secondary);
}
.arc-psnav .hic-post-meta-nav a:hover {
	color: var(--lp--base-preset--link--color--hover);
}
.arc-psnav .nav-label {
	position: relative;
	display: inline-block;
}
.arc-psnav .nav-label::before,
.arc-psnav .nav-label::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 1px;
	height: 7px;
	background: var(--lp--custom-preset--nav-tick-color);
	transition: transform .2s;
}
.arc-psnav__prev .nav-label {
	margin-left: 10px;
}
.arc-psnav__prev .nav-label::before {
	left: -10px;
	transform: translateY(-100%);
}
.arc-psnav__prev .nav-label::after {
	left: -10px;
}
.arc-psnav__next .nav-label {
	margin-right: 10px;
}
.arc-psnav__next .nav-label::before {
	right: -10px;
	transform: translateY(-100%);
}
.arc-psnav__next .nav-label::after {
	right: -10px;
}
.arc-psnav__prev a:hover .nav-label::before {
	transform: translateY(-100%) translateX(-3px) rotate(40deg);
}
.arc-psnav__prev a:hover .nav-label::after {
	transform: translateX(-3px) rotate(-40deg);
}
.arc-psnav__next a:hover .nav-label::before {
	transform: translateY(-100%) translateX(3px) rotate(-40deg);
}
.arc-psnav__next a:hover .nav-label::after {
	transform: translateX(3px) rotate(40deg);
}
.arc-psnav__back {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	transform: translate(-50%, -50%);
	color: var(--lp--base-preset--heading--color);
}
.arc-psnav__back svg {
	fill: currentColor;
}
.arc-psnav__back:hover {
	color: var(--lp--base-preset--link--color--hover);
}
/*************************************
!PROJECTS: NAVIGATION - END
**************************************/

/*************************************
#REDUCED MOTION - START
**************************************/
@media (prefers-reduced-motion: reduce) {
	.arc-psnav .nav-label::before,
	.arc-psnav .nav-label::after {
		transition: none;
	}
}
/*************************************
!REDUCED MOTION - END
**************************************/
