* {
	padding: 0;
	margin: 0;
	border: 0;
	box-sizing: border-box;
}

@font-face {
	font-family: "Satoshi";
	font-style: normal;
	src: url(fonts/Satoshi-Variable.ttf) format("truetype-variations");
	font-weight: 100 900;
}

@font-face{font-family:'LilGrotesk-Black';src:url(fonts/LilGrotesk-Black.ttf)format("truetype");font-weight:700;}

@font-face{font-family:'LilGrotesk-Medium';src:url(fonts/LilGrotesk-Medium.ttf)format("truetype");}

:root {
	--background: #ffeadb;

	--pink-light: #ffb6ae;
	--pink-medium: #ffa99f;
	--pink-dark: #ff978c;

	--orange-light: #ffae94;
	--orange-medium: #ffa184;
	--orange-dark: #ff9473;

	--button-color: var(--orange-light);
	--button-hover: var(--orange-medium);
	--button-active: var(--orange-dark);
}

html {
	background: #e6d1c4;
}

body {
	background: #ffeadb;
}

.pink {
	--main-col: var(--pink-medium);
	--accent-light: var(--pink-light);
	--accent-dark: var(--pink-dark);
	--mid-curve-top: url("media/med_light_curve_pink.svg");
	--mid-curve-bot: url("media/light_dark_curve_pink.svg");
	--hero-image-bg: #ffd7c5;
	--button-color: var(--orange-light);
	--button-hover: var(--orange-medium);
	--button-active: var(--orange-dark);
	--title-underline-color: #ffd1be;
}

.orange {
	--main-col: var(--orange-medium);
	--accent-light: var(--orange-light);
	--accent-dark: var(--orange-dark);
	--mid-curve-top: url("media/med_light_curve_orange.svg");
	--mid-curve-bot: url("media/light_dark_curve_orange.svg");
	--hero-image-bg: #ffdacc;
	--button-color: var(--pink-light);
	--button-hover: var(--pink-medium);
	--button-active: var(--pink-dark);
	--title-underline-color: #ffd4c7;
}

.section_content {
	max-width: 1080px;
	margin: auto;
	padding: 16px;
}

.box {
	background: #ffeadb;
	height: 300px;
	border-radius: 32px;
	box-shadow: 0px 10px 20px -6px #00000029;
	overflow: hidden;
  	display: flex;
    flex-wrap: wrap;
    margin-bottom: 32px;
    text-decoration: none;
}

.box:hover {
	filter: brightness(97%);
}

.hero_image {
	width: 46%;
	background: var(--hero-image-bg);
	text-align: center;
	overflow: hidden;
	position: relative;
 	height: 308px;
 	padding: 16px 16px 0 16px;
}

.hero_mask {
	height: 100%;
	position: absolute;
 	right: 0;
  	top: 0;
  	content: url('media/curve.svg');
}

.text_box {
	color: #33201b;
  	padding: 24px;
  	width: 54%;
	display: flex;
	align-items: end;
	flex-flow: wrap;
	height: 100%;
}

.text_box_content {
}

p {
	font-family: Satoshi;
	font-size: 1.2rem;
	font-weight: 440;
}


.text_box_content p {
	width: 85%;
}

h2 {
	font-family: LilGrotesk-Black;
	font-size: 40px;
	color: #291816;
}

.section_title {
	width: 100%;
	text-align: center;
	position: relative;
	top: 6vw;
}

.section_title h2{
	position: relative;
  	z-index: 1;
}

.section_title img {
	position: relative;
  top: -24px;
  width: 240px;
  left: 21px;
}

h3 {
	font-family: LilGrotesk-Black;
	font-size: 36px;
}

.title {
	width: fit-content;
}

.title h3 {
	position: relative;
	z-index: 1;
}

.title hr {
	background: var(--title-underline-color);
  position: relative;
  top: -18px;
  left: 12px;
  min-width: 150px;
  height: 1.15em;
}

.button {
	font-family: Satoshi;
	font-size: 1.12rem;
	font-weight: 475;
	display: block;
	width: fit-content;
	padding: 10px 28px;
	border-radius: 24px;
	text-decoration: none;
	color: black;
	background: var(--button-color);
}

.more {
	margin-left: auto;
}

.button:hover {
	background: var(--button-hover);
}

.button:active {
	background: var(--button-active);
}

.section {
	background: no-repeat center 50%/100% var(--mid-curve-top),linear-gradient(to bottom, var(--main-col) 50%, var(--accent-light) 50%);
	margin: 16px 0 32px;

}

.section_header, .section_footer {
	background: #ffeadb;
	display: flex;
	flex-flow: wrap;
}

.section_footer img {
	transform: scale(-1, -1);
	background: var(--accent-light);
}

.header_curve {
	width: 100%;
}

.section_curve {
	width: 100%;
	background: var(--main-col);
}

/*.information {
	padding: 16px;
	margin: 16px auto;
	display: flex;
	flex-flow: wrap;
  	max-width: 1280px;
  	justify-content: space-around;
}

.information_content {
	width: 50%;
	padding-top: 12px;
	padding-inline: 30px;
}

.information_content p {
	margin: 0 0 12px;
}

.information img {
	max-width: 480px;
	border-radius: 18px;
 	height: 100%;
}

.information_title {
	width: fit-content;
	margin-left: 20px;
	margin:0 0 4px 20px;
}

.information_title h2 {
	font-size: 48px;
	position: relative;
  	z-index: 1;
}

.information_title hr {
	background: #e6d1c4;
  	position: relative;
  	top: -26px;
  	left: -16px;
  	min-width: 150px;
  	height: 1.5em;
}*/

dt {
	font-family: Satoshi;
	font-size: 1.3rem;
	font-weight: 900;
}

dd {
	font-family: Satoshi;
	font-size: 1.2rem;
  	font-weight: 400;
	padding-left: 25%;
	margin: 4px 0;
}

dl hr {
	background: #bfa99d;
  	height: 1px;
  	margin: 24px 0;
 }

header div {
	background: #21150f;
  color: var(--background);
}

.header_title {
	max-width: 1080px;
	padding: 32px 16px 0;
	margin: auto;
}

.header_title > * {
	margin-top: 24px;
}

.back_button {
	text-decoration: none;
	color: var(--background);
	font-family: Satoshi;
	font-weight: 600;
	font-size: 1.2rem;
	padding: 9px 18px;
	border-radius: 18px;
}

.back_button:hover {
  background: var(--background);
  color: black;
}

.header_title h1 {
	/*font-size: 4.3rem;*/
  font-family: Satoshi;
  font-weight: 900;
  --minFontSize: 3rem;
  --maxFontSize: 4.3rem;
  --scaler: 10vw;
  font-size: clamp( var(--minFontSize), var(--scaler), var(--maxFontSize));
  margin-top:16px;
}

 .year {
 	background: var(--background);
	color: #21150f;
	width: fit-content;
	padding: 8px 24px;
	border-radius: 16px;
	font-size: 1.3rem;
	font-weight: 750;
}

.homepage {
	margin-bottom:32px;
}

.homepage .dual_pane {
	margin: 0 auto 32px;
}

.homepage_background {
	height: 85vh;
	overflow: hidden;
	display: grid;
}

.dual_pane span {
	font-family: LilGrotesk-Black;
	font-size: 48px;
	color: #734a3a;
	display: block;
}

.header_img {
	width: 100%;
	position: relative;
	margin-top: -13%;
	z-index: -1;
}

.dual_pane {
	padding: 16px;
	margin: 16px auto;
	display: flex;
	flex-flow: wrap;
  	max-width: 1280px;
  	justify-content: space-around;
}

.dual_pane_content {
	width: 50%;
	padding-top: 12px;
	padding-inline: 30px;
}

.page_section .dual_pane_content {
	padding-top: 24px;
	padding-inline: 56px;
}

.dual_pane_content p {
	margin: 0 0 12px;
}

.dual_pane .button {
		margin-top: 48px;
	}

.dual_pane img {
	max-width: 480px;
	border-radius: 18px;
 	height: 100%;
}

.page_section img{
	max-width: none;
	width: 50%;
	max-height: 480px;
  	object-fit: cover;
  object-position: top;
}
}

.dual_pane_title {
	width: fit-content;
	margin-left: 20px;
	margin:0 0 4px 20px;
}

.dual_pane_title h2 {
	font-size: 48px;
	position: relative;
  	z-index: 1;
}

.dual_pane_title hr {
	background: #e6d1c4;
  	position: relative;
  	top: -26px;
  	left: -16px;
  	min-width: 150px;
  	height: 1.5em;
  	width: 45%;
}

a:not(.box):not(.back_button):not(.button) {
	color: black;
	padding: 1px 8px 4px;
  	margin: -1px -8px -4px;
  	border-radius: 6px;
}

a:hover:not(.box):not(.back_button):not(.button) {
	color: #ffeadb;
	background: #000;
}

.section_divider {
	height: 1px;
	background: #bfa99d;
	margin: 32px auto;
	width: 75%
}

.gallery img {
	width: 100%;
  	border-radius: 25px;
  	box-shadow: 0px 10px 20px -6px #00000029;
  	margin: 16px auto;
}










@media (max-width: 800px) {

	p {
		font-size: large;
	}

	.header_title {
		row-gap: 18px;
	}
	.header_title h1 {
		/*font-size: 3rem;*/
	}

	.year {font-size: 1.3rem}
	.header_title p {
		font-size: 1.15rem;
	}
	.section {
	background: no-repeat center 33%/100% var(--mid-curve-top), no-repeat center 66%/100% var(--mid-curve-bot), linear-gradient(to bottom, var(--main-col) 33%, var(--accent-light) 33%, var(--accent-light) 66%, var(--accent-dark) 66%);
}

	.section_footer img {
	background: var(--accent-dark);
}


  .hero_image, .text_box, .dual_pane_content, .dual_pane img{
  	width: 100%;
  	padding-inline:0;
  }

  .text_box {
  	padding: 8px 24px 24px 24px;
  }

  .box {
  	height: fit-content;
  }

  .hero_mask {
  	content: url('media/curve_mobile.svg');
	height: initial;
	width: 100%;
	position: absolute;
 	bottom: 0;
 	top: auto;
}
	.title {
		margin-top:6px;
	}
	.title h3 {
		font-size: 32px;
	}

	.text_box_content p {
		font-size: 1.12rem;
  		width: 100%;
  		margin: 0px 0 16px;
	}

	.dual_pane {
		padding-inline: 6%;
	}

	.dual_pane_title h2 {
		font-size: 40px;
	}

	.dual_pane_title hr {
		left:-8px;
		margin-bottom:-12px;
	}

	.dual_pane .button {
		margin-top: 24px;
	}

	dt {
		font-size: 1.2rem;
	}

	dd {
		font-size: large;
		padding-left: 15%;
	}
}