@import '../common/project.css';

.content {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	padding-top: 5rem;
	padding-bottom: 8rem;
	box-shadow: 0 10px 8px -5px #000 inset, 0 -12px 8px -5px #000 inset;
}

.banner {
	width: 100%;
	background-color: #7353cd;
	outline: 10px solid #7353cd;
}

.content-text-w-illu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8rem;
	margin: 7rem 0;
	padding: 0 20rem;
	max-width: 1250px;
}

.content-text-w-illu span {
	font-weight: 600;
}

.content-text h2 {
	margin-bottom: 2rem;
	font-size: 3.5rem;
	line-height: 3.8rem;
}

.content-text h2 span {
	color: #ff94bd;
	font-weight: bold;
}

.content-illu-1 {
	height: 480px;
	width: 370px;
	object-fit: cover;
	border-radius: 1rem;
}

.badge-banner-wrapper {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: 5rem;
}

.badge-banner {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 3rem;
	margin: 1rem 0 0.3rem;
	padding: 0 20rem;
	max-width: 1250px;
	width: 100%;
}

.badge {
	height: 150px;
}

.badge-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100px;
}

.badge-text span {
	font-weight: 600;
	text-decoration: underline;
}

.badge-text p {
	margin: 0;
}

.badge-text ul {
	margin: 0.5rem 0 0 0;
	padding-left: 1.5rem;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	row-gap: 0.6rem;
	column-gap: 5rem;
	height: 90px;
}

.badge-text li {
	line-height: 1.1rem;
}

.content-illu-2 {
	height: 315px;
}

.align-left {
	margin-left: 20rem;
	margin-right: 20rem;
	padding-right: 20rem;
	max-width: calc(1250px - 20rem);
}

.align-right {
	margin-left: 20rem;
	margin-right: 20rem;
	padding-left: 20rem;
	max-width: calc(1250px - 20rem);
}

.centered {
	margin: 0 20rem;
	max-width: 1250px;
}

.logo-section {
	width: 100%;
	margin: 10rem 0;
}

.logo-1,
.logo-2 {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 800px;
}

.logo-1 {
	background-color: #7353cd;
}

.logo-2 {
	background-color: #ff765e;
}

.logo-1::before,
.logo-2::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0px 0px 20px 15px rgba(60, 47, 99, 0.898);
	mix-blend-mode: multiply;
}

.logo-1 img {
	height: 500px;
}

.logo-2 img {
	height: 400px;
}

.border-pattern-top,
.border-pattern-bottom {
	height: 300px;
	background-repeat: repeat-x;
	background-size: 800px;
}

@media (prefers-reduced-motion: no-preference) and (min-width: 769px) {
	.border-pattern-top {
		margin-bottom: -3%;
	}

	.border-pattern-bottom {
		margin-top: -3%;
	}
}

.border-pattern-top {
	background-image: url('../../assets/ribambelle/034.motif-bordure-ribambelle.png');
	background-position-y: top;
}

.border-pattern-bottom {
	background-image: url('../../assets/ribambelle/035.motif-bordure-ribambelle-reverse.png');
	background-position-y: bottom;
}

.content-text-w-illu-3 {
	margin: 0;
}

.content-illu-3 {
	height: 180px;
}

.illu-w-legend {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	margin-top: 12rem;
}

#communication.illu-w-legend {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	margin-top: 6rem;
	padding-top: 6rem;
}

.content-illu {
	width: 100%;
	border-radius: 1rem;
}

.palette-section {
	padding: 0 20rem;
	max-width: 1250px;
}

.palette-section div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.palette-intro {
	margin-bottom: 2rem;
}

.palette {
	width: 47%;
}

.palette-text {
	width: 47%;
}

.full-width-images {
	display: flex;
	width: 100%;
	max-width: 1800px;
	margin: 10rem 0;
}

.full-width-images-2 {
	margin-bottom: 0 !important;
}

.tickets,
.bags {
	width: 66%;
	object-fit: cover;
}

.bracelet,
.gobelet {
	width: 34%;
	object-fit: cover;
}

.content-text-5 {
	margin-top: 15rem !important;
}

.pattern-section-wrapper {
	width: 100%;
}

.pattern-section {
	position: relative;
	z-index: 1;
	display: flex;
	width: 100%;
	height: 90vh;
}

.pattern-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0px 0px 20px 15px rgba(60, 47, 99, 0.898);
	mix-blend-mode: multiply;
}

.ribambelle-pattern {
	flex: 1;
}

.ribambelle-pattern:nth-child(1) {
	background-image: url(../../assets/ribambelle/039.motif-festif.png);
	background-color: #7353cd;
	background-size: 800px;
}

.ribambelle-pattern:nth-child(2) {
	background-image: url(../../assets/ribambelle/040.motif-chat.png);
	background-color: #ff765e;
	background-size: 200px;
}

.mockup-insta {
	margin-top: 15rem !important;
	margin-bottom: 15rem !important;
}

.quote {
	color: #ff765e;
	text-align: center;
	font-size: 2rem;
	margin-bottom: 2rem;
}

@media screen and (max-width: 1600px) {
	.content-text-w-illu {
		padding: 0 12rem;
	}

	.badge-banner {
		padding: 0 12rem;
		gap: 4rem;
	}

	.badge-text ul {
		column-gap: 6rem;
	}

	.align-left,
	.align-right {
		margin-left: 12rem;
		margin-right: 12rem;
	}

	.centered {
		margin: 0 12rem;
	}

	.palette-section {
		padding: 0 12rem;
	}
}

@media screen and (max-width: 1400px) {
	.content-text-w-illu {
		padding: 0 8rem;
	}

	.badge-banner {
		padding: 0 8rem;
	}

	.align-left,
	.align-right {
		margin-left: 8rem;
		margin-right: 8rem;
	}

	.centered {
		margin: 0 8rem;
	}

	.palette-section {
		padding: 0 8rem;
	}
}

@media screen and (max-width: 1300px) {
	.content {
		padding-top: 4rem;
	}

	.content-text-w-illu {
		gap: 5rem;
		padding: 0 7rem;
	}

	.badge-banner {
		padding: 0 7rem;
		gap: 2rem;
	}

	.badge-text ul {
		column-gap: 3rem;
	}

	.align-left,
	.align-right {
		margin-left: 7rem;
		margin-right: 7rem;
	}

	.centered {
		margin: 0 7rem;
	}

	.logo-1,
	.logo-2 {
		height: 700px;
	}

	.logo-1 img {
		height: 400px;
	}

	.logo-2 img {
		height: 300px;
	}

	.border-pattern-top,
	.border-pattern-bottom {
		height: 250px;
		background-size: 700px;
	}

	.palette-section {
		padding: 0 7rem;
	}
}

@media screen and (max-width: 1100px) {
	.content-text-w-illu {
		padding: 0 5rem;
	}

	.content-text h2 {
		margin-bottom: 1.5rem;
		font-size: 2.8rem;
		line-height: 3rem;
	}

	.badge-banner {
		padding: 0 5rem;
		gap: 5rem;
	}

	.badge-text ul {
		row-gap: 0.5rem;
		column-gap: 7rem;
		height: 120px;
	}

	.align-left {
		margin-left: 5rem;
		margin-right: 5rem;
		padding-right: 15rem;
	}

	.align-right {
		margin-left: 5rem;
		margin-right: 5rem;
		padding-left: 15rem;
	}

	.centered {
		margin: 0 5rem;
	}

	.palette-section {
		padding: 0 5rem;
	}
}

@media screen and (max-width: 900px) {
	.content {
		padding-top: 3rem;
	}

	.content-text-w-illu {
		flex-direction: column-reverse;
		gap: 3rem;
		padding: 0 3rem;
	}

	.content-illu-1 {
		height: 100%;
		width: 370px;
		object-fit: cover;
		border-radius: 1rem;
	}

	.content-text-w-illu-2 {
		flex-direction: column;
	}

	.content-illu-2 {
		height: 220px;
	}

	.badge-banner {
		padding: 0 3rem;
		gap: 3rem;
	}

	.badge-text ul {
		column-gap: 3rem;
	}

	.align-left {
		margin-left: 3rem;
		margin-right: 3rem;
		padding-right: 10rem;
	}

	.align-right {
		margin-left: 3rem;
		margin-right: 3rem;
		padding-left: 10rem;
	}

	.centered {
		margin: 0 3rem;
	}

	.logo-1,
	.logo-2 {
		height: 550px;
	}

	.logo-1 img {
		height: 300px;
	}

	.logo-2 img {
		height: 215px;
	}

	.border-pattern-top,
	.border-pattern-bottom {
		height: 200px;
		background-size: 600px;
	}

	.palette-section {
		padding: 0 3rem;
	}

	.palette-section div {
		flex-direction: column;
	}

	.palette {
		width: 60%;
		margin-bottom: 2rem;
	}

	.palette-text {
		width: 100%;
	}
}

@media screen and (max-width: 800px) {
	.badge-banner-wrapper {
		margin-top: 0;
	}

	.badge-banner {
		flex-direction: column;
		gap: 3rem;
	}

	.palette {
		width: 70%;
	}

	.pattern-section {
		flex-direction: column;
		height: 170vh;
	}
}

@media screen and (max-width: 700px) {
	.content-text h2 {
		font-size: 2.3rem;
		line-height: 2.2rem;
	}

	.align-left {
		padding-right: 0;
	}

	.align-right {
		padding-left: 0;
	}

	.full-width-images {
		flex-direction: column;
		align-items: center;
		gap: 5rem;
	}

	.tickets,
	.bags {
		width: 100%;
	}

	.bracelet,
	.gobelet {
		width: 150%;
	}

	.ribambelle-pattern:nth-child(1) {
		background-size: 700px;
	}

	.ribambelle-pattern:nth-child(2) {
		background-size: 175px;
	}

	.quote {
		text-align: left;
		font-size: 1.5rem;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 600px) {
	.content-text-w-illu {
		gap: 2rem;
	}

	.badge-banner {
		margin: 1.5rem 0 0;
	}

	.badge-text {
		height: auto;
		text-align: center;
	}

	.badge-text ul {
		flex-wrap: nowrap;
		align-items: center;
		height: auto;
		padding: 0;
	}

	.logo-1,
	.logo-2 {
		height: 500px;
	}

	.logo-1 img {
		height: 200px;
	}

	.logo-2 img {
		height: 150px;
	}

	.border-pattern-top,
	.border-pattern-bottom {
		height: 150px;
		background-size: 450px;
	}

	.content-illu-3 {
		height: 120px;
	}

	.palette {
		width: 100%;
	}
}

@media screen and (max-width: 450px) {
	.content {
		padding-top: 2rem;
		padding-bottom: 5rem;
	}

	.content-text-w-illu {
		padding: 0 1.5rem;
	}

	.content-text-1 {
		padding: 0 1.5rem;
	}

	.content-illu-1 {
		height: 100%;
		width: 100vw;
		border-radius: 0;
	}

	.badge-banner {
		padding: 0 1.5rem;
	}

	.logo-1 img {
		width: 100%;
	}

	.logo-2 img {
		width: 100%;
	}

	.align-left,
	.align-right {
		margin-left: 1.5rem;
		margin-right: 1.5rem;
	}

	.centered {
		margin: 0 1.5rem;
	}

	.palette-section {
		padding: 0 1.5rem;
	}

	.bracelet,
	.gobelet {
		width: 200%;
	}

	.ribambelle-pattern:nth-child(1) {
		background-size: 600px;
	}

	.ribambelle-pattern:nth-child(2) {
		background-size: 150px;
	}
}

/* Patchwork */

.patchwork {
	position: relative;
	width: 1400px;
	height: 1250px;
	margin: 10rem 0;
}

.patchwork img {
	position: absolute;
}

.patchwork-group {
	position: absolute;
	width: 700px;
	height: 625px;
}

.back {
	filter: drop-shadow(0px 4px 2px rgb(26, 8, 14));
}

.mid {
	filter: drop-shadow(0px 15px 10px rgba(26, 8, 14, 0.8));
}

.front {
	filter: drop-shadow(0px 40px 20px rgba(26, 8, 14, 0.6));
}

/* Group 1 */
#group-1 {
	top: -3%;
	left: 2%;
}

#serpentin-violet-1 {
	width: 102px;
	top: 32%;
	left: 2%;
}

#chat-violet-1 {
	width: 130px;
	top: 12%;
	left: 37%;
}

#serpentin-orange-1 {
	width: 135px;
	top: 18%;
	left: 77%;
}

#spectacles-1 {
    height: 110px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#oeil-violet-1 {
	width: 156px;
	top: 64%;
	left: 5%;
}

#etoile-flash-1 {
	width: 149px;
	top: 62%;
	left: 42%;
}

#multi-etoile-1 {
	width: 115px;
	top: 58%;
	left: 82%;
	transform: rotate(-63deg);
}

/* Group 2 */
#group-2 {
	top: 5%;
	left: 53%;
}

#note-bleu-2 {
	width: 66px;
	top: 25%;
	left: 12%;
}

#oeil-rose-2 {
	width: 202px;
	top: 8%;
	left: 43%;
}

#concerts-2 {
	width: 356px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#chat-rose-2 {
	width: 129px;
	top: 66%;
	left: 38%;
}

#note-rose-2 {
	width: 109px;
	top: 58%;
	left: 74%;
}

/* Main Logo */
#patchwork-logo {
	width: 700px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Group 3 */
#group-3 {
	top: 46%;
	left: 0%;
}

#serpentin-bleu-3 {
	width: 141px;
	top: 10%;
	left: -8%;
}

#courbe-jaune-3 {
	width: 188px;
	top: 10%;
	left: 70%;
}

#performances-3 {
	width: 540px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#etoile-flash-3 {
	width: 149px;
	top: 64%;
	left: -15%;
}

#oeil-jaune-3 {
	width: 249px;
	top: 68%;
	left: 14%;
}

#chat-jaune-3 {
	width: 131px;
	top: 72%;
	left: 61%;
}

/* Group 4 */
#group-4 {
	top: 52%;
	left: 55%;
}

#oeil-orange-4 {
	width: 146px;
	top: 15%;
	left: 22%;
}

#etoile-4 {
	width: 171px;
	top: -1%;
	left: 54%;
}

#expositions-4 {
	width: 453px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#etoile-flash-4 {
	width: 138px;
	top: 67%;
	left: 1%;
	transform: rotate(-132deg);
}

#chat-orange-4 {
	width: 152px;
	top: 65%;
	left: 45%;
}

#courbe-orange-4 {
	width: 170px;
	top: 28%;
	left: 92%;
}

/* No Group */
#multi-etoile-out {
	width: 115px;
	top: 22%;
	left: -7%;
	transform: rotate(-158deg);
}

#spirale-rose-out {
	width: 152px;
	top: 18%;
	left: 98%;
	transform: rotate(1.5deg);
}

#multi-etoile-out-2 {
	width: 94px;
	top: 65%;
	left: 52%;
}

#spirale-rose-out-2 {
	width: 129px;
	top: 78%;
	left: 47%;
	transform: rotate(-77deg);
}

#serpentin-rose-out {
	width: 147px;
	top: 42%;
	left: 101%;
}

/* Patchwork Responsive */
@media screen and (min-width: 581px) {
	#oeil-rose-2 {
		top: 12%;
		left: 40%;
	}

	#chat-rose-2 {
		top: 63%;
		left: 43%;
	}

	#note-rose-2 {
		top: 53%;
		left: 72%;
	}

	#serpentin-bleu-3 {
		left: -12%;
	}

	#courbe-jaune-3 {
		left: 17%;
	}

	#etoile-flash-3 {
		top: 58%;
		left: -18%;
	}

	#oeil-jaune-3 {
		top: 63%;
		left: 12%;
	}

	#oeil-orange-4 {
		top: 22%;
	}

	#etoile-flash-4 {
		left: 11%;
	}
}

@media screen and (max-width: 1350px) {
	.patchwork {
		scale: 0.9;
	}
}

@media screen and (max-width: 1200px) {
	.patchwork {
		scale: 0.75;
		margin: 0rem 0;
	}
}

@media screen and (max-width: 1000px) {
	.patchwork {
		scale: 0.7;
		margin: -5rem 0;
	}
}

@media screen and (max-width: 950px) {
	.patchwork {
		scale: 0.65;
	}
}

@media screen and (max-width: 860px) {
	.patchwork {
		scale: 0.6;
		margin: -8rem 0;
	}
}

@media screen and (max-width: 800px) {
	.patchwork {
		scale: 0.5;
	}
}

@media screen and (max-width: 680px) {
	.patchwork {
		scale: 0.45;
		margin: -12rem 0;
	}
}

@media screen and (max-width: 620px) {
	.patchwork {
		scale: 0.4;
	}
}

@media screen and (max-width: 580px) {
	.patchwork {
		scale: 0.6;
		margin: 20rem 0;
	}

	#group-1 {
		top: -50%;
		left: 20%;
	}

	#group-2 {
		top: -10%;
		left: 35%;
	}

	#group-3 {
		top: 60%;
		left: 26%;
	}

	#group-4 {
		top: 115%;
		left: 25%;
	}

	#multi-etoile-out {
		width: 115px;
		top: 2%;
		left: 24%;
		transform: rotate(-158deg);
	}

	#spirale-rose-out {
		width: 152px;
		top: 20%;
		left: 28%;
		transform: rotate(1.5deg);
	}

	#multi-etoile-out-2 {
		width: 94px;
		top: 67%;
		left: 44%;
	}

	#spirale-rose-out-2 {
		width: 129px;
		top: 113%;
		left: 23%;
		transform: rotate(-77deg);
	}

	#serpentin-rose-out {
		width: 147px;
		top: 105%;
		left: 70%;
	}
}

@media screen and (max-width: 450px) {
	.patchwork {
		scale: 0.5;
		margin: 10rem 0;
	}
}

@media screen and (max-width: 380px) {
	.patchwork {
		scale: 0.4;
		margin: 3rem 0;
	}
}

@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) and (min-width: 769px) {
		.patchwork-group > .parallax-b1,
		.no-group.parallax-b1 {
			animation: parallaxB1 linear forwards;
			animation-timeline: view(-25%);
		}

		.patchwork-group > .parallax-b2,
		.no-group.parallax-b2 {
			animation: parallaxB2 linear forwards;
			animation-timeline: view(-25%);
		}

		.patchwork-group > .parallax-b3,
		.no-group.parallax-b3 {
			animation: parallaxB3 linear forwards;
			animation-timeline: view(-25%);
		}

		.patchwork-group > .parallax-f1,
		.no-group.parallax-f1 {
			animation: parallaxF1 linear forwards;
			animation-timeline: view(-25%);
		}

		.patchwork-group > .parallax-f2,
		.no-group.parallax-f2 {
			animation: parallaxF2 linear forwards;
			animation-timeline: view(-25%);
		}
		.patchwork-group > .parallax-f3,
		.no-group.parallax-f3 {
			animation: parallaxF3 linear forwards;
			animation-timeline: view(-25%);
		}

		@keyframes parallaxB1 {
			from {
				translate: 0 -50px;
			}

			to {
				translate: 0 50px;
			}
		}

		@keyframes parallaxB2 {
			from {
				translate: 0 -100px;
			}

			to {
				translate: 0 100px;
			}
		}

		@keyframes parallaxB3 {
			from {
				translate: 0 -150px;
			}

			to {
				translate: 0 150px;
			}
		}

		@keyframes parallaxF1 {
			from {
				translate: 0 50px;
			}

			to {
				translate: 0 -50px;
			}
		}

		@keyframes parallaxF2 {
			from {
				translate: 0 100px;
			}

			to {
				translate: 0 -100px;
			}
		}

		@keyframes parallaxF3 {
			from {
				translate: 0 200px;
			}

			to {
				translate: 0 -200px;
			}
		}
	}
}
