@font-face {
	font-family: "vermigo-script";
	src: url("../fonts/Virmigo Script/Virmigo Script/Web Fonts/Virmigo Script.woff2")
			format("woff2"),
		url("../fonts/Virmigo Script/Virmigo Script/Web Fonts/Virmigo Script.woff")
			format("woff");
	font-display: auto;
	font-style: italic;
	font-weight: 400;
}

:root {
	--color-coral: #f15d5d;
	--color-dark-gray: #231f20;
	--color-navy: #052460;
	--color-teal: #00a69c;
}

html {
	color: var(--color-dark-gray);

	font-size: 150%;
	line-height: 1.5;
	font-family: "freight-macro-pro", serif;
	font-weight: 400;
	font-style: normal;
}

@media screen and (max-width: 50em) {
	html {
		font-size: 120%;
	}
}

body {
	margin: 0;

	box-sizing: border-box;
}

p {
	margin-bottom: 1rem;
}

a:link:not([class]),
a:visited:not([class]) {
	color: #052460;
	color: var(--color-link);
}

a:hover:not([class]),
a:focus:not([class]) {
	color: #231f20;
	color: var(--color-link-hover);
}

h1,
h2,
h3,
h4,
h5 {
	margin: 3rem 0 1.38rem;
	font-family: "freight-macro-pro", sans-serif;
	font-weight: 400;
	line-height: 1.3;
}

h1 {
	margin-top: 0;

	font-size: 3.052rem;
	line-height: 1;
}

h2 {
	font-size: 2.441rem;
	font-weight: 700;
	font-style: italic;
	letter-spacing: 0.05em;

	color: var(--color-navy);
}

h3 {
	font-size: 1.953rem;
	font-weight: 700;
	font-style: italic;
	letter-spacing: 0.05em;
}

h4 {
	font-size: 1.563rem;
}

h5 {
	font-size: 1.25rem;
}

small,
.text_small {
	font-size: 0.8rem;
}

.home-header {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	position: relative;

	background-image: linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0.9),
			rgba(255, 255, 255, 0.7) 20%,
			transparent 40%,
			transparent 75%,
			rgba(0, 0, 0, 0.8)
		),
		url("../img/woods-walking.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.home-header__wordmark {
	display: block;
	max-width: 32rem;
	margin: 0 auto;
}

.home-header__monogram {
	position: relative;
	bottom: calc(0.5rem + env(safe-area-inset-bottom));

	width: 8em;
}

.home-header__monogram path {
	fill: #fff;
}

.backpage-header {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;

	background-image: linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0.1),
			rgba(255, 255, 255, 0.6)
		),
		linear-gradient(
			to right,
			rgba(255, 255, 255, 0.9),
			rgba(255, 255, 255, 0.01) 20%,
			rgba(255, 255, 255, 0.01) 80%,
			rgba(255, 255, 255, 0.9)
		),
		url("../img/woods-walking.jpg");
	background-size: 110%;
	background-repeat: no-repeat;
	background-position: 83% 42%;
}

.backpage-header__monogram {
	max-width: 15%;
}

.backpage-header__monogram path {
	fill: var(--color-navy);
}

.navigation {
	background-color: #fff;
}

@media screen and (min-width: 48em) {
	.navigation {
		position: sticky;
		top: 0;

		padding: 0.5rem 0;

		box-shadow: 0 0.9em 0.5em white;
	}
}

.navigation__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;

	list-style-type: none;
}

@media screen and (min-width: 48em) {
	.navigation__list {
		margin: 0;
		padding: 0;
	}
}

.navigation__link {
	flex-shrink: 0;
	border-radius: 0.25rem;
	padding: 0.25rem;

	color: var(--color-navy);

	text-decoration: none;
	font-weight: bold;

	transition: all 0.2s ease-out;
}

.navigation__link--rsvp {
	color: white;
	background-color: var(--color-navy);

	font-weight: bold;
}

.navigation__link:hover,
.navigation__link:focus {
	color: white;
	background-color: var(--color-teal);
}

.navigation__link[aria-current="page"] {
	color: white;
	background-color: var(--color-coral);
}

.invitation {
	margin: 0 auto;
	padding: 4rem 0;

	background-image: linear-gradient(
			to top,
			rgba(255, 255, 255, 0.95),
			rgba(255, 255, 255, 0.95)
		),
		url("../img/saltShaker.svg"), url("../img/pepperShaker.svg");
	background-size: 100%, 25rem, 25rem;
	background-position: left top, -12.5rem 50%, calc(100% + 12.5rem) 50%;
	background-attachment: fixed;
	background-repeat: no-repeat;

	font-size: 1.5rem;
	font-style: italic;
	text-align: center;
}

@media screen and (max-width: 35em) {
	.invitation {
		font-size: 1.2rem;
	}
}

.invitation__statement {
	max-width: 22rem;
	margin: 0 auto;
}

.invitation__name {
	display: block;

	color: var(--color-teal);

	font-size: 1.25em;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.invitation__first-name {
	display: block;
	margin-bottom: -0.85rem;

	color: var(--color-coral);

	font-size: 3.5em;
	line-height: 0.75;
	font-family: "vermigo-script", cursive;
	font-style: italic;
	letter-spacing: normal;
	text-transform: lowercase;
}

.invitation__first-name--rachel {
	margin-bottom: -1.8rem;
}

.invitation__and {
	font-size: 1.25em;
	font-family: "vermigo-script", cursive;
	letter-spacing: normal;
}

.invitation__month {
	display: block;

	font-size: 3.5em;
	line-height: 1;
	font-family: "vermigo-script", cursive;
	letter-spacing: normal;
	text-transform: lowercase;
}

.invitation__date {
	display: block;

	font-size: 1.75em;
	line-height: 1;
	font-style: normal;
	text-transform: uppercase;
}

.invitation__year {
	display: block;
	margin-left: 2ch;

	font-size: 1.75em;
	line-height: 1;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 2ch;
}

.invitation__venue {
	display: block;

	color: var(--color-coral);

	font-size: 2em;
	line-height: 1;
	font-family: "vermigo-script", cursive;
	letter-spacing: normal;
	text-transform: lowercase;
}

.content-block {
	margin: 0 auto;

	background-image: linear-gradient(
			to top,
			rgba(255, 255, 255, 0.95),
			rgba(255, 255, 255, 0.95)
		),
		url("../img/saltShaker.svg"), url("../img/pepperShaker.svg");
	background-size: 100%, 25rem, 25rem;
	background-position: left top, -12.5rem 50%, calc(100% + 12.5rem) 50%;
	background-attachment: fixed;
	background-repeat: no-repeat;
}

.content-block__wrapper {
	max-width: 65ch;
	margin: 0 auto;
	padding: 1.5rem;
}

.our-story {
	background-image: linear-gradient(
			to top,
			rgba(255, 255, 255, 0.95),
			rgba(255, 255, 255, 0.95)
		),
		url("../img/flaminger-r.svg"), url("../img/flaminger.svg");
	background-size: 100%, 22rem, 22rem;
	background-position: left top, -8.5rem 50%, calc(100% + 8.5rem) 50%;
	background-attachment: fixed;
	background-repeat: no-repeat;
}

.button-container {
	display: flex;
	margin-bottom: 1rem;

	font-style: normal;
}

.button-container--registry,
.button-container--rsvp {
	justify-content: center;
}

.button {
	border: 2px solid transparent;
	border-radius: 0.25rem;
	padding: 0.25rem 0.5rem;

	color: white;
	background-color: var(--color-navy);

	text-decoration: none;

	transition: all 0.2s ease-out;
}

.button:hover,
.button:focus {
	border-color: var(--color-navy);

	color: var(--color-navy);
	background-color: white;
}

.vendors {
	padding: 3rem 0;

	color: var(--color-navy);
	background-color: var(--color-coral);
}

.vendors__heading {
	margin-top: 0;
}

.vendors__list {
	padding-left: 0;
}

.footer {
	padding: 3rem 0;

	color: white;
	background-color: var(--color-navy);
}

.footer__wrapper {
	max-width: 65ch;
	margin: 0 auto;
	padding: 1.5rem;
}