/**
 * Custom Footer Styles
 */

.site-footer {
	color: #FAF6F0;
}

/* -------------------------------------------------------------------------
   Stripe bar
   ------------------------------------------------------------------------- */

.footer-stripe {
	background-image: url(../images/purple-striped-bar.svg);
	background-position: center;
	background-repeat: repeat-x;
	background-size: auto 20px;
	height: 20px;
	width: 100%;
}

.footer-stripe img {
	display: none;
}

/* -------------------------------------------------------------------------
   Main footer
   ------------------------------------------------------------------------- */

.footer-main {
	background-color: #844367;
	padding: 83px 0 86px;
}

.footer-main__inner {
	align-items: start;
	box-sizing: border-box;
	display: grid;
	gap: 178px;
	grid-template-columns: minmax(180px, 300px) 1fr;
	margin: 0 auto;
	max-width: 1262px;
	padding: 0 0 0 6px;
	width: 98%;
}

.footer-brand {
	justify-self: start;
}

.footer-brand a {
	display: block;
	line-height: 0;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer-brand a:hover,
.footer-brand a:focus {
	opacity: 0.85;
}

.footer-brand a:focus-visible {
	outline: 2px solid #FAF6F0;
	outline-offset: 4px;
}

.footer-brand__stamp {
	display: block;
	height: auto;
	max-width: none;
	width: 300px;
}

.footer-nav-columns {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr)) 250px;
	padding-top: 16px;
}

.footer-nav-column {
	min-width: 0;
}

/* -------------------------------------------------------------------------
   Footer menus
   ------------------------------------------------------------------------- */

.footer-menu,
.footer-credits-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu li,
.footer-credits-menu li {
	margin: 0;
}

.footer-menu a,
.footer-credits-menu a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer-menu a:hover,
.footer-menu a:focus,
.footer-credits-menu a:hover,
.footer-credits-menu a:focus {
	opacity: 0.8;
	text-decoration: none;
}

.footer-menu a:focus-visible,
.footer-credits-menu a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.footer-menu__title,
.footer-subscribe__heading {
	color: inherit;
	font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
	font-size: var(--wp--preset--font-size--13, 0.8125rem);
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0 0 0.875rem;
	text-transform: uppercase;
}

.footer-menu__toggle {
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	margin: 0;
	padding: 0;
	text-align: left;
	text-transform: inherit;
}

.footer-menu__chevron,
.footer-mobile-shortcut {
	display: none;
}

.footer-subscribe__heading {
	margin-bottom: 25px;
}

.footer-menu > .menu-item {
	margin-top: 0.5rem;
}

.footer-menu > .menu-item:first-child {
	margin-top: 0;
}

.footer-menu > .menu-item > a {
	display: block;
	font-family: 'La Roue', var(--wp--preset--font-family--la-roue, Georgia, serif);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
}

/* -------------------------------------------------------------------------
   Subscribe column
   ------------------------------------------------------------------------- */

.footer-subscribe {
	width: 250px;
}

.footer-subscribe .wpforms-container {
	margin: 0 !important;
}

.footer-subscribe .wpforms-form {
	margin: 0;
}

.footer-subscribe .wpforms-field-container {
	margin: 0;
	padding: 0;
}

.footer-subscribe .wpforms-field {
	margin: 0 0 0.75rem;
	padding: 0;
}

.footer-subscribe .wpforms-field-label,
.footer-subscribe .wpforms-field-label.wpforms-label-hide {
	clip: auto !important;
	color: #FAF6F0;
	display: block;
	font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
	font-size: var(--wp--preset--font-size--16, 1rem);
	font-weight: 400;
	height: auto !important;
	line-height: 1.4;
	margin: 0 0 0.5rem !important;
	overflow: visible !important;
	position: static !important;
	white-space: normal;
	width: auto !important;
}

.footer-subscribe .wpforms-required-label {
	color: #FAF6F0;
}

.footer-subscribe input[type="email"],
.footer-subscribe input[type="text"] {
	background: transparent;
	border: 1px solid #FAF6F0;
	border-radius: 0;
	box-sizing: border-box;
	color: #FAF6F0;
	font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
	font-size: var(--wp--preset--font-size--16, 1rem);
	height: auto;
	padding: 0.625rem 0.75rem;
	width: 100%;
}

.footer-subscribe .wpforms-field-medium {
	max-width: none;
}

.footer-subscribe input[type="email"]::placeholder,
.footer-subscribe input[type="text"]::placeholder {
	color: rgba(250, 246, 240, 0.7);
	opacity: 1;
}

.footer-subscribe input[type="email"]:focus,
.footer-subscribe input[type="text"]:focus {
	border-color: #FAF6F0;
	box-shadow: none;
	outline: 2px solid #FAF6F0;
	outline-offset: 2px;
}

.footer-subscribe .wpforms-submit-container {
	margin: 0;
	padding: 0;
}

.footer-subscribe button[type="submit"],
.footer-subscribe input[type="submit"] {
	background-color: #EBDAC6 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #844367 !important;
	cursor: pointer;
	display: block;
	font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
	font-size: var(--wp--preset--font-size--13, 0.8125rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0.75rem 1rem !important;
	text-transform: uppercase;
	transition: opacity 0.2s ease;
	width: 100%;
}

.footer-subscribe button[type="submit"]:hover,
.footer-subscribe button[type="submit"]:focus,
.footer-subscribe input[type="submit"]:hover,
.footer-subscribe input[type="submit"]:focus {
	opacity: 0.9;
}

.footer-subscribe .wpforms-confirmation-container {
	color: #FAF6F0;
	font-size: var(--wp--preset--font-size--14, 0.875rem);
	margin-top: 0.5rem;
}

/* -------------------------------------------------------------------------
   Credit bar
   ------------------------------------------------------------------------- */

.footer-credits {
	background-color: #EBDAC6;
	color: #844367;
	padding: 8px 0;
}

.footer-credits__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1306px;
	padding: 0;
	position: relative;
	width: 98%;
}

.footer-credits__legal {
	display: contents;
}

.footer-credits__nav {
	flex: 1 1 auto;
}

.footer-credits-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.footer-credits-menu a {
	font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
	font-size: var(--wp--preset--font-size--14, 0.875rem);
	font-weight: 400;
}

.footer-credits__copyright {
	flex: 0 1 auto;
	font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
	font-size: var(--wp--preset--font-size--14, 0.875rem);
	left: 50%;
	margin: 0;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
}

.footer-credits__site-credit {
	flex: 0 1 auto;
	font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
	font-size: var(--wp--preset--font-size--14, 0.875rem);
	margin: 0;
	text-align: center;
}

.footer-credits__site-credit a {
	color: inherit;
	text-decoration: none;
}

.footer-credits__site-credit a:hover,
.footer-credits__site-credit a:focus {
	opacity: 0.8;
	text-decoration: underline;
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */

@media (max-width: 1025px) {
	.footer-main {
		padding: 47px 0 0;
	}

	.footer-main__inner {
		gap: 77px;
		grid-template-columns: 1fr;
		padding: 0;
		width: 100%;
	}

	.footer-brand {
		justify-self: center;
	}

	.footer-brand__stamp {
		max-width: calc(100vw - 4rem);
		width: 300px;
	}

	.footer-nav-columns {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding-top: 0;
		width: 100%;
	}

	.footer-nav-column {
		border-top: 1px solid rgba(250, 246, 240, 0.18);
		width: 100%;
	}

	.footer-menu__title {
		margin: 0;
	}

	.footer-menu__toggle,
	.footer-mobile-shortcut {
		align-items: center;
		box-sizing: border-box;
		color: #fff;
		display: flex;
		font-family: var(--wp--preset--font-family--source-sans-3, "Source Sans 3", sans-serif);
		font-size: 18px;
		font-weight: 700;
		height: 80px;
		justify-content: space-between;
		letter-spacing: 0.12em;
		padding: 0 2%;
		text-decoration: none;
		text-transform: uppercase;
		width: 100%;
	}

	.footer-menu__toggle:focus-visible,
	.footer-mobile-shortcut:focus-visible {
		outline: 2px solid #fff;
		outline-offset: -6px;
	}

	.footer-menu__chevron {
		border-bottom: 1px solid currentColor;
		border-right: 1px solid currentColor;
		display: block;
		height: 11px;
		margin-right: 3px;
		transform: rotate(45deg) translateY(-3px);
		transition: transform 0.2s ease;
		width: 11px;
	}

	.footer-menu__toggle[aria-expanded="true"] .footer-menu__chevron {
		transform: rotate(225deg) translate(-2px, -2px);
	}

	.footer-mobile-shortcut {
		border-top: 1px solid rgba(250, 246, 240, 0.18);
		flex: 0 0 80px;
	}

	.footer-menu {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.25s ease;
	}

	.footer-menu > .menu-item {
		margin: 0;
	}

	.footer-menu > .menu-item > a {
		box-sizing: border-box;
		color: #fff;
		font-family: var(--wp--preset--font-family--la-roue, "La Roue", Georgia, serif);
		font-size: 20px;
		padding: 10px 4%;
	}

	.footer-nav-column--footer-2 .footer-menu > .menu-item:first-child {
		display: none;
	}

	.footer-subscribe {
		border-bottom: 0;
		box-sizing: border-box;
		padding: 61px clamp(2rem, 9.4vw, 6rem) 55px;
		width: auto;
	}

	.footer-subscribe__heading {
		font-size: 18px;
		margin-bottom: 21px;
	}

	.footer-subscribe .wpforms-form {
		align-items: end;
		display: grid;
		gap: 10px;
		grid-template-columns: minmax(0, 1fr) 121px;
	}

	.footer-subscribe .wpforms-field {
		margin-bottom: 0;
	}

	.footer-subscribe .wpforms-field-container {
		min-width: 0;
	}

	.footer-subscribe input[type="email"],
	.footer-subscribe input[type="text"] {
		font-size: 18px;
		height: 59px;
		padding: 0 24px;
	}

	.footer-subscribe .wpforms-submit-container {
		align-self: end;
	}

	.footer-subscribe button[type="submit"],
	.footer-subscribe input[type="submit"] {
		height: 59px;
		padding: 0.75rem 1rem !important;
	}

	.footer-credits {
		padding: 20px 1.5rem 20px;
	}

	.footer-credits__inner {
		align-items: center;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	.footer-credits__legal {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		gap: 0.35rem 0.75rem;
		justify-content: center;
	}

	.footer-credits__nav,
	.footer-credits__copyright,
	.footer-credits__site-credit {
		display: block;
	}

	.footer-credits__nav {
		flex: 0 0 auto;
	}

	.footer-credits-menu {
		align-items: center;
		gap: 0.35rem 0.75rem;
		justify-content: center;
	}

	.footer-credits-menu > .menu-item {
		align-items: center;
		display: inline-flex;
		gap: 0.75rem;
	}

	.footer-credits__copyright {
		align-items: center;
		display: inline-flex;
		flex: 0 0 auto;
		gap: 0.75rem;
		left: auto;
		position: static;
		transform: none;
	}

	.footer-credits__copyright::after,
	.footer-credits-menu > .menu-item:not(:last-child)::after {
		content: "|";
	}

	.footer-credits__site-credit {
		flex: 0 0 auto;
	}
}

@media (max-width: 640px) {
	.footer-subscribe .wpforms-form {
		grid-template-columns: minmax(0, 1fr) minmax(96px, 121px);
	}
}

@media (max-width: 600px) {
	.footer-menu__toggle,
	.footer-mobile-shortcut {
		font-size: 16px;
		padding: 0 4%;
	}
}

@media (max-width: 500px) {
	.footer-credits {
		padding: 20px 0.5rem;
	}

	.footer-subscribe {
		padding: 40px 4%;
	}
}
