:root {
	--pink: #ff6376;
	--red: #d90936;
	--lime: #b5ff9c;
	--yale: "filmotype-yale";
	--panchang: "Panchang Bold";
	--vietnam: "BeVietnam Pro";
	--h1: clamp(3rem, 0.5rem + 11.1111vw, 10.5rem); /* 360px: 48px 1440px: 168px */
	--h2: clamp(1.875rem, 1.125rem + 3.3333vw, 4.125rem); /* 360px: 30px 1440px: 66px */
	--accent: clamp(3rem, 1rem + 8.8889vw, 9rem); /* 360px: 48px 1440px: 144px */
	--paragraph: clamp(1.25rem, 0.9167rem + 1.4815vw, 2.25rem); /* 360px: 20px 1440px: 36px */
	--paragraph-spacing: clamp(1rem, 0.6667rem + 1.4815vw, 2rem);  /* 360px: 16px 1440px: 32px */
	--tilt: rotate(-5deg);
	--steep-tilt: rotate(-10deg);
  	--vh: 100%;
}

html, body {
  height: 100%;
  margin: 0;
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

h1 {
	line-height: 0.85;
	margin-bottom: 0;
	margin-top: 0;
}

h2 {
	line-height: 0.85;
	margin-bottom: 0;
	margin-top: 0;
}

p {
	font-size: 48px;
	line-height: 1.1;
	margin-bottom: 0;
	margin-top: 0;
}

a {
	color: inherit;
}

@font-face {
	font-display: fallback;
	font-family: 'Panchang Bold';
	font-stretch: normal;
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/panchang-extrabold.woff2') format('truetype'),
}

@font-face {
	font-display: fallback;
	font-family: 'BeVietnam Pro';
	font-stretch: normal;
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/be-vietnam-pro-light.woff2') format('truetype'),
}

.slide {
	display: flex;
  	height: calc(var(--vh, 1vh) * 100);
	overflow: hidden;
	scroll-snap-align: start;
	position: sticky;
	top: 0;
}

.slide--stripes {
	background: linear-gradient(
    to right,
    var(--pink),
    var(--pink) 14.28%,
    var(--red) 14.28%,
	var(--red) 28.57%,
	var(--pink) 28.57%,
	var(--pink) 42.86%,
	var(--red) 42.86%,
	var(--red) 57.14%,
	var(--pink) 57.14%,
	var(--pink) 71.43%,
	var(--red) 71.43%,
	var(--red) 85.71%,
	var(--pink) 85.71%,
	var(--pink)
  );
}

.slide--gradient {
	background: url('../img/radial-stripes.svg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.slide--lime {
	background: var(--lime);
}

.slide--pink {
	background: var(--pink);
}

.slide--red {
	background: var(--red);
}

.slide__container {
	display: flex;
	max-height: 100%;
	padding: 30px;
	width: 100%;
}

@media(min-width: 720px) {
	.slide__container {
		padding: 45px;
	}
}

@media(min-width: 1200px) {
	.slide__container {
		padding: 60px;
	}
}

.slide__container--grid {
	display: flex;
	flex-direction: column;
	grid-row-gap: 40px;
}

@media(min-width: 1200px) {
	.slide__container--grid {
		display: grid;
		grid-column-gap: 40px;
		grid-row-gap: 0px;
		grid-template-columns: 2fr 3fr;
	}
}

@media(min-width: 1200px) {
	.slide__container {
		grid-column-gap: 40px;
	}
}

.slide__inner-container {
	display: flex;
	flex-direction: column;
	grid-row-gap: 20px;
	margin-bottom: auto;
	margin-top: auto;
	width: 100%;
}

@media(min-width: 720px) {
	.slide__inner-container {
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media(min-width: 1200px) {
	.slide__inner-container {
		max-width: 83.33%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media(min-width: 1600px) {
	.slide__inner-container {
		grid-row-gap: 40px;
	}
}

.slide__inner-container .slide__title,
.slide__inner-container .slide__subtitle,
.slide__inner-container .slide__text {
	text-align: center;
}

.slide__container-column--text {
	width: fit-content;
}

@media(min-width: 1600px) {
	.slide__container-column--text {
		max-width: 80%;
	}
}

.slide__image {
	margin-bottom: -30px;
	margin-top: auto;
	height: 100%;
	max-height: 350px;
	width: 100%;
	max-width: 100%;
	padding-top: 50px;
	object-position: left;
}

@media(min-width: 1200px) {
	.slide__image {
		bottom: 0;
		left: 40px;
		margin-bottom: 0;
		width: 35%;
		max-width: 35%;
		position: absolute;
		height: 60%;
		max-height: 60%;
	}
}

.slide--1 .slide__title {
	color: var(--lime);
	font-size: var(--accent);
	font-family: var(--yale);
	font-weight: 400;
	font-style: normal;
	-webkit-text-stroke: 0.01em var(--lime);
}

.slide--1 .slide__subtitle {
	color: var(--lime);
	font-size: var(--h1);
	font-family: var(--panchang);
	text-transform: uppercase;
}

.slide--1 .slide__text {
	color: var(--lime);
	font-size: var(--accent);
	font-family: var(--yale);
	font-weight: 400;
	font-style: normal;
	line-height: 0.75;
	-webkit-text-stroke: 0.01em var(--lime);
}

.slide--2 .slide__container {
	position: relative;
}

.slide--2 .slide__title {
	color: var(--red);
	font-family: var(--panchang);
	font-size: var(--h2);
	line-height: 0.95;
	position: relative;
	text-transform: uppercase;
	width: fit-content;
}

.slide--2 .slide__title hr {
	border: none;
}

.slide--2 .slide__title span {
	bottom: -0.1em;
	color: var(--red);
	display: inline-block;
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	position: absolute;
	text-transform: none;
	transform: var(--tilt);
	-webkit-text-stroke: 0.01em var(--red);
}

@media(min-width: 1200px) {
	.slide--2 .slide__container-column--text {
		margin-left: 20px;
		margin-top: auto;
	}
}

.slide--2 p {
	color: var(--red);
	font-family: var(--vietnam);
	font-size: var(--paragraph);
	margin-bottom: var(--paragraph-spacing);
}

.slide--2 p:last-child {
	margin-bottom: 0;
}

.slide--3 .slide__title {
	color: var(--lime);
	font-family: var(--panchang);
	font-size: var(--h1);
	line-height: 0.85;
}

.slide--4 .slide__title {
	color: var(--lime);
	font-family: var(--panchang);
	font-size: var(--h1);
	position: relative;
	text-transform: uppercase;
	line-height: 0.85;
}

.slide--4 .slide__title span {
	bottom: -1em;
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	margin-left: 20px;
	position: absolute;
	right: 40px;
	text-transform: none;
	transform: var(--steep-tilt);
	-webkit-text-stroke: 0.01em var(--lime);
}

@media(min-width: 1200px) {
	.slide--4 .slide__title span {
		bottom: unset;
		right: unset;
	}
}

@media(min-width: 1200px) {
	.slide--5 .slide__inner-container {
		max-width: 75%;
	}
}

.slide--5 .slide__text {
	color: var(--lime);
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	line-height: 0.75;
	-webkit-text-stroke: 0.01em var(--lime);
}

@media(min-width: 1200px) {
	.slide--6 .slide__inner-container {
		max-width: 50%;
	}
}

.slide--6 .slide__title {
	color: var(--lime);
	font-family: var(--panchang);
	font-size: var(--h2);
	line-height: 0.95;
	text-transform: uppercase;
}

.slide--7 {
	background-image: url('../img/star.svg');
	background-size: calc(100% - 40px) calc(100% - 40px);
	background-repeat: no-repeat;
	background-position: center;
}

@media(min-width: 720px) {
	.slide--7 {
		background-size: calc(100% - 80px) calc(100% - 80px);
	}
}

.slide--7 .slide__title {
	color: var(--lime);
	font-family: var(--panchang);
	font-size: var(--h1);
	text-transform: uppercase;
}

.slide--8 .slide__container {
	position: relative;
}

.slide--8 .slide__title {
	color: var(--red);
	font-family: var(--panchang);
	font-size: var(--h2);
	line-height: 0.95;
	text-transform: uppercase;
}

.slide--8 p {
	color: var(--red);
	font-family: var(--vietnam);
	font-size: var(--paragraph);
}

.slide--8 .slide__container-column--text {
	height: fit-content;
	position: relative;
}

@media(min-width: 1200px) {
	.slide--8 .slide__container-column--text {
		margin-bottom: auto;
		margin-top: auto;
	}
}

.slide--8 span {
	bottom: -60px;
	color: var(--red);
	font-family: var(--yale);
	font-size: var(--h2);
	font-weight: 400;
	line-height: 0.85;
	position: absolute;
	transform: var(--tilt);
	right: 0;
	-webkit-text-stroke: 0.01em var(--red);
}

@media(min-width: 720px) {
	.slide--8 span {
		bottom: -80px;
	}
}

.slide--9 {
	background-image: url('../img/double-heart.svg');
	background-size: calc(100% - 40px) calc(100% - 40px);
	background-repeat: no-repeat;
	background-position: center;
}

@media(min-width: 720px) {
	.slide--9 {
		background-size: calc(100% - 80px) calc(100% - 80px);
	}
}

.slide--9 .slide__title {
	color: var(--lime);
	font-family: var(--panchang);
	font-size: var(--h1);
	hyphenate-character: "";
	text-transform: uppercase;
}

.slide--10 .slide__container {
	position: relative;
}

.slide--10 .slide__title {
	color: var(--red);
	font-family: var(--panchang);
	font-size: var(--h2);
	line-height: 0.95;
	text-transform: uppercase;
}

.slide--10 .slide__container-column--text {
	height: fit-content;
}

@media(min-width: 1200px) {
	.slide--10 .slide__container-column--text {
		margin-bottom: auto;
		margin-top: auto;
	}
}

.slide--10 p {
	color: var(--red);
	font-family: var(--vietnam);
	font-size: var(--paragraph);
}

.slide--10 p:not(:last-child) {
	margin-bottom: var(--paragraph-spacing);
}

.slide--11 {
	background-image: url('../img/flower.svg');
	background-size: calc(100% - 80px) calc(100% - 80px);
	background-repeat: no-repeat;
	background-position: center;
}

.slide--11 .slide__title {
	color: var(--lime);
	font-family: var(--panchang);
	font-size: var(--h1);
	text-transform: uppercase;
}

.slide--12 .slide__container {
	position: relative;
}

.slide--12 .slide__title {
	color: var(--red);
	font-family: var(--panchang);
	font-size: var(--h2);
	line-height: 0.95;
	text-transform: uppercase;
}

.slide--12 .slide__container-column--text {
	height: fit-content;
	position: relative;
}


@media(min-width: 1200px) {
	.slide--12 .slide__container-column--text {
		margin-bottom: auto;
		margin-top: auto;
	}
}

.slide--12 .slide__container-column--text span {
	bottom: -60px;
	color: var(--red);
	font-family: var(--yale);
	font-size: var(--h2);
	font-weight: 400;
	position: absolute;
	right: 0;
	transform: var(--steep-tilt);
	-webkit-text-stroke: 0.01em var(--red);
}

@media(min-width: 720px) {
	.slide--12 .slide__container-column--text span {
		bottom: -80px;
	}
}

@media(min-width: 1200px) {
	.slide--12 .slide__container-column--text span {
		bottom: unset;
		top: -100px;
	}
}

.slide--12 p {
	color: var(--red);
	font-family: var(--vietnam);
	font-size: var(--paragraph);
}

.slide--13 .slide__container--heart {
	background-image: url('../img/green-heart.svg');
	background-size: calc(100% - 40px) calc(100% - 40px);
	background-repeat: no-repeat;
	background-position: center;
}

@media(min-width: 720px) {
	.slide--13 .slide__container--heart {
		background-size: calc(100% - 80px) calc(100% - 80px);
	}
}

.slide--13 .slide__inner-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 66.67%;
}

@media(min-width: 1200px) {
	.slide--13 .slide__inner-container {
		max-width: 50%;
	}
}

.slide--13 .slide__title {
	color: var(--red);
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	line-height: 0.7;
	transform: var(--steep-tilt) translateY(-20px);
	-webkit-text-stroke: 0.01em var(--red);
}

.slide--14 .slide__container {
	padding-left: 0;
	padding-right: 0;
}

.slide--14 .slide__inner-container {
	position: relative;
}

@media(min-width: 1200px) {
	.slide--14 .slide__inner-container {
		max-width: 100%;
	}
}

.slide--14 .slide__title {
	color: var(--red);
	font-family: var(--panchang);
	font-size: var(--h2);
	padding-left: 10px;
	padding-right: 10px;
	text-transform: uppercase;
}

@media(min-width: 720px) {
	.slide--14 .slide__title {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media(min-width: 720px) {
	.slide--14 .slide__title {
		padding-left: 20px;
		padding-right: 20px;
	}
}

.slide--14 .slide__title hr {
	border: none;
	background: var(--red);
	height: 2px;
	margin-left: -10px;
	margin-right: -10px;
}

@media(min-width: 720px) {
	.slide--14 .slide__title hr {
		height: 3px;
		margin-left: -15px;
		margin-right: -15px;
	}
}

@media(min-width: 1200px) {
	.slide--14 .slide__title hr {
		height: 4px;
		margin-left: -20px;
		margin-right: -20px;
	}
}

.slide--14 .slide__message {
	color: var(--lime);
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	line-height: 0.8;
	position: absolute;
	right: 40px;
	top: 40px;
	transform: var(--tilt);
	-webkit-text-stroke: 0.01em var(--lime);
}

@media(min-width: 1200px) {
	.slide--14 .slide__message {
		top: 0;
	}
}

.slide--14 .slide__message-button {
	border: 2px solid var(--lime);
	border-radius: 12px;
	color: var(--lime);
	display: block;
	font-family: var(--vietnam);
	font-size: var(--paragraph);
	line-height: initial;
	margin-left: auto;
	text-decoration: none;
	padding: 4px 16px;
	width: fit-content;
	-webkit-text-stroke: 0;
}

.slide--15 .slide__container {
	position: relative;
}

@media(min-width: 1200px) {
	.slide--15 .slide__inner-container {
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

.slide--15 .slide__title {
	color: var(--pink);
	font-family: var(--panchang);
	font-size: var(--h2);
	line-height: 0.95;
	text-transform: uppercase;
}

.slide--15 .slide__title span {
	color: var(--lime);
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	display: block;
	line-height: 0.8;
	text-transform: none;
	transform: var(--tilt);
	-webkit-text-stroke: 0.01em var(--lime);
}

.slide--15 .slide__decoration-note {
	bottom: 15%;
	color: var(--lime);
	font-family: var(--yale);
	font-size: var(--h2);
	display: none;
	position: absolute;
	right: 0;
	transform: var(--steep-tilt);
	-webkit-text-stroke: 0.01em var(--lime);
}

@media(min-width: 720px) {
	.slide--15 .slide__decoration-note {
		display: inline;
	}
}

@media(min-width: 1200px) {
	.slide--15 .slide__decoration-note {
		bottom: unset;
		top: 0;
	}
}

.slide--15 .slide__message-button {
	border: 2px solid var(--lime);
	border-radius: 12px;
	color: var(--lime);
	display: block;
	font-family: var(--vietnam);
	font-size: var(--paragraph);
	line-height: initial;
	margin-left: auto;
	text-decoration: none;
	padding: 4px 16px;
	width: fit-content;
	-webkit-text-stroke: 0;
}

.slide--16 .slide__container--heart {
	background-image: url('../img/red-heart.svg');
	background-size: calc(100% - 40px) calc(100% - 40px);
	background-repeat: no-repeat;
	background-position: center;
}

@media(min-width: 720px) {
	.slide--16 .slide__container--heart {
		background-size: calc(100% - 80px) calc(100% - 80px);
	}
}

.slide--16 .slide__container {
	position: relative;
}

.slide--16 .slide__inner-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 66.67%;
}

@media(min-width: 1200px) {
	.slide--16 .slide__inner-container {
		max-width: 50%;
	}
}

.slide--16 .slide__title {
	color: var(--lime);
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	line-height: 0.7;
	transform: var(--steep-tilt) translateY(-20px);
	-webkit-text-stroke: 0.01em var(--lime);
}

.slide--16 .slide__message {
	bottom: 0;
	color: var(--lime);
	font-family: var(--yale);
	font-size: var(--accent);
	font-weight: 400;
	position: absolute;
	right: 20px;
	transform: var(--steep-tilt) translateY(-10px);
	-webkit-text-stroke: 0.01em var(--lime);
}

@media(min-width: 720px) {
	.slide--16 .slide__message {
		right: 30px;
	}
}

@media(min-width: 1200px) {
	.slide--16 .slide__message {
		right: 40px;
	}
}

.slide--16 .slide__footer {
	bottom: 20px;
	color: var(--red);
	font-family: var(--vietnam);
	font-size: 11px;
	font-weight: 400;
	position: absolute;
	left: 20px;
}

@media(min-width: 720px) {
	.slide--16 .slide__footer {
		left: 30px;
	}
}

@media(min-width: 1200px) {
	.slide--16 .slide__footer {
		left: 40px;
	}
}