/* 
** Layout, Text & Colors 
*/

.container-collection-title h1 {
	font-size: 1.625rem;
    line-height: 1.2;
    margin: 0 0 2.5rem 0;
}

/* Cards */
.card {
	width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
	background: transparent;
    color: var(--color-text);
    cursor: pointer;
}

.card h2 {
	font-size: 1.2em;
	margin: 0 0 0 0;
    text-align: right;
    position: absolute;
    top: 2rem;
    right: -0.75rem;
	max-width: 90%;
	transition: opacity 200ms linear 0ms, transform 200ms ease-in 0ms;
}

.card h2 span {
	background-color: rgb(255, 255, 255, 1);
	-webkit-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
	display: inline-block;
	padding: 0.6rem 1rem;
}

.card>img {
	width: 100%;
}

.card .card-content {
	display: none;
}

/* The cover (expanding background) */
.cover {
	position: fixed;
	background-image: var(--background-radial)!important;
	z-index: 100;
	transform-origin: 50% 50%;
	height: 100vh;
	max-height: 100vh;
	overflow: hidden;
}

/* The open page content */
.open-content {
	align-items: center;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    height: 100vh;
    z-index: 110;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    overflow: auto;
    padding: 3.5rem 1.5rem 1.5rem;
    pointer-events: none;
    transition: opacity 200ms linear 0ms;
}

.open-content .image img {
	-webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
	border: 1rem solid #ffffff;
	margin-top: 0rem;
	object-position: center;
}

.open-content img {
	position: relative;
	width: 100%;
	z-index: 5;
}

.open-content .text #open-content-title {
    position: relative;
}

.open-content .text #open-content-text {
	background: #ffffff;
	-webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
	display: flex;
    flex-direction: column;
    gap: 0.5rem;
	font-size: 18px;
	margin-top: 2rem;
	padding: 2rem;
	position: relative;
	z-index: 5;
}

.open-content .text p {
	max-width: 40vw;
	margin-left: auto;
	margin-right: auto;
}

.open-content .text .collection-title,
.open-content .text .type-oeuvre {
	font-size: 15px;
}

.open-content .text .collection-title a,
.open-content .text .type-oeuvre a {
	color: var(--color-text);
	text-decoration: underline;
}

.open-content .text .paragraph {
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    padding-bottom: 1rem;
    margin-bottom: 0.5rem;
}

.open-content .text h2 {
    font-size: 1.625rem;
	line-height: 1.2;
    margin-top: 0;
	margin-bottom: 0;
}

.open-content .text p:first-of-type {
	margin-top: 0;
}

.open-content .text p:last-of-type {
	margin-bottom: 0;
}

.close-content {
	display: block;
	position: fixed;
	right: 12px;
	top: 12px;
	width: 30px;
	height: 30px;
	z-index: 5;
}

.close-content span {
	background: var(--color-text);
	width: 30px;
	height: 6px;
	display: block;
	position: absolute;
	top: 14px;
}

.x-1 {
	transform: rotate(45deg);
}

.x-2 {
	transform: rotate(-45deg);
}

/* 
  ** Transitions
  */

.card {
	max-height: 65vh;
    display: flex;
    justify-content: center;
    align-items: center;
	transition: opacity 200ms linear 320ms, transform 200ms ease-out 320ms;
}

.card img {
	-webkit-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
	border: 1rem solid #ffffff;
	width: auto;
    max-height: 65vh;
	transition: opacity 200ms linear 0ms, transform 200ms ease-in 0ms;
}

.card img:hover {
	transform: scale(1.1);
}

.card h3 {
	font-size: 1.75em;
	transform: translate3d(20%, 0px, 0px);
	transition: opacity 200ms linear 120ms, transform 200ms ease-in 120ms;
}

/* Clicked card */
.card.clicked img {
	transform: translate3d(0px, -40px, 0px);
	opacity: 0;
}

.card.clicked h2 {
	transform: translate3d(0px, 40px, 100px);
	opacity: 0;
}

.card.out,
.card.out img {
	transform: translate3d(0px, -40px, 0px);
	opacity: 0;
}

.card.out h3,
.card.clicked h3 {
	transform: translate3d(20%, -40px, 0px);
	opacity: 0;
}

.cover {
	display: none!important;
	transition: transform 300ms ease-in-out;
}

.open-content.open {
	background-image: var(--background-radial)!important;
	opacity: 1;
	pointer-events: all;
	transition-delay: 1000ms;
	z-index: 999999;
}

/* 
  ** Media Queries
  */

@media screen and (max-width: 600px) {
	.card-column {
		width: 100%;
	}

	.column-1 {
		padding-top: 0px;
	}

	.open-content img {
		margin-top: 40px;
	}
}

@media only screen and (min-width: 1000px) {

	.container-collection-title {
		margin: 0 auto 0;
	}
	
	.container-collection-title h1 {
		font-size: 5rem;
		margin: 0 0 2rem 0;
		padding-left: 5rem;
	}

	.card h2 {
		font-size: 1.5em;
		margin: 0 0 0 0;
		text-align: right;
		position: absolute;
		top: 4rem;
		right: -2rem;
	}

	.open-content {
		align-items: center;
		display: grid;
		grid-template-columns: 50% minmax(0, 1fr);
		gap: 4vw;
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		opacity: 0;
		overflow: initial;
		padding: 4rem;
	}

	.open-content .text #open-content-title {
		margin-left: -8rem;
		z-index: 5;
	}

	.open-content .text h2 {
		-webkit-box-shadow: var(--box-shadow);
		box-shadow: var(--box-shadow);
		background: #ffffff;
		display: inline-block;
		font-size: 4em;
		padding: 0.9rem 2rem;
	}

	.open-content .image {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
	}

	.open-content img {
		position: relative;
		width: 100%;
		z-index: 5;
	}

	.open-content .image img {
		-webkit-box-shadow: var(--box-shadow);
		box-shadow: var(--box-shadow);
		border: 1rem solid #ffffff;
		margin-top: 0rem;
		object-position: center;
	}

	.open-content .image img.portrait {
		object-fit: contain;
		width: initial;
		max-width: initial;
		height: 100%;
		max-height: 100%;
	}

	.open-content .image img.paysage {
		object-fit: cover;
		width: 100%;
		max-width: 100%;
		height: auto;
		max-height: inherit;
	}

}